From b3d69492524f482c76ea512888ef2fbc1412a3c0 Mon Sep 17 00:00:00 2001
From: mage2-team <mage2-team@magento.com>
Date: Fri, 22 Nov 2013 10:29:33 -0800
Subject: [PATCH] 2.0.0.0-dev53 * Moved general action-related functionality to
 \Magento\App\Action\Action in the library. Removed
 Magento\Core\Controller\Varien\Action and related logic from the Magento_Core
 module * Moved view-related methods from action interface to
 \Magento\App\ViewInterface with corresponding implementation * Moved redirect
 creation logic from the action interface to
 \Magento\App\Response\RedirectInterface * Moved Magento\Core common blocks to
 the library * Added reading of etc/integration/config.xml and
 etc/integration/api.xml files for API Integrations * Various improvements:  
 * Email-related logic from the Core and Adminhtml modules consolidated in the
 new Email module * GitHub requests:   *
 [#238](https://github.com/magento/magento2/pull/238) -- Improve escaping HTML
 entities in URL   * [#199](https://github.com/magento/magento2/pull/199) --
 Replaced function calls to array_push with adding the elements directly   *
 [#182](https://github.com/magento/magento2/pull/182) -- By default use
 collection _idFieldName for toOption* methods.   *
 [#233](https://github.com/magento/magento2/pull/233) -- Google Rich Snippet
 Code   * [#339](https://github.com/magento/magento2/pull/339) -- Correcting
 'cahce' typo in documentation.   *
 [#232](https://github.com/magento/magento2/pull/232) -- Update
 app/code/core/Mage/Checkout/controllers/CartController.php (fix issue #27632)
 * Fixed bugs:   * Fixed JavaScript error when printing orders from the
 frontend   * Fixed Captcha problems on various forms when Captcha is enabled
 on the frontend   * Fixed "Page not found" on category page if setting "Add
 Store Code to Urls" to "Yes" in the backend config   * Fixed Fatal error when
 creating shipping label for returns

---
 CHANGELOG.md                                  |    24 +-
 .../Block/Grid/Renderer/Actions.php           |     2 +-
 .../Block/System/Messages.php                 |    24 +-
 .../System/Messages/UnreadMessagePopup.php    |    24 +-
 .../AdminNotification/Block/ToolbarEntry.php  |    24 +-
 .../AdminNotification/Block/Window.php        |    28 +-
 .../Controller/Adminhtml/Notification.php     |    15 +-
 .../Controller/Adminhtml/Survey.php           |     2 +-
 .../Controller/Adminhtml/System/Message.php   |     2 +-
 .../Magento/AdminNotification/Helper/Data.php |     4 +-
 .../Magento/AdminNotification/Model/Feed.php  |    16 +-
 .../Adminhtml/Block/Backup/Dialogs.php        |     2 +-
 app/code/Magento/Adminhtml/Block/Denied.php   |    24 +-
 .../Magento/Adminhtml/Block/Html/Date.php     |     2 +-
 .../Magento/Adminhtml/Block/Html/Select.php   |     2 +-
 .../Adminhtml/Block/Media/Uploader.php        |    32 +-
 app/code/Magento/Adminhtml/Block/Messages.php |     2 +-
 .../Adminhtml/Block/Newsletter/Problem.php    |    24 +-
 .../Adminhtml/Block/Newsletter/Queue/Edit.php |    28 +-
 .../Block/Newsletter/Queue/Edit/Form.php      |    40 +-
 .../Block/Newsletter/Queue/Preview.php        |    32 +-
 .../Adminhtml/Block/Newsletter/Subscriber.php |    24 +-
 .../Block/Newsletter/Subscriber/Grid.php      |    30 +-
 .../Subscriber/Grid/Filter/Website.php        |    30 +-
 .../Block/Newsletter/Template/Edit.php        |    28 +-
 .../Block/Newsletter/Template/Edit/Form.php   |    32 +-
 .../Block/Newsletter/Template/Grid.php        |    30 +-
 .../Block/Newsletter/Template/Preview.php     |    28 +-
 app/code/Magento/Adminhtml/Block/Page.php     |    27 +-
 .../Magento/Adminhtml/Block/Page/Head.php     |    52 +-
 .../Magento/Adminhtml/Block/Page/Header.php   |    28 +-
 .../Block/Page/System/Config/Robots/Reset.php |    26 +-
 .../Report/Config/Form/Field/YtdStart.php     |    25 -
 .../Block/Report/Grid/AbstractGrid.php        |    38 +-
 .../Block/Report/Product/Downloads/Grid.php   |    30 +-
 .../Adminhtml/Block/Report/Product/Grid.php   |    30 +-
 .../Block/Report/Product/Lowstock/Grid.php    |    30 +-
 .../Adminhtml/Block/Report/Review/Detail.php  |    24 +-
 .../Block/Report/Review/Detail/Grid.php       |    30 +-
 .../Adminhtml/Block/Report/Sales/Tax/Grid.php |    44 +-
 .../Block/Report/Shopcart/Abandoned/Grid.php  |    30 +-
 .../Block/Report/Shopcart/Customer/Grid.php   |    30 +-
 .../Block/Report/Shopcart/Product/Grid.php    |    30 +-
 .../Adminhtml/Block/Report/Wishlist.php       |    24 +-
 .../Adminhtml/Block/Report/Wishlist/Grid.php  |    30 +-
 .../Adminhtml/Block/Review/Add/Form.php       |    36 +-
 .../Magento/Adminhtml/Block/Review/Edit.php   |    32 +-
 .../Adminhtml/Block/Review/Edit/Form.php      |    44 +-
 .../Magento/Adminhtml/Block/Review/Grid.php   |    46 +-
 .../Magento/Adminhtml/Block/Review/Main.php   |    32 +-
 .../Adminhtml/Block/Review/Product/Grid.php   |    33 +-
 .../Block/Review/Rating/Detailed.php          |    32 +-
 .../Adminhtml/Block/Review/Rating/Summary.php |    32 +-
 .../Block/Shipping/Carrier/Tablerate/Grid.php |    34 +-
 .../Magento/Adminhtml/Block/Sitemap/Edit.php  |    24 +-
 .../Adminhtml/Block/Sitemap/Edit/Form.php     |    32 +-
 .../Block/Sitemap/Grid/Renderer/Link.php      |    22 +-
 .../Block/Sitemap/Grid/Renderer/Time.php      |    18 +-
 .../Magento/Adminhtml/Block/Text/ListText.php |     2 +-
 .../Magento/Adminhtml/Block/Urlrewrite.php    |    24 +-
 .../Urlrewrite/Catalog/Category/Edit.php      |    32 +-
 .../Urlrewrite/Catalog/Category/Tree.php      |    40 +-
 .../Block/Urlrewrite/Catalog/Edit/Form.php    |    42 +-
 .../Block/Urlrewrite/Catalog/Product/Edit.php |    36 +-
 .../Block/Urlrewrite/Cms/Page/Edit.php        |    32 +-
 .../Block/Urlrewrite/Cms/Page/Edit/Form.php   |    38 +-
 .../Adminhtml/Block/Urlrewrite/Edit.php       |    28 +-
 .../Adminhtml/Block/Urlrewrite/Edit/Form.php  |    26 +-
 .../Adminhtml/Block/Urlrewrite/Link.php       |     2 +-
 .../Adminhtml/Block/Urlrewrite/Selector.php   |     2 +-
 .../Controller/Newsletter/Problem.php         |    16 +-
 .../Adminhtml/Controller/Newsletter/Queue.php |    38 +-
 .../Controller/Newsletter/Subscriber.php      |    40 +-
 .../Controller/Newsletter/Template.php        |    39 +-
 .../Magento/Adminhtml/Controller/Report.php   |    41 +-
 .../Controller/Report/AbstractReport.php      |    35 +-
 .../Adminhtml/Controller/Report/Customer.php  |    91 +-
 .../Adminhtml/Controller/Report/Product.php   |    68 +-
 .../Adminhtml/Controller/Report/Review.php    |    85 +-
 .../Adminhtml/Controller/Report/Sales.php     |   112 +-
 .../Adminhtml/Controller/Report/Shopcart.php  |    76 +-
 .../Controller/Report/Statistics.php          |    37 +-
 .../Adminhtml/Controller/Urlrewrite.php       |    47 +-
 .../Magento/Adminhtml/Helper/Addresses.php    |     2 +-
 .../Magento/Adminhtml/Model/Session/Quote.php |     8 -
 .../Magento/Adminhtml/etc/adminhtml/acl.xml   |     3 -
 app/code/Magento/Adminhtml/etc/config.xml     |    13 +-
 app/code/Magento/Adminhtml/etc/events.xml     |     3 -
 .../view/adminhtml/admin/popup.phtml          |     6 +-
 .../adminhtml/layout/adminhtml_noroute.xml    |     2 +-
 .../view/adminhtml/layout/default.xml         |     4 +-
 .../layout/newsletter_queue_preview.xml       |     2 +-
 .../layout/newsletter_template_preview.xml    |     2 +-
 .../view/adminhtml/layout/preview.xml         |     2 +-
 .../view/adminhtml/page/js/calendar.phtml     |     2 +-
 .../Authorizenet/Block/Directpost/Form.php    |     8 +-
 .../Authorizenet/Block/Directpost/Iframe.php  |    10 +-
 .../Authorizenet/Directpost/Payment.php       |    10 +-
 .../Controller/Directpost/Payment.php         |    14 +-
 app/code/Magento/Authorizenet/Helper/Data.php |    30 +-
 .../Magento/Authorizenet/Model/Directpost.php |     6 +-
 .../Model/Directpost/Observer.php             |    21 +-
 .../view/adminhtml/directpost/info.phtml      |     2 +-
 .../view/frontend/directpost/form.phtml       |   120 +-
 .../view/frontend/directpost/info.phtml       |    10 +-
 .../Magento/Backend/App/AbstractAction.php    |   396 +
 .../{Controller/Adminhtml => App}/Action.php  |     4 +-
 .../{Controller => App/Action}/Context.php    |   135 +-
 .../App/Action/Plugin/Authentication.php      |   196 +
 .../App/Action/Plugin/MassactionKey.php       |    49 +
 .../Backend/App/Action/Plugin/Store.php       |    53 +
 .../Backend/App/Response/Http/FileFactory.php |   120 +
 .../Backend/App/Router/NoRouteHandler.php     |     4 +-
 .../Magento/Backend/Block/AbstractBlock.php   |     2 +-
 .../Block/Cache/Grid/Column/Statuses.php      |     6 +-
 app/code/Magento/Backend/Block/Context.php    |     6 +-
 .../Block/Dashboard/AbstractDashboard.php     |    24 +-
 .../Magento/Backend/Block/Dashboard/Graph.php |    38 +-
 .../Backend/Block/Dashboard/Orders/Grid.php   |    30 +-
 .../Backend/Block/Dashboard/Searches/Last.php |    30 +-
 .../Searches/Renderer/Searchquery.php         |     4 +-
 .../Backend/Block/Dashboard/Searches/Top.php  |    30 +-
 .../Block/Dashboard/Tab/Customers/Most.php    |    30 +-
 .../Block/Dashboard/Tab/Customers/Newest.php  |    30 +-
 .../Block/Dashboard/Tab/Products/Ordered.php  |    30 +-
 .../Block/Dashboard/Tab/Products/Viewed.php   |    30 +-
 app/code/Magento/Backend/Block/Menu.php       |    36 +-
 .../Magento/Backend/Block/Store/Switcher.php  |    50 +-
 .../Block/System/Account/Edit/Form.php        |    36 +-
 .../Backend/Block/System/Config/Dwstree.php   |    23 -
 .../Backend/Block/System/Config/Edit.php      |    26 +-
 .../Backend/Block/System/Config/Form.php      |    30 +-
 .../Block/System/Config/Form/Field.php        |    25 +-
 .../System/Config/Form/Field/Datetime.php     |     4 +-
 .../Block/System/Config/Form/Field/Export.php |     6 +-
 .../Field/FieldArray/AbstractFieldArray.php   |     2 +-
 .../System/Config/Form/Field/Notification.php |     6 +-
 .../Config/Form/Field/Regexceptions.php       |    30 +-
 .../Backend/Block/System/Config/Switcher.php  |    16 +-
 .../System/Storage/Media/Synchronize.php      |    26 +-
 .../Backend/Block/System/Config/Tabs.php      |    24 +-
 .../Backend/Block/System/Design/Edit.php      |    24 +-
 .../Block/System/Design/Edit/Tab/General.php  |    44 +-
 .../Backend/Block/System/Shipping/Ups.php     |    36 +-
 .../Backend/Block/System/Store/Edit.php       |    24 +-
 .../Block/System/Store/Edit/Form/Group.php    |    40 +-
 .../Block/System/Store/Edit/Form/Store.php    |    36 +-
 .../Block/System/Store/Edit/Form/Website.php  |    32 +-
 .../Backend/Block/System/Variable/Edit.php    |    24 +-
 app/code/Magento/Backend/Block/Template.php   |    20 +-
 .../Backend/Block/Template/Context.php        |    52 +-
 .../Backend/Block/Widget/Accordion.php        |     2 +-
 .../Backend/Block/Widget/Accordion/Item.php   |     2 +-
 .../Backend/Block/Widget/Container.php        |     2 +-
 .../Magento/Backend/Block/Widget/Form.php     |    24 +-
 .../Backend/Block/Widget/Form/Container.php   |     2 +-
 .../Block/Widget/Form/Element/Dependence.php  |    22 +-
 .../Backend/Block/Widget/Form/Generic.php     |    28 +-
 .../Magento/Backend/Block/Widget/Grid.php     |    22 +-
 .../Block/Widget/Grid/Column/Extended.php     |    20 +-
 .../Block/Widget/Grid/Column/Filter/Date.php  |    12 +-
 .../Block/Widget/Grid/Column/Multistore.php   |    16 +-
 .../Grid/Column/Renderer/AbstractRenderer.php |     3 +-
 .../Widget/Grid/Column/Renderer/Action.php    |    18 +-
 .../Widget/Grid/Column/Renderer/Country.php   |    19 -
 .../Widget/Grid/Column/Renderer/Currency.php  |     6 +-
 .../Widget/Grid/Column/Renderer/Date.php      |    19 -
 .../Widget/Grid/Column/Renderer/Datetime.php  |    19 -
 .../Widget/Grid/Column/Renderer/Longtext.php  |    23 +-
 .../Widget/Grid/Column/Renderer/Price.php     |    19 -
 .../Backend/Block/Widget/Grid/ColumnSet.php   |    13 +-
 .../Backend/Block/Widget/Grid/Export.php      |    26 +-
 .../Backend/Block/Widget/Grid/Extended.php    |     4 +-
 .../Widget/Grid/Massaction/Additional.php     |    32 +-
 .../Block/Widget/Grid/Massaction/Extended.php |    26 +-
 .../Block/Widget/Grid/Massaction/Item.php     |     6 +-
 .../Backend/Block/Widget/Grid/Serializer.php  |     2 +-
 .../Magento/Backend/Block/Widget/Tabs.php     |    24 +-
 .../Backend/Controller/AbstractAction.php     |   587 -
 .../Backend/Controller/Adminhtml/Ajax.php     |     4 +-
 .../Backend/Controller/Adminhtml/Auth.php     |     6 +-
 .../Backend/Controller/Adminhtml/Cache.php    |    16 +-
 .../Controller/Adminhtml/Dashboard.php        |    30 +-
 .../Backend/Controller/Adminhtml/Index.php    |     8 +-
 .../Backend/Controller/Adminhtml/Noroute.php  |    39 +
 .../Backend/Controller/Adminhtml/System.php   |     8 +-
 .../Adminhtml/System/AbstractConfig.php       |    31 +-
 .../Controller/Adminhtml/System/Account.php   |     8 +-
 .../Controller/Adminhtml/System/Backup.php    |    36 +-
 .../Controller/Adminhtml/System/Config.php    |    25 +-
 .../Adminhtml/System/Config/Save.php          |     4 +-
 .../System/Config/System/Storage.php          |     2 +-
 .../Controller/Adminhtml/System/Design.php    |    30 +-
 .../Controller/Adminhtml/System/Store.php     |    52 +-
 .../Controller/Adminhtml/System/Variable.php  |    36 +-
 .../Magento/Backend/Helper/Dashboard/Data.php |     8 +-
 .../Backend/Helper/Dashboard/Order.php        |     8 +-
 app/code/Magento/Backend/Helper/Data.php      |     6 +-
 .../Model/Config/Backend/Admin/Custom.php     |     4 +-
 .../Model/Config/Backend/Admin/Robots.php     |     4 +-
 .../Model/Config/Backend/Admin/Usecustom.php  |     4 +-
 .../Config/Backend/Admin/Usesecretkey.php     |     4 +-
 .../Backend/Model/Config/Backend/Baseurl.php  |     4 +-
 .../Backend/Currency/AbstractCurrency.php     |     4 +-
 .../Model/Config/Backend/Currency/Allow.php   |     4 +-
 .../Model/Config/Backend/Currency/Cron.php    |     4 +-
 .../Model/Config/Backend/Encrypted.php        |     4 +-
 .../Backend/Model/Config/Backend/File.php     |     4 +-
 .../Backend/Model/Config/Backend/Locale.php   |     4 +-
 .../Backend/Model/Config/Backend/Log/Cron.php |     4 +-
 .../Config/Backend/Storage/Media/Database.php |     4 +-
 .../Model/Config/Backend/Translate.php        |     4 +-
 .../Model/Config/Source/Email/Template.php    |    14 +-
 app/code/Magento/Backend/Model/Locale.php     |     4 +-
 app/code/Magento/Backend/Model/Menu/Item.php  |    10 +-
 .../Backend/Model/Menu/Item/Factory.php       |     6 +-
 app/code/Magento/Backend/Model/Observer.php   |    16 -
 app/code/Magento/Backend/Model/Url.php        |    10 +-
 app/code/Magento/Backend/Model/View.php       |    74 +
 app/code/Magento/Backend/etc/adminhtml/di.xml |    24 +-
 .../Magento/Backend/etc/adminhtml/menu.xml    |     1 -
 app/code/Magento/Backend/etc/di.xml           |     5 -
 .../Backend/view/adminhtml/admin/login.phtml  |     3 +-
 app/code/Magento/Backup/Helper/Data.php       |    14 +-
 .../Backup/Model/Config/Backend/Cron.php      |     4 +-
 .../Product/Edit/Tab/Attributes/Extend.php    |    24 +-
 .../Catalog/Product/Edit/Tab/Bundle.php       |    24 +-
 .../Product/Edit/Tab/Bundle/Option.php        |    18 +-
 .../Edit/Tab/Bundle/Option/Search/Grid.php    |    34 +-
 .../Edit/Tab/Bundle/Option/Selection.php      |    36 +-
 .../Adminhtml/Sales/Order/Items/Renderer.php  |    29 +-
 .../Sales/Order/View/Items/Renderer.php       |    29 +-
 .../Bundle/Block/Catalog/Product/Price.php    |    22 +-
 .../Catalog/Product/View/Type/Bundle.php      |    33 +-
 .../Block/Checkout/Cart/Item/Renderer.php     |    10 +-
 .../Adminhtml/Bundle/Product/Edit.php         |     2 +-
 .../Controller/Adminhtml/Bundle/Selection.php |     6 +-
 .../Helper/Catalog/Product/Configuration.php  |     6 +-
 app/code/Magento/Bundle/Helper/Data.php       |     6 +-
 app/code/Magento/Bundle/Model/Option.php      |     6 +-
 app/code/Magento/Bundle/Model/Price/Index.php |     6 +-
 .../Magento/Bundle/Model/Product/Type.php     |     4 +-
 app/code/Magento/Captcha/Block/Captcha.php    |    12 +-
 .../Captcha/Block/Captcha/DefaultCaptcha.php  |    20 +-
 .../Captcha/Controller/Adminhtml/Refresh.php  |    10 +-
 .../Magento/Captcha/Controller/Refresh.php    |    10 +-
 app/code/Magento/Captcha/Helper/Data.php      |    12 +-
 app/code/Magento/Captcha/Model/Observer.php   |    31 +-
 app/code/Magento/Captcha/etc/events.xml       |     3 +
 .../Captcha/view/adminhtml/default.phtml      |     5 +-
 .../Captcha/view/frontend/default.phtml       |     3 +-
 .../Adminhtml/Category/AbstractCategory.php   |    28 +-
 .../Block/Adminhtml/Category/Helper/Image.php |     6 +-
 .../Adminhtml/Category/Tab/Attributes.php     |    32 +-
 .../Block/Adminhtml/Category/Tab/Product.php  |    34 +-
 .../Catalog/Block/Adminhtml/Category/Tabs.php |    36 +-
 .../Catalog/Block/Adminhtml/Category/Tree.php |    40 +-
 .../Form/Renderer/Attribute/Urlkey.php        |    28 +-
 .../Adminhtml/Helper/Form/Wysiwyg/Content.php |    32 +-
 .../Catalog/Block/Adminhtml/Product.php       |    28 +-
 .../Adminhtml/Product/Attribute/Edit.php      |    24 +-
 .../Product/Attribute/Edit/Tab/Advanced.php   |    36 +-
 .../Product/Attribute/Edit/Tab/Front.php      |    32 +-
 .../Adminhtml/Product/Attribute/Grid.php      |    30 +-
 .../NewAttribute/Product/Created.php          |    32 +-
 .../Adminhtml/Product/Attribute/Set/Main.php  |    44 +-
 .../Product/Attribute/Set/Main/Formgroup.php  |    32 +-
 .../Product/Attribute/Set/Main/Formset.php    |    32 +-
 .../Attribute/Set/Toolbar/Main/Filter.php     |    32 +-
 .../Adminhtml/Product/Composite/Configure.php |    28 +-
 .../Adminhtml/Product/Composite/Error.php     |    26 +-
 .../Adminhtml/Product/Composite/Fieldset.php  |     4 +-
 .../Product/Composite/Fieldset/Grouped.php    |    25 +-
 .../Product/Composite/Fieldset/Qty.php        |    26 +-
 .../Product/Composite/Update/Result.php       |    30 +-
 .../Block/Adminhtml/Product/Created.php       |    24 +-
 .../Catalog/Block/Adminhtml/Product/Edit.php  |    28 +-
 .../Product/Edit/Action/Attribute.php         |    24 +-
 .../Edit/Action/Attribute/Tab/Attributes.php  |    32 +-
 .../Edit/Action/Attribute/Tab/Inventory.php   |    24 +-
 .../Adminhtml/Product/Edit/AttributeSet.php   |    24 +-
 .../Block/Adminhtml/Product/Edit/Js.php       |    24 +-
 .../Adminhtml/Product/Edit/NewCategory.php    |    32 +-
 .../Product/Edit/Tab/Ajax/Serializer.php      |     2 +-
 .../Product/Edit/Tab/Alerts/Price.php         |    34 +-
 .../Product/Edit/Tab/Alerts/Stock.php         |    34 +-
 .../Adminhtml/Product/Edit/Tab/Attributes.php |    36 +-
 .../Product/Edit/Tab/Attributes/Search.php    |    32 +-
 .../Adminhtml/Product/Edit/Tab/Crosssell.php  |    56 +-
 .../Adminhtml/Product/Edit/Tab/Inventory.php  |    44 +-
 .../Product/Edit/Tab/Options/Option.php       |    40 +-
 .../Edit/Tab/Options/Type/AbstractType.php    |    24 +-
 .../Edit/Tab/Price/Group/AbstractGroup.php    |    36 +-
 .../Product/Edit/Tab/Price/Recurring.php      |    24 +-
 .../Adminhtml/Product/Edit/Tab/Related.php    |    56 +-
 .../Product/Edit/Tab/Super/Config.php         |    42 +-
 .../Super/Config/Grid/Renderer/Checkbox.php   |    22 +-
 .../Product/Edit/Tab/Super/Config/Matrix.php  |    50 +-
 .../Product/Edit/Tab/Super/Config/Simple.php  |    40 +-
 .../Product/Edit/Tab/Super/Settings.php       |    32 +-
 .../Adminhtml/Product/Edit/Tab/Upsell.php     |    56 +-
 .../Adminhtml/Product/Edit/Tab/Websites.php   |    42 +-
 .../Block/Adminhtml/Product/Edit/Tabs.php     |    40 +-
 .../Product/Frontend/Product/Watermark.php    |    30 +-
 .../Catalog/Block/Adminhtml/Product/Grid.php  |    56 +-
 .../Adminhtml/Product/Helper/Form/Gallery.php |     6 +-
 .../Product/Helper/Form/Gallery/Content.php   |    24 +-
 .../Adminhtml/Product/Helper/Form/Price.php   |     4 +-
 .../Block/Adminhtml/Product/Options/Ajax.php  |    26 +-
 .../Adminhtml/Product/Widget/Chooser.php      |    42 +-
 .../Catalog/Block/Adminhtml/Search/Edit.php   |    24 +-
 .../Block/Adminhtml/Search/Edit/Form.php      |    32 +-
 .../Magento/Catalog/Block/Breadcrumbs.php     |    24 +-
 .../Magento/Catalog/Block/Category/View.php   |    24 +-
 .../Catalog/Block/Category/Widget/Link.php    |    14 +-
 .../Block/Layer/Filter/AbstractFilter.php     |    14 +-
 .../Magento/Catalog/Block/Layer/State.php     |    14 +-
 app/code/Magento/Catalog/Block/Layer/View.php |    14 +-
 app/code/Magento/Catalog/Block/Navigation.php |    24 +-
 app/code/Magento/Catalog/Block/Product.php    |    15 +-
 .../Catalog/Block/Product/AbstractProduct.php |    32 +-
 .../Block/Product/Compare/AbstractCompare.php |    26 +-
 .../Block/Product/Compare/ListCompare.php     |    23 +-
 .../Backend/Grid/ColumnSet.php                |     6 +-
 .../Configurable/AttributeSelector.php        |    30 +-
 .../Magento/Catalog/Block/Product/Gallery.php |     8 +-
 .../ListAssociatedProducts.php                |    34 +-
 .../Magento/Catalog/Block/Product/Image.php   |     8 +-
 .../Catalog/Block/Product/ListProduct.php     |    26 +-
 .../Catalog/Block/Product/NewProduct.php      |    40 +-
 .../Magento/Catalog/Block/Product/Price.php   |    24 +-
 .../Catalog/Block/Product/Price/Template.php  |     2 +-
 .../Block/Product/ProductList/Promotion.php   |    23 +-
 .../Block/Product/ProductList/Random.php      |    21 +-
 .../Block/Product/ProductList/Related.php     |    27 +-
 .../Block/Product/ProductList/Toolbar.php     |    14 +-
 .../Block/Product/ProductList/Upsell.php      |    28 +-
 .../Magento/Catalog/Block/Product/Send.php    |    26 +-
 .../Block/Product/TemplateSelector.php        |    14 +-
 .../Magento/Catalog/Block/Product/View.php    |    52 +-
 .../Block/Product/View/AbstractView.php       |    27 +-
 .../Catalog/Block/Product/View/Additional.php |     2 +-
 .../Catalog/Block/Product/View/Attributes.php |    20 +-
 .../Block/Product/View/Description.php        |     8 +-
 .../Catalog/Block/Product/View/Options.php    |    19 +-
 .../Product/View/Options/AbstractOptions.php  |    12 +-
 .../Block/Product/View/Options/Type/Date.php  |    33 +-
 .../Product/View/Options/Type/Select.php      |     2 +-
 .../Catalog/Block/Product/View/Price.php      |     8 +-
 .../Catalog/Block/Product/View/Tabs.php       |     2 +-
 .../Block/Product/View/Type/Configurable.php  |    25 +-
 .../Catalog/Block/Product/Widget/Link.php     |    18 +-
 .../Block/Product/Widget/NewWidget.php        |     2 +-
 .../Magento/Catalog/Block/Widget/Link.php     |    24 +-
 .../Catalog/Controller/Adminhtml/Category.php |    36 +-
 .../Controller/Adminhtml/Category/Widget.php  |     8 +-
 .../Catalog/Controller/Adminhtml/Product.php  |   179 +-
 .../Adminhtml/Product/Action/Attribute.php    |    48 +-
 .../Adminhtml/Product/Attribute.php           |    48 +-
 .../Adminhtml/Product/Datafeeds.php           |     2 +-
 .../Controller/Adminhtml/Product/Gallery.php  |     2 +-
 .../Controller/Adminhtml/Product/Group.php    |     2 +-
 .../Controller/Adminhtml/Product/Review.php   |    56 +-
 .../Controller/Adminhtml/Product/Set.php      |    46 +-
 .../Controller/Adminhtml/Product/Widget.php   |     8 +-
 .../Catalog/Controller/Adminhtml/Search.php   |    26 +-
 .../Magento/Catalog/Controller/Category.php   |    48 +-
 app/code/Magento/Catalog/Controller/Index.php |     2 +-
 .../Magento/Catalog/Controller/Product.php    |    12 +-
 .../Catalog/Controller/Product/Compare.php    |    44 +-
 .../Controller/Product/View/ViewInterface.php |    13 +-
 app/code/Magento/Catalog/Helper/Catalog.php   |     6 +-
 app/code/Magento/Catalog/Helper/Category.php  |     6 +-
 .../Magento/Catalog/Helper/Category/Flat.php  |     4 +-
 app/code/Magento/Catalog/Helper/Data.php      |     6 +-
 .../Catalog/Helper/Flat/AbstractFlat.php      |     6 +-
 app/code/Magento/Catalog/Helper/Image.php     |     6 +-
 app/code/Magento/Catalog/Helper/Output.php    |     6 +-
 app/code/Magento/Catalog/Helper/Product.php   |    22 +-
 .../Catalog/Helper/Product/Compare.php        |    16 +-
 .../Catalog/Helper/Product/Composite.php      |    55 +-
 .../Catalog/Helper/Product/Configuration.php  |     6 +-
 .../Helper/Product/Edit/Action/Attribute.php  |     4 +-
 .../Magento/Catalog/Helper/Product/Flat.php   |     4 +-
 .../Catalog/Helper/Product/Options.php        |     6 +-
 .../Magento/Catalog/Helper/Product/Url.php    |     8 +-
 .../Magento/Catalog/Helper/Product/View.php   |    49 +-
 app/code/Magento/Catalog/Model/Category.php   |    10 -
 .../Catalog/Model/Config/Backend/Category.php |     4 +-
 .../Model/Config/CatalogClone/Media/Image.php |     4 +-
 .../Catalog/Model/Entity/Attribute.php        |     4 +-
 .../Catalog/Model/Layer/Filter/Category.php   |     2 +-
 app/code/Magento/Catalog/Model/Product.php    |    35 +-
 .../Magento/Catalog/Model/Product/Action.php  |    10 -
 .../Magento/Catalog/Model/Product/Status.php  |    10 -
 .../Model/Product/Type/Configurable.php       |     6 +-
 .../Collection/AbstractCollection.php         |     6 +-
 .../Catalog/Model/Resource/Eav/Attribute.php  |     4 +-
 .../Model/Resource/Product/Collection.php     |     6 +-
 .../Product/Collection/AssociatedProduct.php  |     6 +-
 .../Product/Compare/Item/Collection.php       |     6 +-
 .../Grouped/AssociatedProductsCollection.php  |     6 +-
 .../Magento/Catalog/Model/Resource/Setup.php  |    12 +-
 .../Config/Backend/Catalog/Category/Flat.php  |     4 +-
 .../Config/Backend/Catalog/Product/Flat.php   |     4 +-
 .../Backend/Catalog/Url/Rewrite/Suffix.php    |     4 +-
 .../Magento/Catalog/Model/Template/Filter.php |    10 +-
 app/code/Magento/Catalog/etc/frontend/di.xml  |    10 +
 .../edit/super/attribute-js-template.phtml    |     2 +-
 .../edit/super/attribute-template.phtml       |     2 +-
 .../CATALOG_PRODUCT_COMPOSITE_CONFIGURE.xml   |     2 +-
 .../layout/catalog_category_edit.xml          |     2 +-
 .../layout/catalog_product_grouped.xml        |     4 +-
 .../adminhtml/layout/catalog_product_new.xml  |     4 +-
 .../form.phtml                                |     2 +-
 .../adminhtml/product/grouped/grouped.phtml   |     4 +-
 .../view/frontend/layout/MAP_popup.xml        |     2 +-
 .../frontend/layout/catalog_product_view.xml  |     4 +-
 .../Catalog/view/frontend/layout/default.xml  |     4 +-
 .../Catalog/view/frontend/product/price.phtml |     6 +-
 .../Catalog/view/frontend/product/view.phtml  |     7 +-
 .../frontend/product/view/base-image.phtml    |     4 +-
 .../Adminhtml/Form/Field/Customergroup.php    |     6 +-
 .../CatalogInventory/Block/Qtyincrements.php  |     8 +-
 .../Block/Stockqty/AbstractStockqty.php       |     8 +-
 .../Magento/CatalogInventory/Helper/Data.php  |     6 +-
 .../Model/Config/Backend/Managestock.php      |     4 +-
 .../Model/Resource/Stock/Item/Collection.php  |     7 +-
 .../System/Config/Backend/Minsaleqty.php      |     4 +-
 .../Block/Adminhtml/Promo/Catalog/Edit.php    |    24 +-
 .../Promo/Catalog/Edit/Tab/Conditions.php     |    36 +-
 .../Adminhtml/Promo/Catalog/Edit/Tab/Main.php |    24 +-
 .../Block/Adminhtml/Promo/Widget/Chooser.php  |    30 +-
 .../Promo/Widget/Chooser/Daterange.php        |    22 +-
 .../Adminhtml/Promo/Widget/Chooser/Sku.php    |    42 +-
 .../Controller/Adminhtml/Promo.php            |     6 +-
 .../Controller/Adminhtml/Promo/Catalog.php    |    46 +-
 .../Controller/Adminhtml/Promo/Widget.php     |    12 +-
 app/code/Magento/CatalogRule/Helper/Data.php  |     2 +-
 .../CatalogSearch/Block/Advanced/Form.php     |    34 +-
 .../CatalogSearch/Block/Advanced/Result.php   |    20 +-
 .../CatalogSearch/Block/Autocomplete.php      |     2 +-
 .../Magento/CatalogSearch/Block/Layer.php     |    22 +-
 .../Magento/CatalogSearch/Block/Result.php    |    20 +-
 app/code/Magento/CatalogSearch/Block/Term.php |    20 +-
 .../CatalogSearch/Controller/Advanced.php     |    27 +-
 .../Magento/CatalogSearch/Controller/Ajax.php |    28 +-
 .../CatalogSearch/Controller/Result.php       |    45 +-
 .../Magento/CatalogSearch/Controller/Term.php |    27 +-
 .../Magento/CatalogSearch/Helper/Data.php     |     6 +-
 .../Model/Config/Backend/Search/Type.php      |     4 +-
 .../Magento/CatalogSearch/Model/Fulltext.php  |    10 -
 .../Model/Resource/Advanced/Collection.php    |     6 +-
 .../Model/Resource/Fulltext/Collection.php    |     6 +-
 app/code/Magento/CatalogSearch/etc/di.xml     |     2 +-
 .../view/frontend/form.mini.phtml             |     2 +-
 .../layout/catalogsearch_advanced_index.xml   |     2 +-
 .../view/frontend/layout/default.xml          |     2 +-
 .../Magento/Centinel/Block/Authentication.php |    12 +-
 .../Block/Authentication/Complete.php         |     8 +-
 .../Centinel/Block/Authentication/Start.php   |     8 +-
 app/code/Magento/Centinel/Block/Logo.php      |     2 +-
 .../Controller/Adminhtml/Centinel/Index.php   |    10 +-
 .../Magento/Centinel/Controller/Index.php     |    10 +-
 app/code/Magento/Centinel/Helper/Data.php     |     6 +-
 .../Magento/Centinel/view/frontend/logo.phtml |    14 +-
 .../Block/Adminhtml/Agreement/Edit.php        |    24 +-
 .../Block/Adminhtml/Agreement/Edit/Form.php   |    32 +-
 .../Block/Adminhtml/Agreement/Grid.php        |    30 +-
 .../Magento/Checkout/Block/Agreements.php     |    16 +-
 app/code/Magento/Checkout/Block/Cart.php      |    28 +-
 .../Checkout/Block/Cart/AbstractCart.php      |    14 +-
 .../Magento/Checkout/Block/Cart/Crosssell.php |    30 +-
 .../Checkout/Block/Cart/Item/Configure.php    |     2 +-
 .../Checkout/Block/Cart/Item/Renderer.php     |    30 +-
 .../Block/Cart/Item/Renderer/Configurable.php |     2 +-
 app/code/Magento/Checkout/Block/Cart/Link.php |     6 +-
 .../Magento/Checkout/Block/Cart/Shipping.php  |    10 +-
 .../Magento/Checkout/Block/Cart/Sidebar.php   |    24 +-
 .../Magento/Checkout/Block/Cart/Totals.php    |    29 +-
 app/code/Magento/Checkout/Block/Link.php      |    10 +-
 .../Multishipping/AbstractMultishipping.php   |     8 +-
 .../Block/Multishipping/Addresses.php         |    12 +-
 .../Checkout/Block/Multishipping/Billing.php  |     6 +-
 .../Block/Multishipping/Billing/Items.php     |     6 +-
 .../Checkout/Block/Multishipping/Link.php     |    12 +-
 .../Checkout/Block/Multishipping/Overview.php |     8 +-
 .../Block/Multishipping/Payment/Info.php      |    10 +-
 .../Checkout/Block/Multishipping/Shipping.php |    10 +-
 .../Checkout/Block/Multishipping/State.php    |     8 +-
 .../Checkout/Block/Multishipping/Success.php  |    14 +-
 .../Block/Onepage/AbstractOnepage.php         |    31 +-
 .../Checkout/Block/Onepage/Billing.php        |    22 +-
 .../Checkout/Block/Onepage/Failure.php        |     8 +-
 .../Magento/Checkout/Block/Onepage/Link.php   |     8 +-
 .../Magento/Checkout/Block/Onepage/Login.php  |    22 +-
 .../Checkout/Block/Onepage/Payment/Info.php   |    10 +-
 .../Block/Onepage/Payment/Methods.php         |     6 +-
 .../Checkout/Block/Onepage/Review/Info.php    |     6 +-
 .../Checkout/Block/Onepage/Shipping.php       |    22 +-
 .../Onepage/Shipping/Method/Available.php     |    22 +-
 .../Checkout/Block/Onepage/Success.php        |     8 +-
 app/code/Magento/Checkout/Block/Success.php   |     9 +-
 .../Magento/Checkout/Controller/Action.php    |     8 +-
 .../Controller/Adminhtml/Agreement.php        |    34 +-
 app/code/Magento/Checkout/Controller/Cart.php |    88 +-
 .../Magento/Checkout/Controller/Index.php     |     2 +-
 .../Checkout/Controller/Multishipping.php     |   107 +-
 .../Controller/Multishipping/Address.php      |   112 +-
 .../Magento/Checkout/Controller/Onepage.php   |    75 +-
 app/code/Magento/Checkout/Helper/Cart.php     |    12 +-
 app/code/Magento/Checkout/Helper/Data.php     |    37 +-
 app/code/Magento/Checkout/Model/Cart.php      |    14 +-
 app/code/Magento/Checkout/Model/Session.php   |    33 +-
 app/code/Magento/Checkout/etc/frontend/di.xml |    10 +
 .../Checkout/view/frontend}/agreements.phtml  |    12 +-
 .../Magento/Checkout/view/frontend/cart.phtml |   147 +-
 .../Checkout/view/frontend/cart/coupon.phtml  |    57 +-
 .../Checkout/view/frontend}/cart/form.phtml   |    12 +-
 .../cart/item/configure/updatecart.phtml      |    22 +-
 .../view/frontend/cart/item/default.phtml     |   190 +-
 .../view/frontend}/cart/methods.phtml         |     6 +-
 .../view/frontend}/cart/minicart.phtml        |     8 +-
 .../view/frontend}/cart/noItems.phtml         |     2 +
 .../view/frontend/cart/shipping.phtml         |   163 +-
 .../view/frontend/cart/sidebar/default.phtml  |   267 +-
 .../Checkout/view/frontend/cart/totals.phtml  |    13 +-
 .../Checkout/view/frontend/js/opcheckout.js   |   150 +-
 .../frontend/layout/checkout_cart_index.xml   |    49 +-
 ...kout_multishipping_address_editaddress.xml |     5 +
 ...kout_multishipping_address_editbilling.xml |     5 +
 ...out_multishipping_address_editshipping.xml |     5 +
 ...ckout_multishipping_address_newbilling.xml |     5 +
 ...kout_multishipping_address_newshipping.xml |     5 +
 ...ut_multishipping_address_selectbilling.xml |     5 +
 .../checkout_multishipping_addresses.xml      |     6 +
 .../layout/checkout_multishipping_billing.xml |     7 +
 ...heckout_multishipping_customer_address.xml |     1 +
 .../checkout_multishipping_overview.xml       |     8 +-
 .../checkout_multishipping_shipping.xml       |     6 +
 .../layout/checkout_multishipping_success.xml |     5 +
 .../layout/checkout_onepage_additional.xml    |     8 +-
 .../layout/checkout_onepage_failure.xml       |     7 +-
 .../layout/checkout_onepage_index.xml         |    18 +-
 .../layout/checkout_onepage_paymentmethod.xml |     2 +
 .../layout/checkout_onepage_review.xml        |     5 +-
 .../layout/checkout_onepage_success.xml       |     7 +-
 .../Checkout/view/frontend/layout/default.xml |    15 +-
 .../multishipping/address/select.phtml        |    44 +-
 .../frontend/multishipping/addresses.phtml    |    98 +-
 .../view/frontend/multishipping/billing.phtml |   144 +-
 .../multishipping/billing/items.phtml         |    50 +-
 .../frontend/multishipping/item/default.phtml |    40 +-
 .../view/frontend/multishipping/link.phtml    |     3 +-
 .../frontend/multishipping/overview.phtml     |   316 +-
 .../multishipping/overview/item.phtml         |   102 +-
 .../frontend/multishipping/shipping.phtml     |   148 +-
 .../view/frontend/multishipping/state.phtml   |    15 +-
 .../view/frontend/multishipping/success.phtml |    15 +-
 .../Checkout/view/frontend/onepage.phtml      |   133 +-
 .../view/frontend/onepage/billing.phtml       |   326 +-
 .../view/frontend/onepage/failure.phtml       |     4 -
 .../Checkout/view/frontend/onepage/link.phtml |    10 +-
 .../view/frontend/onepage/login.phtml         |   168 +-
 .../view/frontend/onepage/payment.phtml       |    29 +-
 .../frontend/onepage/payment/methods.phtml    |    14 +-
 .../view/frontend/onepage/progress.phtml      |     9 +-
 .../view/frontend/onepage/review/button.phtml |     4 +-
 .../view/frontend/onepage/review/info.phtml   |    51 +-
 .../view/frontend/onepage/review/item.phtml   |   100 +-
 .../view/frontend/onepage/review/totals.phtml |    13 +-
 .../view/frontend/onepage/shipping.phtml      |   220 +-
 .../frontend/onepage/shipping_method.phtml    |    13 +-
 .../onepage/shipping_method/available.phtml   |    20 +-
 .../Checkout/view/frontend/success.phtml      |    40 +-
 .../view/frontend/total/default.phtml         |    12 +-
 .../view/frontend/total/nominal.phtml         |    49 +-
 .../Checkout/view/frontend/total/tax.phtml    |    24 +-
 .../Cms/Block/Adminhtml/Block/Edit.php        |    24 +-
 .../Cms/Block/Adminhtml/Block/Edit/Form.php   |    36 +-
 .../Block/Adminhtml/Block/Widget/Chooser.php  |    34 +-
 .../Magento/Cms/Block/Adminhtml/Page/Edit.php |    26 +-
 .../Block/Adminhtml/Page/Edit/Tab/Content.php |    34 +-
 .../Block/Adminhtml/Page/Edit/Tab/Design.php  |    36 +-
 .../Block/Adminhtml/Page/Edit/Tab/Main.php    |    32 +-
 .../Magento/Cms/Block/Adminhtml/Page/Grid.php |    38 +-
 .../Adminhtml/Page/Grid/Renderer/Action.php   |    18 +-
 .../Block/Adminhtml/Page/Widget/Chooser.php   |    42 +-
 .../Wysiwyg/Images/Content/Files.php          |    28 +-
 .../Wysiwyg/Images/Content/Uploader.php       |    30 +-
 .../Block/Adminhtml/Wysiwyg/Images/Tree.php   |    28 +-
 app/code/Magento/Cms/Block/Block.php          |     6 +-
 app/code/Magento/Cms/Block/Page.php           |     6 +-
 app/code/Magento/Cms/Block/Widget/Block.php   |    20 +-
 .../Magento/Cms/Block/Widget/Page/Link.php    |    20 +-
 .../Cms/Controller/Adminhtml/Block.php        |    22 +-
 .../Cms/Controller/Adminhtml/Block/Widget.php |     4 +-
 .../Magento/Cms/Controller/Adminhtml/Page.php |    34 +-
 .../Cms/Controller/Adminhtml/Page/Widget.php  |     4 +-
 .../Cms/Controller/Adminhtml/Wysiwyg.php      |     4 +-
 .../Controller/Adminhtml/Wysiwyg/Images.php   |    19 +-
 app/code/Magento/Cms/Controller/Index.php     |    31 +-
 app/code/Magento/Cms/Controller/Noroute.php   |    43 +
 app/code/Magento/Cms/Controller/Page.php      |     4 +-
 app/code/Magento/Cms/Helper/Data.php          |     2 +-
 app/code/Magento/Cms/Helper/Page.php          |    75 +-
 .../Magento/Cms/Helper/Wysiwyg/Images.php     |    18 +-
 app/code/Magento/Cms/Model/Observer.php       |     2 +-
 app/code/Magento/Cms/Model/Page.php           |    27 -
 .../Magento/Cms/Model/Template/Filter.php     |     2 +-
 app/code/Magento/Cms/etc/config.xml           |     2 +-
 .../layout/cms_index_defaultindex.xml         |     2 +-
 .../layout/cms_index_defaultnoroute.xml       |     2 +-
 .../view/frontend/layout/cms_page_view.xml    |     2 +-
 .../Extension/Custom/Edit/Tab/AbstractTab.php |    32 +-
 .../Extension/Custom/Edit/Tab/Contents.php    |    36 +-
 .../Extension/Custom/Edit/Tab/Grid.php        |    30 +-
 .../Controller/Adminhtml/Extension/Custom.php |    18 +-
 .../Controller/Adminhtml/Extension/Local.php  |     2 +-
 app/code/Magento/Connect/Helper/Data.php      |     8 +-
 app/code/Magento/Connect/Model/Session.php    |     6 +-
 .../Magento/Contacts/Controller/Index.php     |    32 +-
 app/code/Magento/Contacts/Helper/Data.php     |     6 +-
 .../frontend/layout/contacts_index_index.xml  |     2 +-
 .../Core/App/Action/FormKeyValidator.php      |    56 +
 .../Magento/Core/App/Action/Plugin/Design.php |    54 +
 .../Core/App/Action/Plugin/Install.php        |    86 +
 .../Action/Plugin/LastUrl.php}                |    45 +-
 .../Core/App/Action/Plugin/Session.php        |   144 +
 .../Core/App/Action/Plugin/StoreCheck.php     |    60 +
 .../Plugin/DispatchExceptionHandler.php       |     2 +-
 .../Plugin/RequestPreprocessor.php            |     6 +-
 .../Core/App/Request/PathInfoProcessor.php    |     8 +-
 .../Magento/Core/App/Response/Redirect.php    |   210 +
 app/code/Magento/Core/App/Router/Base.php     |    10 +-
 app/code/Magento/Core/Block/Formkey.php       |     2 +-
 .../Magento/Core/Block/Store/Switcher.php     |    20 +-
 app/code/Magento/Core/Controller/Ajax.php     |     4 +-
 app/code/Magento/Core/Controller/Index.php    |    28 +-
 app/code/Magento/Core/Controller/Noroute.php  |    58 +
 .../Magento/Core/Controller/Varien/Action.php |  1075 --
 app/code/Magento/Core/Exception.php           |     2 +-
 app/code/Magento/Core/Filter/Date.php         |    55 +
 app/code/Magento/Core/Filter/DateTime.php     |    31 +
 app/code/Magento/Core/Helper/Cookie.php       |    15 +-
 app/code/Magento/Core/Helper/Data.php         |    47 +-
 app/code/Magento/Core/Helper/File/Media.php   |     6 +-
 app/code/Magento/Core/Helper/File/Storage.php |    21 +-
 .../Core/Helper/File/Storage/Database.php     |    25 +-
 app/code/Magento/Core/Helper/Js.php           |     6 +-
 app/code/Magento/Core/Helper/String.php       |     2 +-
 app/code/Magento/Core/Helper/Theme.php        |     4 +-
 app/code/Magento/Core/Helper/Translate.php    |    27 +-
 app/code/Magento/Core/Helper/Url.php          |     6 +-
 app/code/Magento/Core/Helper/Url/Rewrite.php  |     6 +-
 app/code/Magento/Core/Model/AbstractModel.php |    52 +-
 app/code/Magento/Core/Model/App.php           |    36 +-
 app/code/Magento/Core/Model/App/Area.php      |     6 +-
 app/code/Magento/Core/Model/App/Emulation.php |     6 +-
 app/code/Magento/Core/Model/Calculator.php    |     4 +-
 app/code/Magento/Core/Model/Context.php       |     8 -
 app/code/Magento/Core/Model/Cookie.php        |     4 +-
 app/code/Magento/Core/Model/Date.php          |     9 +-
 .../Core/Model/Design/Backend/Exceptions.php  |     4 +-
 .../Core/Model/Design/Backend/Theme.php       |     4 +-
 app/code/Magento/Core/Model/DesignLoader.php  |    69 +
 app/code/Magento/Core/Model/Email.php         |   146 -
 .../Core/Model/File/Storage/Database.php      |     8 -
 app/code/Magento/Core/Model/Input/Filter.php  |    14 +-
 app/code/Magento/Core/Model/Layout.php        |    78 +-
 app/code/Magento/Core/Model/Locale.php        |     6 +-
 app/code/Magento/Core/Model/Message.php       |    84 -
 .../Magento/Core/Model/Resource/Translate.php |     6 +-
 .../Core/Model/Resource/Translate/String.php  |     6 +-
 .../Model/Resource/Url/Rewrite/Collection.php |     8 +-
 app/code/Magento/Core/Model/Session.php       |     3 +-
 .../Core/Model/Session/AbstractSession.php    |    42 +-
 .../Magento/Core/Model/Session/Context.php    |    42 +-
 app/code/Magento/Core/Model/Store.php         |    14 +-
 app/code/Magento/Core/Model/Store/Group.php   |     8 +-
 app/code/Magento/Core/Model/StoreManager.php  |     8 +-
 app/code/Magento/Core/Model/System/Store.php  |     6 +-
 app/code/Magento/Core/Model/Template.php      |     2 +-
 app/code/Magento/Core/Model/Theme.php         |     7 -
 .../Core/Model/Theme/Domain/Physical.php      |     2 +-
 .../Core/Model/Theme/Domain/Staging.php       |     4 +-
 .../Core/Model/Theme/Domain/Virtual.php       |     2 +-
 .../Magento/Core/Model/Theme/Image/Path.php   |    12 +-
 .../Magento/Core/Model/Theme/Registration.php |     2 +-
 app/code/Magento/Core/Model/Translate.php     |    13 +-
 .../Magento/Core/Model/Translate/Inline.php   |     4 +-
 .../Core/Model/Translate/InlineParser.php     |     8 +-
 app/code/Magento/Core/Model/Url.php           |    10 +-
 app/code/Magento/Core/Model/Url/Rewrite.php   |    17 +-
 .../Magento/Core/Model/View/Design/Proxy.php  |   139 -
 app/code/Magento/Core/Model/Website.php       |     6 +-
 app/code/Magento/Core/etc/config.xml          |    27 -
 app/code/Magento/Core/etc/di.xml              |    21 +-
 app/code/Magento/Core/etc/frontend/di.xml     |     3 +
 app/code/Magento/Core/etc/module.xml          |     2 -
 .../Core/sql/core_setup/install-1.6.0.0.php   |    47 -
 app/code/Magento/Cron/Helper/Data.php         |     2 +-
 .../Model/Config/Backend/Product/Alert.php    |     4 +-
 .../Cron/Model/Config/Backend/Sitemap.php     |     4 +-
 .../Adminhtml/System/Currency/Rate/Matrix.php |    36 +-
 .../System/Currency/Rate/Services.php         |    36 +-
 .../Block/Adminhtml/System/Currencysymbol.php |    28 +-
 .../Controller/Adminhtml/System/Currency.php  |    14 +-
 .../Adminhtml/System/Currencysymbol.php       |    14 +-
 .../Magento/CurrencySymbol/Helper/Data.php    |     8 +-
 .../Model/System/Currencysymbol.php           |     2 +-
 .../Block/Account/AuthorizationLink.php       |    10 +-
 .../Customer/Block/Account/Customer.php       |    12 +-
 .../Customer/Block/Account/Dashboard.php      |     8 +-
 .../Block/Account/Dashboard/Address.php       |     8 +-
 .../Block/Account/Dashboard/Block.php         |     2 +-
 .../Block/Account/Dashboard/Hello.php         |     8 +-
 .../Customer/Block/Account/Dashboard/Info.php |     8 +-
 .../Block/Account/Dashboard/Newsletter.php    |    13 +-
 .../Block/Account/Dashboard/Sidebar.php       |    16 +-
 .../Customer/Block/Account/Forgotpassword.php |     2 +-
 .../Customer/Block/Account/RegisterLink.php   |    10 +-
 .../Customer/Block/Account/Resetpassword.php  |     2 +-
 .../Magento/Customer/Block/Address/Book.php   |     8 +-
 .../Magento/Customer/Block/Address/Edit.php   |    10 +-
 .../Address/Renderer/DefaultRenderer.php      |    16 +-
 .../Magento/Customer/Block/Adminhtml/Edit.php |    24 +-
 .../Edit/Renderer/Attribute/Group.php         |    28 +-
 .../Block/Adminhtml/Edit/Tab/Account.php      |    36 +-
 .../Block/Adminhtml/Edit/Tab/Addresses.php    |    48 +-
 .../Block/Adminhtml/Edit/Tab/Cart.php         |    38 +-
 .../Block/Adminhtml/Edit/Tab/Carts.php        |    24 +-
 .../Block/Adminhtml/Edit/Tab/Newsletter.php   |    32 +-
 .../Adminhtml/Edit/Tab/Newsletter/Grid.php    |    34 +-
 .../Block/Adminhtml/Edit/Tab/Orders.php       |    38 +-
 .../Block/Adminhtml/Edit/Tab/View.php         |    40 +-
 .../Adminhtml/Edit/Tab/View/Accordion.php     |    32 +-
 .../Block/Adminhtml/Edit/Tab/View/Cart.php    |    38 +-
 .../Edit/Tab/View/Grid/Renderer/Item.php      |    18 +-
 .../Block/Adminhtml/Edit/Tab/View/Orders.php  |    34 +-
 .../Block/Adminhtml/Edit/Tab/View/Sales.php   |    40 +-
 .../Adminhtml/Edit/Tab/View/Wishlist.php      |    34 +-
 .../Customer/Block/Adminhtml/Edit/Tabs.php    |    28 +-
 .../Magento/Customer/Block/Adminhtml/Grid.php |    38 +-
 .../Block/Adminhtml/Grid/Filter/Country.php   |    22 +-
 .../Customer/Block/Adminhtml/Group/Edit.php   |    24 +-
 .../Block/Adminhtml/Group/Edit/Form.php       |    40 +-
 .../Magento/Customer/Block/Form/Login.php     |    12 +-
 .../Magento/Customer/Block/Form/Register.php  |    22 +-
 .../Magento/Customer/Block/Newsletter.php     |     2 +-
 .../Customer/Block/Widget/AbstractWidget.php  |     8 +-
 .../Magento/Customer/Block/Widget/Dob.php     |    26 -
 .../Magento/Customer/Block/Widget/Gender.php  |     6 +-
 .../Magento/Customer/Block/Widget/Taxvat.php  |     6 +-
 .../Magento/Customer/Controller/Account.php   |   328 +-
 .../Magento/Customer/Controller/Address.php   |    64 +-
 .../Adminhtml/Cart/Product/Composite/Cart.php |     4 +-
 .../Customer/Controller/Adminhtml/Group.php   |    23 +-
 .../Customer/Controller/Adminhtml/Index.php   |   128 +-
 .../Customer/Controller/Adminhtml/Online.php  |    11 +-
 .../Adminhtml/System/Config/Validatevat.php   |     2 +-
 .../Wishlist/Product/Composite/Wishlist.php   |     4 +-
 .../Magento/Customer/Controller/Review.php    |    10 +-
 app/code/Magento/Customer/Helper/Address.php  |     6 +-
 app/code/Magento/Customer/Helper/Data.php     |    16 +-
 app/code/Magento/Customer/Model/Address.php   |     4 +-
 .../Model/Address/AbstractAddress.php         |    10 -
 .../Magento/Customer/Model/Address/Config.php |     6 +-
 .../Model/Config/Backend/Address/Street.php   |     4 +-
 .../Model/Config/Backend/Show/Customer.php    |     4 +-
 .../Magento/Customer/Model/Config/Share.php   |     4 +-
 app/code/Magento/Customer/Model/Customer.php  |    40 +-
 app/code/Magento/Customer/Model/Observer.php  |     6 +-
 app/code/Magento/Customer/Model/Session.php   |    24 +-
 app/code/Magento/Customer/etc/frontend/di.xml |    11 +
 .../layout/customer_account_confirmation.xml  |     2 +-
 .../layout/customer_account_index.xml         |     2 +-
 .../layout/customer_account_logoutsuccess.xml |     2 +-
 .../Form/Renderer/BackgroundUploader.php      |    24 +-
 .../Editor/Form/Renderer/LogoUploader.php     |    28 +-
 .../Adminhtml/Editor/Toolbar/Buttons/Edit.php |    38 +-
 .../Block/Adminhtml/Editor/Tools.php          |    24 +-
 .../Block/Adminhtml/Editor/Tools/Block.php    |     2 +-
 .../Block/Adminhtml/Editor/Tools/Code/Css.php |     2 +-
 .../Adminhtml/Editor/Tools/Code/Custom.php    |    32 +-
 .../Editor/Tools/Code/ImageSizing.php         |    40 +-
 .../Block/Adminhtml/Editor/Tools/Code/Js.php  |    36 +-
 .../Editor/Tools/QuickStyles/AbstractTab.php  |    28 +-
 .../Block/Adminhtml/Editor/Tools/Settings.php |     2 +-
 .../Editor/Tools/Tabs/AbstractTabs.php        |     2 +-
 .../Adminhtml/Editor/Tools/Tabs/Body.php      |     2 +-
 .../Block/Adminhtml/Theme/Button.php          |     2 +-
 .../SelectorList/AbstractSelectorList.php     |     2 +-
 .../Theme/Selector/SelectorList/Assigned.php  |    23 -
 .../Adminhtml/Theme/Selector/StoreView.php    |    29 +-
 .../Adminhtml/System/Design/Editor.php        |    47 +-
 .../Adminhtml/System/Design/Editor/Files.php  |     8 +-
 .../Adminhtml/System/Design/Editor/Tools.php  |     4 +-
 .../Controller/Varien/Router/Standard.php     |     2 +-
 app/code/Magento/DesignEditor/Helper/Data.php |     6 +-
 .../Model/Translate/InlineVde.php             |     4 +-
 .../DesignEditor/Model/Url/NavigationMode.php |    10 +-
 .../view/adminhtml/css/styles.css             |    69 -
 .../view/adminhtml/editor/toolbar.phtml       |     2 +-
 .../view/frontend/translate_inline.phtml      |     2 +-
 .../Adminhtml/Frontend/Currency/Base.php      |    23 -
 app/code/Magento/Directory/Block/Currency.php |    28 +-
 app/code/Magento/Directory/Block/Data.php     |    24 +-
 .../Directory/Controller/Adminhtml/Json.php   |     2 +-
 .../Magento/Directory/Controller/Currency.php |     5 +-
 app/code/Magento/Directory/Helper/Data.php    |     8 +-
 app/code/Magento/Directory/Helper/Url.php     |    10 +-
 app/code/Magento/Directory/Model/Observer.php |     8 +-
 .../Catalog/Product/Edit/Tab/Downloadable.php |    24 +-
 .../Product/Edit/Tab/Downloadable/Links.php   |    56 +-
 .../Product/Edit/Tab/Downloadable/Samples.php |    48 +-
 .../Sales/Items/Column/Downloadable/Name.php  |    35 +-
 .../Block/Catalog/Product/Links.php           |    26 +-
 .../Block/Checkout/Cart/Item/Renderer.php     |    14 +-
 .../Block/Customer/Products/ListProducts.php  |     8 +-
 .../Sales/Order/Email/Items/Downloadable.php  |     6 +-
 .../Order/Email/Items/Order/Downloadable.php  |    11 +-
 .../Order/Item/Renderer/Downloadable.php      |     8 +-
 .../Adminhtml/Downloadable/File.php           |     6 +-
 .../Adminhtml/Downloadable/Product/Edit.php   |     2 +-
 .../Downloadable/Controller/Customer.php      |    30 +-
 .../Downloadable/Controller/Download.php      |     6 +-
 .../Helper/Catalog/Product/Configuration.php  |     6 +-
 app/code/Magento/Downloadable/Helper/Data.php |     6 +-
 .../Magento/Downloadable/Helper/Download.php  |    34 +-
 app/code/Magento/Downloadable/Helper/File.php |     6 +-
 .../Attribute/Edit/Main/AbstractMain.php      |    52 +-
 .../Edit/Options/AbstractOptions.php          |     2 +-
 .../Attribute/Edit/Options/Labels.php         |    30 +-
 .../Attribute/Edit/Options/Options.php        |    38 +-
 app/code/Magento/Eav/Helper/Data.php          |     6 +-
 app/code/Magento/Eav/Model/Entity.php         |     4 +-
 .../Magento/Eav/Model/Entity/Attribute.php    |     4 +-
 .../Entity/Attribute/AbstractAttribute.php    |     6 +-
 .../Model/Entity/Attribute/Backend/Store.php  |     6 +-
 .../Entity/Collection/AbstractCollection.php  |     6 +-
 app/code/Magento/Eav/Model/Form.php           |     6 +-
 app/code/Magento/Eav/Model/Form/Fieldset.php  |     4 +-
 .../Model/Resource/Attribute/Collection.php   |     6 +-
 .../Entity/Attribute/Option/Collection.php    |     6 +-
 .../Resource/Form/Attribute/Collection.php    |     6 +-
 .../Resource/Form/Fieldset/Collection.php     |     6 +-
 .../Block/Adminhtml}/Template.php             |    12 +-
 .../Block/Adminhtml}/Template/Edit.php        |    44 +-
 .../Block/Adminhtml}/Template/Edit/Form.php   |    45 +-
 .../Adminhtml}/Template/Grid/Filter/Type.php  |    17 +-
 .../Template/Grid/Renderer/Action.php         |    10 +-
 .../Template/Grid/Renderer/Sender.php         |    12 +-
 .../Template/Grid/Renderer/Type.php           |    16 +-
 .../Block/Adminhtml}/Template/Preview.php     |    24 +-
 .../Controller/Adminhtml}/Email/Template.php  |    74 +-
 .../Message.php => Email/Helper/Data.php}     |    17 +-
 .../Model/BackendTemplate.php}                |    25 +-
 .../Model/Email => Email/Model}/Info.php      |    18 +-
 .../Model/Resource}/Template.php              |    16 +-
 .../Model/Resource}/Template/Collection.php   |     8 +-
 .../Magento/{Core => Email}/Model/Sender.php  |    20 +-
 .../Model/Source}/Variables.php               |     6 +-
 .../Model/Email => Email/Model}/Template.php  |   105 +-
 .../Email => Email/Model}/Template/Config.php |     8 +-
 .../Model}/Template/Config/Converter.php      |     2 +-
 .../Model}/Template/Config/Data.php           |     6 +-
 .../Model}/Template/Config/Reader.php         |    10 +-
 .../Model}/Template/Config/SchemaLocator.php  |     4 +-
 .../Email => Email/Model}/Template/Filter.php |    44 +-
 .../Email => Email/Model}/Template/Mailer.php |    36 +-
 .../Model/Email => Email/Model}/Transport.php |     4 +-
 app/code/Magento/Email/etc/adminhtml/acl.xml  |    40 +
 app/code/Magento/Email/etc/adminhtml/menu.xml |    32 +
 .../Magento/Email/etc/adminhtml/routes.xml    |    32 +
 app/code/Magento/Email/etc/config.xml         |    69 +
 app/code/Magento/Email/etc/di.xml             |    27 +
 .../{Core => Email}/etc/email_templates.xsd   |     0
 .../etc/email_templates_file.xsd              |     0
 .../etc/email_templates_types.xsd             |     0
 app/code/Magento/Email/etc/module.xml         |    33 +
 .../Email/sql/email_setup/install-1.0.0.0.php |   149 +
 .../layout/adminhtml_email_template_grid.xml} |     2 +-
 .../adminhtml_email_template_grid_block.xml}  |     8 +-
 .../adminhtml_email_template_index.xml}       |     4 +-
 .../view/adminhtml/layout/systemPreview.xml}  |     4 +-
 .../view/adminhtml}/template/edit.phtml       |     8 +-
 .../view/adminhtml}/template/list.phtml       |     2 +-
 .../view/adminhtml}/template/preview.phtml    |     2 +-
 .../Adminhtml/Sales/Order/Create/Form.php     |    24 +-
 .../Block/Adminhtml/Sales/Order/View/Form.php |    24 +-
 .../GiftMessage/Block/Message/Inline.php      |    12 +-
 app/code/Magento/GiftMessage/Helper/Data.php  |     2 +-
 .../Magento/GiftMessage/Helper/Message.php    |     8 +-
 .../GiftMessage/view/frontend/gift-options.js |     1 -
 .../GiftMessage/view/frontend/inline.phtml    |   415 +-
 app/code/Magento/GoogleAdwords/Block/Code.php |    12 +-
 .../Magento/GoogleAdwords/Helper/Data.php     |     6 +-
 .../Config/Backend/AbstractConversion.php     |     4 +-
 app/code/Magento/GoogleAnalytics/Block/Ga.php |    20 +-
 .../Magento/GoogleAnalytics/Helper/Data.php   |     6 +-
 .../GoogleAnalytics/Model/Observer.php        |    12 +-
 .../Block/Adminhtml/Shipping/Merchant.php     |    34 +-
 .../Magento/GoogleCheckout/Block/Link.php     |    12 +-
 .../Magento/GoogleCheckout/Controller/Api.php |     4 +-
 .../GoogleCheckout/Controller/Redirect.php    |    10 +-
 .../Magento/GoogleCheckout/Helper/Data.php    |     6 +-
 .../GoogleOptimizer/Block/AbstractCode.php    |     8 +-
 .../Block/Adminhtml/AbstractTab.php           |    40 +-
 .../Category/Edit/Tab/Googleoptimizer.php     |    36 +-
 .../GoogleOptimizer/Block/Code/Page.php       |     6 +-
 .../Magento/GoogleOptimizer/Helper/Data.php   |     6 +-
 .../Magento/GoogleOptimizer/Helper/Form.php   |     2 +-
 .../GoogleShopping/Block/Adminhtml/Items.php  |    24 +-
 .../Block/Adminhtml/Items/Item.php            |    30 +-
 .../Block/Adminhtml/Items/Product.php         |    42 +-
 .../Block/Adminhtml/Types/Edit.php            |    26 +-
 .../Block/Adminhtml/Types/Edit/Attributes.php |    30 +-
 .../Block/Adminhtml/Types/Edit/Form.php       |    52 +-
 .../Adminhtml/Types/Renderer/Country.php      |    18 +-
 .../GoogleShopping/Block/SiteVerification.php |     6 +-
 .../Adminhtml/Googleshopping/Items.php        |    20 +-
 .../Adminhtml/Googleshopping/Selection.php    |     8 +-
 .../Adminhtml/Googleshopping/Types.php        |    57 +-
 .../Magento/GoogleShopping/Helper/Data.php    |     6 +-
 .../Magento/GoogleShopping/Helper/Product.php |     2 +-
 .../Block/Adminhtml/Export/Edit/Form.php      |    36 +-
 .../Block/Adminhtml/Export/Filter.php         |    52 +-
 .../Block/Adminhtml/Form/After.php            |    24 +-
 .../Block/Adminhtml/Import/Edit/Before.php    |    24 +-
 .../Block/Adminhtml/Import/Edit/Form.php      |    40 +-
 .../Block/Adminhtml/Import/Frame/Result.php   |     4 +-
 .../Controller/Adminhtml/Export.php           |    41 +-
 .../Controller/Adminhtml/Import.php           |    43 +-
 app/code/Magento/ImportExport/Helper/Data.php |     8 +-
 .../Model/Export/Entity/Product.php           |     6 +-
 .../Model/Import/Entity/Product.php           |     6 +-
 .../layout/adminhtml_import_busy.xml          |     2 +-
 .../Index/Block/Adminhtml/Process/Edit.php    |    24 +-
 .../Index/Block/Adminhtml/Process/Grid.php    |    38 +-
 .../Index/Controller/Adminhtml/Process.php    |    29 +-
 app/code/Magento/Index/Helper/Data.php        |     2 +-
 app/code/Magento/Index/Model/Process.php      |    10 -
 .../Install/App/Action/Plugin/Design.php      |    98 +
 .../Magento/Install/App/Action/Plugin/Dir.php |    69 +
 .../Magento/Install/Block/AbstractBlock.php   |     8 +-
 app/code/Magento/Install/Block/Begin.php      |    12 +-
 app/code/Magento/Install/Block/Config.php     |     8 +-
 app/code/Magento/Install/Block/Db/Main.php    |    10 +-
 app/code/Magento/Install/Block/Db/Type.php    |     8 +-
 app/code/Magento/Install/Block/Download.php   |     6 +-
 app/code/Magento/Install/Block/End.php        |    18 +-
 app/code/Magento/Install/Block/Locale.php     |    34 +-
 app/code/Magento/Install/Block/State.php      |     8 +-
 .../Magento/Install/Controller/Action.php     |    95 +-
 app/code/Magento/Install/Controller/Index.php |    40 +-
 .../Magento/Install/Controller/Wizard.php     |   108 +-
 app/code/Magento/Install/Helper/Data.php      |     2 +-
 .../Install/Model/Installer/Console.php       |     2 +-
 app/code/Magento/Install/etc/install/di.xml   |     7 +
 .../view/install/layout/install_wizard.xml    |     2 +-
 .../Block/Adminhtml/Integration/Edit.php      |    26 +-
 .../Adminhtml/Integration/Edit/Tab/Info.php   |    34 +-
 .../Controller/Adminhtml/Integration.php      |    29 +-
 .../Magento/Integration/Controller/Token.php  |     8 +-
 app/code/Magento/Integration/Helper/Data.php  |     2 +-
 .../Model/Config/Api/Converter.php            |    67 +
 .../Integration/Model/Config/Api/Reader.php   |    57 +
 .../Model/Config/Api/SchemaLocator.php        |    73 +
 .../Integration/Model/Config/Converter.php    |    82 +
 .../Integration/Model/Config/Reader.php       |    57 +
 .../Model/Config/SchemaLocator.php            |    73 +
 .../Integration/etc/integration/api.xsd       |    63 +
 .../Integration/etc/integration/config.xsd    |    75 +
 app/code/Magento/Log/Helper/Data.php          |     2 +-
 app/code/Magento/Log/Model/Cron.php           |     8 +-
 app/code/Magento/Log/Model/Visitor.php        |    10 -
 app/code/Magento/Log/Model/Visitor/Online.php |    12 +-
 .../Magento/Newsletter/Block/Subscribe.php    |    10 +-
 .../Magento/Newsletter/Controller/Manage.php  |    56 +-
 .../Newsletter/Controller/Subscriber.php      |    34 +-
 app/code/Magento/Newsletter/Helper/Data.php   |    27 +-
 app/code/Magento/Newsletter/Model/Queue.php   |    14 +-
 .../Magento/Newsletter/Model/Subscriber.php   |    12 +-
 .../Magento/Newsletter/Model/Template.php     |     3 +-
 app/code/Magento/Ogone/Block/Paypage.php      |     2 +-
 app/code/Magento/Ogone/Block/Placeform.php    |    13 +-
 app/code/Magento/Ogone/Controller/Api.php     |    16 +-
 app/code/Magento/Ogone/Helper/Data.php        |     2 +-
 .../Magento/Ogone/view/frontend/form.phtml    |    10 +-
 .../frontend/layout/ogone_api_placeform.xml   |     1 +
 .../Ogone/view/frontend/placeform.phtml       |     6 +-
 app/code/Magento/Page/Block/Html.php          |    36 +-
 .../Magento/Page/Block/Html/Breadcrumbs.php   |     2 +-
 app/code/Magento/Page/Block/Html/Footer.php   |    20 +-
 app/code/Magento/Page/Block/Html/Head.php     |    40 +-
 app/code/Magento/Page/Block/Html/Head/Css.php |     6 +-
 .../Magento/Page/Block/Html/Head/Link.php     |    14 +-
 .../Magento/Page/Block/Html/Head/Script.php   |     6 +-
 app/code/Magento/Page/Block/Html/Header.php   |    20 +-
 app/code/Magento/Page/Block/Html/Notices.php  |    12 +-
 app/code/Magento/Page/Block/Html/Pager.php    |     2 +-
 app/code/Magento/Page/Block/Html/Title.php    |     2 +-
 app/code/Magento/Page/Block/Html/Topmenu.php  |     2 +-
 app/code/Magento/Page/Block/Html/Welcome.php  |     8 +-
 app/code/Magento/Page/Block/Js/Components.php |    23 +-
 app/code/Magento/Page/Block/Js/Cookie.php     |    12 +-
 app/code/Magento/Page/Block/Js/Translate.php  |     2 +-
 app/code/Magento/Page/Block/Link.php          |     2 +-
 app/code/Magento/Page/Block/Link/Current.php  |     8 +-
 app/code/Magento/Page/Block/Links.php         |     6 +-
 app/code/Magento/Page/Block/Redirect.php      |    12 +-
 app/code/Magento/Page/Block/Switcher.php      |    23 +-
 .../Magento/Page/Block/Template/Container.php |     2 +-
 .../Page/Block/Template/Links/Block.php       |     2 +-
 app/code/Magento/Page/Helper/Data.php         |     2 +-
 app/code/Magento/Page/Helper/Html.php         |     2 +-
 app/code/Magento/Page/Helper/Layout.php       |     6 +-
 app/code/Magento/Page/Helper/Robots.php       |     6 +-
 .../Page/view/frontend/js/calendar.phtml      |     2 +-
 .../Page/view/frontend/layout/default.xml     |     9 +-
 .../frontend/layout/default_head_blocks.xml   |   122 +
 .../view/frontend/layout/page_calendar.xml    |     2 +-
 .../Page/view/frontend/layout/print.xml       |     1 +
 .../Block/Adminhtml/Cache/Additional.php      |    24 +-
 .../Controller/Adminhtml/PageCache.php        |     2 +-
 app/code/Magento/PageCache/Helper/Data.php    |     6 +-
 .../frontend/layout/catalog_product_view.xml  |     2 +-
 .../Paygate/Authorizenet/Payment.php          |     8 +-
 .../Controller/Authorizenet/Payment.php       |     8 +-
 app/code/Magento/Paygate/Helper/Data.php      |     2 +-
 .../Block/Catalog/Product/View/Profile.php    |    27 +-
 app/code/Magento/Payment/Block/Form.php       |     2 +-
 app/code/Magento/Payment/Block/Form/Cc.php    |     8 +-
 .../Magento/Payment/Block/Form/Container.php  |     2 +-
 app/code/Magento/Payment/Block/Info.php       |    28 +-
 .../Payment/Block/Info/AbstractContainer.php  |    12 +-
 app/code/Magento/Payment/Block/Info/Cc.php    |    20 +-
 app/code/Magento/Payment/Helper/Data.php      |     8 +-
 .../Magento/Payment/Model/Method/Free.php     |     2 +-
 .../Payment/view/frontend/form/cc.phtml       |    72 +-
 .../Payment/view/frontend/form/ccsave.phtml   |    73 +-
 .../view/frontend/form/purchaseorder.phtml    |     2 +-
 .../frontend/layout/catalog_product_view.xml  |     2 +-
 .../Adminhtml/Settlement/Details/Form.php     |    40 +-
 .../System/Config/Fieldset/Store.php          |    18 +-
 .../Magento/Paypal/Block/Express/Form.php     |    14 +-
 .../Magento/Paypal/Block/Express/Review.php   |     2 +-
 .../Magento/Paypal/Block/Express/Shortcut.php |    28 +-
 app/code/Magento/Paypal/Block/Iframe.php      |     8 +-
 app/code/Magento/Paypal/Block/Logo.php        |    16 +-
 .../Paypal/Block/Payflow/Link/Iframe.php      |    10 +-
 .../Magento/Paypal/Block/Payment/Info.php     |    10 +-
 .../Magento/Paypal/Block/Standard/Form.php    |    18 +-
 .../Paypal/Block/Standard/Redirect.php        |     6 +-
 .../Controller/Adminhtml/Paypal/Reports.php   |    37 +-
 .../Magento/Paypal/Controller/Express.php     |    11 +-
 .../Controller/Express/AbstractExpress.php    |    60 +-
 .../Magento/Paypal/Controller/Hostedpro.php   |     8 +-
 app/code/Magento/Paypal/Controller/Ipn.php    |    11 +-
 .../Magento/Paypal/Controller/Payflow.php     |    25 +-
 .../Paypal/Controller/Payflowadvanced.php     |    31 +-
 .../Magento/Paypal/Controller/Standard.php    |     4 +-
 app/code/Magento/Paypal/Helper/Checkout.php   |     2 +-
 app/code/Magento/Paypal/Helper/Data.php       |     6 +-
 app/code/Magento/Paypal/Helper/Hss.php        |     6 +-
 app/code/Magento/Paypal/Model/Observer.php    |    18 +-
 .../Paypal/Model/Payment/Transaction.php      |    10 -
 .../Model/System/Config/Backend/Cert.php      |     4 +-
 .../Model/System/Config/Backend/Cron.php      |     4 +-
 .../Magento/Paypal/view/frontend/hss/js.phtml |     1 -
 .../frontend/layout/paypal_express_review.xml |     2 +-
 app/code/Magento/PaypalUk/Helper/Data.php     |     2 +-
 .../Persistent/Block/Form/Remember.php        |    13 +-
 .../Persistent/Block/Header/Additional.php    |    12 +-
 .../Magento/Persistent/Controller/Index.php   |    10 +-
 app/code/Magento/Persistent/Helper/Data.php   |    18 +-
 .../Magento/Persistent/Helper/Session.php     |     8 +-
 .../Magento/Persistent/Model/Observer.php     |    12 +-
 .../Persistent/Model/Observer/Session.php     |    20 +-
 .../layout/checkout_onepage_index.xml         |     4 +-
 .../layout/customer_account_create.xml        |     2 +-
 .../layout/customer_account_login.xml         |     2 +-
 .../view/frontend/remember_me_tooltip.phtml   |     2 +-
 .../Block/Email/AbstractEmail.php             |    23 +-
 .../ProductAlert/Block/Product/View.php       |    12 +-
 .../Magento/ProductAlert/Controller/Add.php   |    64 +-
 .../ProductAlert/Controller/Unsubscribe.php   |    25 +-
 app/code/Magento/ProductAlert/Helper/Data.php |    16 +-
 app/code/Magento/ProductAlert/Model/Email.php |     6 +-
 .../Magento/ProductAlert/Model/Observer.php   |     8 +-
 .../Magento/Rating/Block/Adminhtml/Edit.php   |    28 +-
 .../Rating/Block/Adminhtml/Edit/Tab/Form.php  |    26 +-
 .../Block/Adminhtml/Edit/Tab/Options.php      |    32 +-
 .../Magento/Rating/Block/Entity/Detailed.php  |    20 +-
 .../Rating/Controller/Adminhtml/Index.php     |    24 +-
 app/code/Magento/Rating/Helper/Data.php       |     2 +-
 .../Magento/Rating/Model/Resource/Rating.php  |     6 +-
 .../Magento/Reports/Block/Adminhtml/Grid.php  |    27 -
 .../Reports/Block/Product/AbstractProduct.php |    28 +-
 app/code/Magento/Reports/Helper/Data.php      |     6 +-
 .../Model/Resource/Product/Collection.php     |     6 +-
 .../Index/Collection/AbstractCollection.php   |     6 +-
 .../Resource/Product/Lowstock/Collection.php  |     6 +-
 .../Review/Block/Customer/ListCustomer.php    |    18 +-
 .../Magento/Review/Block/Customer/Recent.php  |    28 +-
 .../Magento/Review/Block/Customer/View.php    |    27 +-
 app/code/Magento/Review/Block/Form.php        |    20 +-
 app/code/Magento/Review/Block/Helper.php      |    16 +-
 .../Magento/Review/Block/Product/View.php     |    44 +-
 .../Review/Block/Product/View/Other.php       |     8 +-
 app/code/Magento/Review/Block/View.php        |    30 +-
 .../Magento/Review/Controller/Customer.php    |    42 +-
 .../Magento/Review/Controller/Product.php     |   100 +-
 .../Magento/Review/Helper/Action/Pager.php    |     6 +-
 app/code/Magento/Review/Helper/Data.php       |     6 +-
 app/code/Magento/Review/etc/frontend/di.xml   |     8 +
 .../frontend/layout/review_product_list.xml   |     2 +-
 .../Rss/App/Action/Plugin/Authentication.php  |   123 +
 app/code/Magento/Rss/Block/AbstractBlock.php  |    20 +-
 .../Rss/Block/Catalog/AbstractCatalog.php     |    14 +-
 .../Magento/Rss/Block/Catalog/Category.php    |    12 +-
 .../Magento/Rss/Block/Catalog/NewCatalog.php  |    20 +-
 .../Magento/Rss/Block/Catalog/Salesrule.php   |     8 +-
 .../Magento/Rss/Block/Catalog/Special.php     |    12 +-
 app/code/Magento/Rss/Block/ListBlock.php      |    18 +-
 app/code/Magento/Rss/Block/Order/Details.php  |     2 +-
 app/code/Magento/Rss/Block/Order/Status.php   |     8 +-
 app/code/Magento/Rss/Block/Wishlist.php       |    23 +-
 .../Rss/Controller/Adminhtml/Authenticate.php |    60 +-
 .../Rss/Controller/Adminhtml/Catalog.php      |    23 +-
 .../Rss/Controller/Adminhtml/Order.php        |    14 +-
 app/code/Magento/Rss/Controller/Catalog.php   |    10 +-
 app/code/Magento/Rss/Controller/Index.php     |    20 +-
 app/code/Magento/Rss/Controller/Order.php     |    10 +-
 app/code/Magento/Rss/Helper/Order.php         |     6 +-
 .../Rss/Model/System/Config/Backend/Links.php |     6 +-
 app/code/Magento/Rss/etc/adminhtml/di.xml     |    30 +
 app/code/Magento/Rule/Block/Editable.php      |    18 +-
 app/code/Magento/Rule/Block/Newchild.php      |     2 +-
 app/code/Magento/Rule/Block/Rule.php          |     2 +-
 app/code/Magento/Rule/Helper/Data.php         |     2 +-
 .../Adminhtml/Billing/Agreement/Grid.php      |    38 +-
 .../Adminhtml/Billing/Agreement/View.php      |    24 +-
 .../Billing/Agreement/View/Tab/Info.php       |    28 +-
 .../Billing/Agreement/View/Tab/Orders.php     |     2 +-
 .../Sales/Block/Adminhtml/Creditmemo/Grid.php |    34 +-
 .../Adminhtml/Customer/Edit/Tab/Agreement.php |    51 +-
 .../Customer/Edit/Tab/Recurring/Profile.php   |    51 +-
 .../Sales/Block/Adminhtml/Invoice/Grid.php    |    34 +-
 .../Block/Adminhtml/Items/AbstractItems.php   |    34 +-
 .../Adminhtml/Items/Column/DefaultColumn.php  |    24 +-
 .../Block/Adminhtml/Items/Column/Name.php     |    27 +-
 .../Block/Adminhtml/Order/AbstractOrder.php   |    24 +-
 .../Sales/Block/Adminhtml/Order/Address.php   |    24 +-
 .../Block/Adminhtml/Order/Address/Form.php    |    61 +-
 .../Block/Adminhtml/Order/Comments/View.php   |    24 +-
 .../Sales/Block/Adminhtml/Order/Create.php    |    24 +-
 .../Adminhtml/Order/Create/AbstractCreate.php |    16 +-
 .../Order/Create/Billing/Method/Form.php      |    10 +-
 .../Block/Adminhtml/Order/Create/Data.php     |    32 +-
 .../Block/Adminhtml/Order/Create/Form.php     |    32 +-
 .../Order/Create/Form/AbstractForm.php        |    32 +-
 .../Adminhtml/Order/Create/Form/Account.php   |    40 +-
 .../Adminhtml/Order/Create/Form/Address.php   |    44 +-
 .../Adminhtml/Order/Create/Giftmessage.php    |    32 +-
 .../Order/Create/Giftmessage/Form.php         |    32 +-
 .../Adminhtml/Order/Create/Items/Grid.php     |    46 +-
 .../Block/Adminhtml/Order/Create/Load.php     |    12 +-
 .../Block/Adminhtml/Order/Create/Messages.php |    26 +-
 .../Adminhtml/Order/Create/Search/Grid.php    |    42 +-
 .../Order/Create/Shipping/Method/Form.php     |    32 +-
 .../Order/Create/Sidebar/AbstractSidebar.php  |    32 +-
 .../Order/Create/Sidebar/Pcompared.php        |    40 +-
 .../Order/Create/Sidebar/Pviewed.php          |    40 +-
 .../Order/Create/Sidebar/Reorder.php          |    36 +-
 .../Block/Adminhtml/Order/Create/Totals.php   |    36 +-
 .../Order/Create/Totals/Discount.php          |    40 +-
 .../Order/Create/Totals/Grandtotal.php        |    40 +-
 .../Order/Create/Totals/Shipping.php          |    40 +-
 .../Order/Create/Totals/Subtotal.php          |    40 +-
 .../Adminhtml/Order/Creditmemo/Create.php     |    24 +-
 .../Order/Creditmemo/Create/Adjustments.php   |    24 +-
 .../Order/Creditmemo/Create/Items.php         |    32 +-
 .../Block/Adminhtml/Order/Creditmemo/View.php |    24 +-
 .../Order/Creditmemo/View/Comments.php        |     4 +-
 .../Block/Adminhtml/Order/Invoice/Create.php  |    24 +-
 .../Adminhtml/Order/Invoice/Create/Items.php  |    32 +-
 .../Order/Invoice/Create/Tracking.php         |    28 +-
 .../Block/Adminhtml/Order/Invoice/View.php    |    28 +-
 .../Adminhtml/Order/Invoice/View/Comments.php |     4 +-
 .../Sales/Block/Adminhtml/Order/Payment.php   |    24 +-
 .../Block/Adminhtml/Order/Shipment/Create.php |    24 +-
 .../Adminhtml/Order/Shipment/Create/Items.php |    32 +-
 .../Order/Shipment/Create/Tracking.php        |    28 +-
 .../Adminhtml/Order/Shipment/Packaging.php    |    28 +-
 .../Order/Shipment/Packaging/Grid.php         |    28 +-
 .../Block/Adminhtml/Order/Shipment/View.php   |    24 +-
 .../Order/Shipment/View/Comments.php          |     4 +-
 .../Order/Shipment/View/Tracking.php          |    28 +-
 .../Adminhtml/Order/Status/Assign/Form.php    |    36 +-
 .../Block/Adminhtml/Order/Totals/Tax.php      |    12 +-
 .../Sales/Block/Adminhtml/Order/View.php      |    28 +-
 .../Adminhtml/Order/View/Giftmessage.php      |    28 +-
 .../Block/Adminhtml/Order/View/History.php    |    28 +-
 .../Sales/Block/Adminhtml/Order/View/Info.php |    43 +-
 .../Block/Adminhtml/Order/View/Messages.php   |    20 +-
 .../Adminhtml/Order/View/Tab/Creditmemos.php  |    38 +-
 .../Adminhtml/Order/View/Tab/History.php      |    24 +-
 .../Adminhtml/Order/View/Tab/Invoices.php     |    38 +-
 .../Adminhtml/Order/View/Tab/Shipments.php    |    34 +-
 .../Sales/Block/Adminhtml/Order/View/Tabs.php |    28 +-
 .../Adminhtml/Recurring/Profile/Edit/Form.php |    22 +-
 .../Adminhtml/Recurring/Profile/Grid.php      |    38 +-
 .../Adminhtml/Recurring/Profile/View.php      |    24 +-
 .../Recurring/Profile/View/Getawayinfo.php    |    24 +-
 .../Adminhtml/Recurring/Profile/View/Info.php |    24 +-
 .../Recurring/Profile/View/Items.php          |    25 -
 .../Recurring/Profile/View/Tab/Orders.php     |    38 +-
 .../Adminhtml/Reorder/Renderer/Action.php     |    18 +-
 .../Block/Adminhtml/Report/Filter/Form.php    |    32 +-
 .../Adminhtml/Report/Filter/Form/Coupon.php   |    36 +-
 .../Sales/Block/Adminhtml/Shipment/Grid.php   |    30 +-
 .../Block/Adminhtml/Transactions/Detail.php   |    24 +-
 .../Adminhtml/Transactions/Detail/Grid.php    |    34 +-
 .../Block/Adminhtml/Transactions/Grid.php     |    42 +-
 .../Sales/Block/Billing/Agreement/View.php    |    10 +-
 .../Sales/Block/Billing/Agreements.php        |    10 +-
 app/code/Magento/Sales/Block/Guest/Link.php   |     6 +-
 .../Sales/Block/Items/AbstractItems.php       |     8 +-
 .../Magento/Sales/Block/Order/Comments.php    |     8 +-
 .../Magento/Sales/Block/Order/Creditmemo.php  |     6 +-
 .../Sales/Block/Order/Creditmemo/Items.php    |     6 +-
 .../Block/Order/Email/Creditmemo/Items.php    |     4 +-
 .../Sales/Block/Order/Email/Invoice/Items.php |     4 +-
 .../Block/Order/Email/Items/DefaultItems.php  |     4 +-
 .../Order/Email/Items/Order/DefaultOrder.php  |     4 +-
 .../Block/Order/Email/Shipment/Items.php      |     4 +-
 .../Magento/Sales/Block/Order/History.php     |    25 +-
 app/code/Magento/Sales/Block/Order/Info.php   |     8 +-
 .../Sales/Block/Order/Info/Buttons.php        |     8 +-
 .../Magento/Sales/Block/Order/Invoice.php     |     6 +-
 .../Sales/Block/Order/Invoice/Items.php       |     6 +-
 .../Order/Item/Renderer/DefaultRenderer.php   |    23 +-
 app/code/Magento/Sales/Block/Order/Items.php  |     6 +-
 app/code/Magento/Sales/Block/Order/Link.php   |    10 +-
 .../Block/Order/PrintOrder/Creditmemo.php     |     8 +-
 .../Sales/Block/Order/PrintOrder/Invoice.php  |     8 +-
 .../Sales/Block/Order/PrintOrder/Shipment.php |     8 +-
 .../Sales/Block/Order/PrintShipment.php       |     8 +-
 app/code/Magento/Sales/Block/Order/Recent.php |     8 +-
 .../Magento/Sales/Block/Order/Shipment.php    |     8 +-
 .../Sales/Block/Order/Shipment/Items.php      |     6 +-
 app/code/Magento/Sales/Block/Order/Totals.php |     8 +-
 app/code/Magento/Sales/Block/Order/View.php   |     8 +-
 .../Block/Payment/Form/Billing/Agreement.php  |     6 +-
 .../Sales/Block/Recurring/Profile/Grid.php    |    21 +-
 .../Recurring/Profile/Related/Orders/Grid.php |    14 +-
 .../Sales/Block/Recurring/Profile/View.php    |    29 +-
 .../Block/Recurring/Profile/View/Address.php  |    15 +-
 .../Block/Recurring/Profile/View/Item.php     |    14 +-
 .../Sales/Block/Recurring/Profiles.php        |     2 +-
 .../Magento/Sales/Block/Reorder/Sidebar.php   |    18 +-
 .../Sales/Block/Status/Grid/Column/State.php  |    24 +-
 .../Magento/Sales/Block/Widget/Guest/Form.php |    10 +-
 .../Sales/Controller/AbstractController.php   |    32 +-
 .../Adminhtml/Billing/Agreement.php           |    36 +-
 .../Sales/Controller/Adminhtml/Creditmemo.php |    10 +-
 .../Creditmemo/AbstractCreditmemo.php         |    35 +-
 .../Sales/Controller/Adminhtml/Invoice.php    |     8 +-
 .../Adminhtml/Invoice/AbstractInvoice.php     |    40 +-
 .../Sales/Controller/Adminhtml/Order.php      |    89 +-
 .../Controller/Adminhtml/Order/Create.php     |    41 +-
 .../Controller/Adminhtml/Order/Creditmemo.php |    42 +-
 .../Sales/Controller/Adminhtml/Order/Edit.php |     9 +-
 .../Controller/Adminhtml/Order/Invoice.php    |    49 +-
 .../Controller/Adminhtml/Order/Shipment.php   |    60 +-
 .../Controller/Adminhtml/Order/Status.php     |    39 +-
 .../Adminhtml/Order/View/Giftmessage.php      |     2 +-
 .../Adminhtml/Recurring/Profile.php           |    38 +-
 .../Sales/Controller/Adminhtml/Shipment.php   |     8 +-
 .../Adminhtml/Shipment/AbstractShipment.php   |    36 +-
 .../Controller/Adminhtml/Transactions.php     |    32 +-
 .../Sales/Controller/Billing/Agreement.php    |    57 +-
 .../Magento/Sales/Controller/Download.php     |    41 +-
 app/code/Magento/Sales/Controller/Guest.php   |    26 +-
 app/code/Magento/Sales/Controller/Order.php   |    26 +-
 .../Sales/Controller/Recurring/Profile.php    |    51 +-
 app/code/Magento/Sales/Helper/Admin.php       |    12 +-
 app/code/Magento/Sales/Helper/Guest.php       |    44 +-
 app/code/Magento/Sales/Helper/Reorder.php     |     8 +-
 .../Magento/Sales/Model/Email/Template.php    |     2 +-
 app/code/Magento/Sales/Model/Order.php        |    35 +-
 .../Magento/Sales/Model/Order/Address.php     |     3 -
 .../Magento/Sales/Model/Order/Creditmemo.php  |    27 +-
 .../Magento/Sales/Model/Order/Invoice.php     |    27 +-
 app/code/Magento/Sales/Model/Order/Item.php   |    10 -
 .../Magento/Sales/Model/Order/Payment.php     |    10 -
 .../Sales/Model/Order/Payment/Transaction.php |    10 -
 .../Magento/Sales/Model/Order/Shipment.php    |    14 +-
 app/code/Magento/Sales/Model/Order/Status.php |     2 +-
 app/code/Magento/Sales/Model/Quote.php        |    27 +-
 .../Magento/Sales/Model/Quote/Address.php     |    18 +-
 app/code/Magento/Sales/Model/Quote/Item.php   |    10 -
 .../Magento/Sales/Model/Quote/Payment.php     |    31 -
 .../layout/sales_order_create_index.xml       |     2 +-
 .../sales_order_create_load_block_data.xml    |     2 +-
 .../sales_order_create_load_block_items.xml   |     2 +-
 .../layout/sales_order_creditmemo_new.xml     |     2 +-
 .../sales_order_creditmemo_updateqty.xml      |     2 +-
 .../layout/sales_order_creditmemo_view.xml    |     2 +-
 .../layout/sales_order_invoice_new.xml        |     2 +-
 .../layout/sales_order_invoice_updateqty.xml  |     2 +-
 .../layout/sales_order_invoice_view.xml       |     2 +-
 .../layout/sales_order_shipment_new.xml       |     2 +-
 .../layout/sales_order_shipment_view.xml      |     2 +-
 .../adminhtml/layout/sales_order_view.xml     |     2 +-
 .../Sales/view/email/shipment_new.html        |     4 +-
 .../Sales/view/email/shipment_new_guest.html  |     4 +-
 .../sales_email_order_creditmemo_items.xml    |     2 +-
 .../sales_email_order_invoice_items.xml       |     2 +-
 .../layout/sales_email_order_items.xml        |     2 +-
 .../sales_email_order_shipment_items.xml      |     2 +-
 .../layout/sales_order_creditmemo.xml         |     2 +-
 .../frontend/layout/sales_order_invoice.xml   |     2 +-
 .../frontend/layout/sales_order_print.xml     |     2 +-
 .../layout/sales_order_printcreditmemo.xml    |     2 +-
 .../layout/sales_order_printinvoice.xml       |     2 +-
 .../layout/sales_order_printshipment.xml      |     2 +-
 .../frontend/layout/sales_order_shipment.xml  |     2 +-
 .../view/frontend/layout/sales_order_view.xml |     2 +-
 .../sales_recurring_profile_view__tabs.xml    |     8 +-
 .../Sales/view/frontend/recurring/grid.phtml  |     2 +-
 .../Block/Adminhtml/Promo/Quote/Edit.php      |    24 +-
 .../Promo/Quote/Edit/Tab/Actions.php          |    40 +-
 .../Promo/Quote/Edit/Tab/Conditions.php       |    36 +-
 .../Promo/Quote/Edit/Tab/Coupons.php          |     4 +-
 .../Promo/Quote/Edit/Tab/Coupons/Form.php     |    32 +-
 .../Promo/Quote/Edit/Tab/Coupons/Grid.php     |    34 +-
 .../Adminhtml/Promo/Quote/Edit/Tab/Labels.php |    22 +-
 .../Adminhtml/Promo/Quote/Edit/Tab/Main.php   |    26 +-
 .../Quote/Edit/Tab/Main/Renderer/Checkbox.php |    18 +-
 .../Controller/Adminhtml/Promo/Quote.php      |    79 +-
 app/code/Magento/SalesRule/Helper/Coupon.php  |     6 +-
 app/code/Magento/SalesRule/Helper/Data.php    |     2 +-
 .../Plugin/QuoteConfigProductAttributes.php   |     6 +-
 app/code/Magento/SalesRule/Model/Rule.php     |    10 -
 .../Magento/SalesRule/Model/Validator.php     |    10 -
 app/code/Magento/Sendfriend/Block/Send.php    |    12 +-
 .../Magento/Sendfriend/Controller/Product.php |    73 +-
 app/code/Magento/Sendfriend/Helper/Data.php   |     6 +-
 .../Magento/Sendfriend/Model/Sendfriend.php   |     8 +-
 .../Magento/Shipping/Block/Tracking/Ajax.php  |     2 +-
 .../Magento/Shipping/Block/Tracking/Popup.php |    24 +-
 .../Magento/Shipping/Controller/Tracking.php  |    21 +-
 app/code/Magento/Shipping/Helper/Data.php     |     6 +-
 .../Model/Config/Backend/Tablerate.php        |     4 +-
 .../layout/shipping_tracking_popup.xml        |     6 +-
 .../view/frontend/tracking/popup.phtml        |   259 +-
 .../Sitemap/Controller/Adminhtml/Sitemap.php  |    24 +-
 app/code/Magento/Sitemap/Helper/Data.php      |     6 +-
 app/code/Magento/Sitemap/Model/Observer.php   |     8 +-
 .../Magento/Tax/Block/Adminhtml/Rate/Form.php |    54 +-
 .../Tax/Block/Adminhtml/Rate/ImportExport.php |    20 +-
 .../Tax/Block/Adminhtml/Rate/Title.php        |    12 +-
 .../Magento/Tax/Block/Adminhtml/Rule/Edit.php |    24 +-
 .../Tax/Block/Adminhtml/Rule/Edit/Form.php    |    32 +-
 .../Magento/Tax/Block/Checkout/Discount.php   |    17 +-
 .../Magento/Tax/Block/Checkout/Grandtotal.php |    17 +-
 .../Magento/Tax/Block/Checkout/Shipping.php   |    17 +-
 .../Magento/Tax/Block/Checkout/Subtotal.php   |    17 +-
 .../Magento/Tax/Block/Sales/Order/Tax.php     |     8 +-
 .../Magento/Tax/Controller/Adminhtml/Rate.php |    87 +-
 .../Magento/Tax/Controller/Adminhtml/Rule.php |    30 +-
 .../Magento/Tax/Controller/Adminhtml/Tax.php  |     2 +-
 app/code/Magento/Tax/Helper/Data.php          |     6 +-
 app/code/Magento/Tax/Model/Calculation.php    |     2 +-
 .../Magento/Tax/Model/Calculation/Rate.php    |    10 -
 .../Magento/Tax/Model/Calculation/Rule.php    |    10 -
 .../Tax/Model/Config/Price/IncludePrice.php   |     4 +-
 .../Tax/Model/Rate/CsvImportHandler.php       |     1 +
 app/code/Magento/Tax/etc/sales.xml            |    10 +-
 .../view/frontend/checkout/grandtotal.phtml   |    20 +-
 .../Tax/view/frontend/checkout/shipping.phtml |    25 +-
 .../Tax/view/frontend/checkout/subtotal.phtml |    19 +-
 .../Tax/view/frontend/checkout/tax.phtml      |    22 +-
 .../Magento/Tax/view/frontend/order/tax.phtml |    19 +-
 .../Adminhtml/System/Design/Theme/Edit.php    |    26 +-
 .../System/Design/Theme/Edit/AbstractTab.php  |    32 +-
 .../System/Design/Theme/Edit/Tab/Css.php      |    36 +-
 .../System/Design/Theme/Edit/Tab/General.php  |    40 +-
 .../Adminhtml/System/Design/Theme.php         |    38 +-
 .../Adminhtml/System/Design/Wysiwyg/Files.php |    33 +-
 app/code/Magento/Theme/Helper/Data.php        |     2 +-
 app/code/Magento/Theme/Helper/Storage.php     |     6 +-
 .../Usa/Block/Adminhtml/Dhl/Unitofmeasure.php |    30 +-
 app/code/Magento/Usa/Helper/Data.php          |     6 +-
 .../Model/Shipping/Carrier/Dhl/Label/Pdf.php  |     2 +-
 .../Usa/Model/Shipping/Carrier/Ups.php        |     2 -
 app/code/Magento/User/Block/Buttons.php       |    24 +-
 app/code/Magento/User/Block/Role/Edit.php     |    28 +-
 .../Magento/User/Block/Role/Grid/User.php     |    36 +-
 app/code/Magento/User/Block/Role/Tab/Edit.php |    40 +-
 .../Magento/User/Block/Role/Tab/Users.php     |    30 +-
 app/code/Magento/User/Block/User.php          |    24 +-
 app/code/Magento/User/Block/User/Edit.php     |    24 +-
 .../Magento/User/Block/User/Edit/Tab/Main.php |    44 +-
 .../User/Block/User/Edit/Tab/Roles.php        |    34 +-
 .../User/Controller/Adminhtml/Auth.php        |    16 +-
 .../User/Controller/Adminhtml/User.php        |    30 +-
 .../User/Controller/Adminhtml/User/Role.php   |    32 +-
 app/code/Magento/User/Helper/Data.php         |     6 +-
 app/code/Magento/User/Model/User.php          |    40 +-
 .../data-upgrade-1.6.1.1-1.6.1.2.php          |     2 +-
 .../view/adminhtml/admin/forgotpassword.phtml |     3 +-
 .../admin/resetforgottenpassword.phtml        |     3 +-
 .../Adminhtml/Role/Edit/Tab/Resource.php      |    32 +-
 .../Webapi/Block/Adminhtml/Role/Edit/Tabs.php |     2 +-
 .../Webapi/Block/Adminhtml/User/Edit/Tabs.php |     2 +-
 .../Controller/Adminhtml/Webapi/Role.php      |    36 +-
 .../Controller/Adminhtml/Webapi/User.php      |    36 +-
 app/code/Magento/Webapi/Helper/Data.php       |     2 +-
 .../layout/adminhtml_webapi_role_edit.xml     |     2 +-
 .../view/adminhtml/rolesusersgridjs.phtml     |     2 +-
 .../Block/Adminhtml/Registration/Activate.php |    24 +-
 .../Registration/Create/Form/Container.php    |    24 +-
 .../Block/Adminhtml/Registration/Failed.php   |    24 +-
 .../Block/Adminhtml/Subscription/Edit.php     |    24 +-
 .../Adminhtml/Subscription/Edit/Form.php      |    40 +-
 .../Adminhtml/Webhook/Registration.php        |    25 +-
 .../Adminhtml/Webhook/Subscription.php        |    39 +-
 app/code/Magento/Webhook/Helper/Data.php      |     2 +-
 .../Magento/Weee/Block/Renderer/Weee/Tax.php  |    18 +-
 app/code/Magento/Weee/Helper/Data.php         |     6 +-
 .../Widget/Block/Adminhtml/Widget/Chooser.php |    24 +-
 .../Widget/Block/Adminhtml/Widget/Form.php    |    32 +-
 .../Block/Adminhtml/Widget/Instance/Edit.php  |    24 +-
 .../Instance/Edit/Chooser/Container.php       |     8 +-
 .../Edit/Chooser/DesignAbstraction.php        |     8 +-
 .../Widget/Instance/Edit/Chooser/Layout.php   |     8 +-
 .../Widget/Instance/Edit/Chooser/Template.php |     2 +-
 .../Widget/Instance/Edit/Tab/Main.php         |    20 +-
 .../Widget/Instance/Edit/Tab/Main/Layout.php  |    26 +-
 .../Widget/Instance/Edit/Tab/Settings.php     |    32 +-
 .../Widget/Block/Adminhtml/Widget/Options.php |    36 +-
 .../Widget/Controller/Adminhtml/Widget.php    |    16 +-
 .../Controller/Adminhtml/Widget/Instance.php  |    46 +-
 app/code/Magento/Widget/Helper/Data.php       |     2 +-
 .../Magento/Widget/Model/Template/Filter.php  |     4 +-
 .../Magento/Widget/Model/Widget/Instance.php  |     2 +-
 .../layout/adminhtml_widget_instance_edit.xml |     5 -
 .../Magento/Wishlist/Block/AbstractBlock.php  |    30 +-
 .../Wishlist/Block/Customer/Sharing.php       |    14 +-
 .../Wishlist/Block/Customer/Wishlist.php      |    23 +-
 .../Block/Customer/Wishlist/Button.php        |    12 +-
 .../Block/Customer/Wishlist/Item/Options.php  |    21 +-
 .../Block/Customer/Wishlist/Items.php         |     2 +-
 .../Magento/Wishlist/Block/Item/Configure.php |    12 +-
 .../Wishlist/Block/Render/Item/Price.php      |     2 +-
 .../Wishlist/Block/Share/Email/Rss.php        |     2 +-
 .../Magento/Wishlist/Block/Share/Wishlist.php |    21 +-
 .../Controller/AbstractController.php         |    10 +-
 .../Magento/Wishlist/Controller/Index.php     |   143 +-
 .../Magento/Wishlist/Controller/Shared.php    |    19 +-
 app/code/Magento/Wishlist/Helper/Data.php     |    20 +-
 app/code/Magento/Wishlist/Model/Wishlist.php  |    10 -
 app/code/Magento/Wishlist/etc/frontend/di.xml |    10 +
 .../customer/edit/tab/wishlist.phtml          |     2 +-
 .../layout/customer_index_wishlist.xml        |     2 +-
 .../Magento_Adminhtml/layout/default.xml      |    19 +-
 .../magento_backend/css/antiscroll.css        |    78 -
 .../adminhtml/magento_backend/css/debug.css   |  1731 ---
 .../adminhtml/magento_backend/css/styles.css  | 10622 ++++++++++++++++
 .../magento_backend/js/antiscroll.js          |   463 -
 .../magento_backend/less/clearless/all.less   |    35 +
 .../less/clearless/arrows.less                |   171 +
 .../magento_backend/less/clearless/grids.less |   185 +
 .../less/clearless/helpers.less               |   247 +
 .../magento_backend/less/clearless/icons.less |   326 +
 .../less/clearless/resets.less                |   306 +
 .../less/clearless/settings.less              |    49 +
 .../less/clearless/sprites.less               |    74 +
 .../less/clearless/typography.less            |    65 +
 .../magento_backend/less/lib/buttons.less     |   193 +
 .../magento_backend/less/styles.less          |    31 +
 .../{css/admin.css => less/styles/admin.less} |   667 +-
 .../magento_backend/less/styles/base.less     |   367 +
 .../magento_backend/less/styles/debug.less    |   831 ++
 .../header.css => less/styles/header.less}    |    40 +-
 .../{css/pages.css => less/styles/pages.less} |   297 +-
 .../adminhtml/magento_backend/less/vars.less  |    87 +
 .../adminhtml/magento_backend/mui/base.css    |   178 -
 .../Magento_Checkout/cart.phtml               |   172 +
 .../Magento_Checkout/cart/coupon.phtml        |    60 +
 .../Magento_Checkout}/cart/crosssell.phtml    |     0
 .../cart/item/configure/updatecart.phtml      |    22 +-
 .../Magento_Checkout/cart/item/default.phtml  |   147 +-
 .../Magento_Checkout/cart/shipping.phtml      |   127 +
 .../Magento_Checkout}/cart/sidebar.phtml      |     0
 .../cart/sidebar/default.phtml                |   145 +
 .../Magento_Checkout/cart/totals.phtml        |     7 +-
 .../magento_backup/Magento_Checkout/cvv.gif   |   Bin 0 -> 18112 bytes
 .../Magento_Checkout/js/accordion.js          |    58 +
 .../Magento_Checkout/js/components.phtml      |    40 +
 .../Magento_Checkout/js/discount-codes.js     |    47 +
 .../Magento_Checkout/js/multi-shipping.js     |    63 +
 .../Magento_Checkout/js/opcheckout.js         |   183 +-
 .../Magento_Checkout/js/overview.js           |    61 +
 .../js/payment-authentication.js              |    49 +
 .../Magento_Checkout/js/payment.js            |     4 +-
 .../Magento_Checkout/js/region-updater.js     |   177 +
 .../Magento_Checkout/js/shopping-cart.js      |    41 +
 .../Magento_Checkout/js/sidebar.js            |    44 +
 .../override/base/checkout_cart_configure.xml |    41 +
 ...kout_cart_configure_type_configurable.xml} |     4 +-
 .../checkout_cart_configure_type_simple.xml   |    28 +
 .../override/base/checkout_cart_index.xml     |    56 +
 .../override/base/checkout_multishipping.xml} |    12 +-
 ...kout_multishipping_address_editaddress.xml |     5 -
 ...kout_multishipping_address_editbilling.xml |     5 -
 ...out_multishipping_address_editshipping.xml |     5 -
 ...ckout_multishipping_address_newbilling.xml |     5 -
 ...kout_multishipping_address_newshipping.xml |     5 -
 .../checkout_multishipping_address_select.xml |    31 +
 ...ut_multishipping_address_selectbilling.xml |     5 -
 .../base/checkout_multishipping_addresses.xml |    35 +
 .../base}/checkout_multishipping_billing.xml  |    18 +-
 ...heckout_multishipping_customer_address.xml |     3 +-
 .../base/checkout_multishipping_login.xml}    |     1 +
 .../base/checkout_multishipping_overview.xml  |    46 +
 .../base/checkout_multishipping_register.xml} |     2 +-
 .../base/checkout_multishipping_shipping.xml  |    40 +
 .../base}/checkout_multishipping_success.xml  |     9 +-
 .../base/checkout_onepage_additional.xml      |     2 +-
 .../base/checkout_onepage_failure.xml         |     7 +-
 .../override/base/checkout_onepage_index.xml  |    23 +-
 .../base/checkout_onepage_paymentmethod.xml}  |    12 +-
 .../base/checkout_onepage_progress.xml        |    35 +
 .../override/base/checkout_onepage_review.xml |    37 +
 .../base/checkout_onepage_shippingmethod.xml  |    28 +
 .../base/checkout_onepage_success.xml         |     7 +-
 .../layout/override/base/default.xml          |    17 +-
 .../multishipping/address/select.phtml        |    42 +-
 .../multishipping/addresses.phtml             |    93 +
 .../multishipping/agreements.phtml            |     0
 .../multishipping/billing.phtml               |   111 +
 .../multishipping/billing/items.phtml         |    54 +
 .../multishipping/item/default.phtml          |    45 +
 .../Magento_Checkout/multishipping/link.phtml |     3 +-
 .../multishipping/overview.phtml              |   217 +
 .../multishipping/overview/item.phtml         |   102 +-
 .../multishipping/shipping.phtml              |   130 +
 .../multishipping/state.phtml                 |    13 +-
 .../multishipping/success.phtml               |    15 +-
 .../Magento_Checkout/onepage.phtml            |    98 +
 .../Magento_Checkout}/onepage/accordion.js    |     0
 .../onepage/agreements.phtml                  |     0
 .../Magento_Checkout/onepage/billing.phtml    |   218 +
 .../Magento_Checkout/onepage/failure.phtml    |     4 +
 .../Magento_Checkout/onepage/link.phtml       |     3 +-
 .../Magento_Checkout/onepage/login.phtml      |   120 +
 .../Magento_Checkout/onepage/payment.phtml    |    26 +-
 .../onepage/payment/methods.phtml             |    66 +
 .../Magento_Checkout/onepage/progress.phtml   |     9 +-
 .../Magento_Checkout/onepage/review.phtml}    |     5 +-
 .../onepage/review/button.phtml               |     3 +-
 .../onepage/review/info.phtml                 |    74 +
 .../onepage/review/item.phtml                 |    15 +-
 .../onepage/review/totals.phtml               |     5 +-
 .../Magento_Checkout/onepage/shipping.phtml   |   164 +
 .../onepage/shipping_method.phtml             |    13 +-
 .../onepage/shipping_method/additional.phtml} |    16 +-
 .../onepage/shipping_method/available.phtml   |    18 +-
 .../Magento_Checkout/success.phtml            |    40 +-
 .../Magento_Checkout/total/default.phtml      |    11 +-
 .../Magento_Checkout/total/nominal.phtml      |    56 +
 .../Magento_Checkout/total/tax.phtml          |    68 +
 .../base/customer_account_confirmation.xml    |     2 +-
 .../override/base/customer_account_index.xml  |     2 +-
 .../base/customer_account_logoutsuccess.xml   |     2 +-
 .../js/optional_zip_countries.phtml           |     2 +-
 .../Magento_GiftMessage/gift-options.js       |    95 +
 .../Magento_GiftMessage/inline.phtml          |   252 +
 .../Magento_Paypal/hss/review/button.phtml    |     2 +-
 .../override/checkout_onepage_index.xml       |     2 +-
 .../override/customer_account_create.xml      |     2 +-
 .../override/customer_account_login.xml       |     2 +-
 .../remember_me_tooltip.phtml                 |     2 +-
 .../sales_recurring_profile_view__tabs.xml    |     8 +-
 .../Magento_Sales/recurring/grid.phtml        |     2 +-
 .../layout/base/shipping_tracking_popup.xml}  |    12 +-
 .../Magento_Shipping/tracking/popup.phtml     |   177 +
 .../Magento_Tax/checkout/discount.phtml}      |     4 +-
 .../Magento_Tax/checkout/grandtotal.phtml     |    19 +-
 .../Magento_Tax/checkout/shipping.phtml       |    25 +-
 .../Magento_Tax/checkout/subtotal.phtml       |    19 +-
 .../Magento_Tax/checkout/tax.phtml            |    14 +-
 .../Magento_Tax/order/tax.phtml               |    81 +
 .../Magento_Catalog/layout/default.xml        |     2 +-
 .../override/base/catalog_product_view.xml    |     4 +-
 .../Magento_CatalogSearch/form.mini.phtml     |     2 +-
 .../Magento_Checkout/cart/coupon.phtml        |    69 -
 .../Magento_Checkout/cart/shipping.phtml      |   126 -
 .../cart/sidebar/default.phtml                |   352 -
 .../layout/checkout_cart_index.xml            |     2 +-
 .../layout/checkout_onepage_paymentmethod.xml |    31 -
 .../override/base/checkout_cart_index.xml     |    59 -
 .../multishipping/addresses.phtml             |    96 -
 .../multishipping/billing.phtml               |    98 -
 .../multishipping/billing/items.phtml         |    52 -
 .../multishipping/item/default.phtml          |    47 -
 .../multishipping/overview.phtml              |   186 -
 .../multishipping/shipping.phtml              |   118 -
 .../Magento_Checkout/onepage.phtml            |    95 -
 .../Magento_Checkout/onepage/billing.phtml    |   212 -
 .../Magento_Checkout/onepage/login.phtml      |   154 -
 .../onepage/review/info.phtml                 |    65 -
 .../Magento_Checkout/onepage/shipping.phtml   |   144 -
 .../Magento_Core/template.phtml               |    27 +
 .../Magento_GiftMessage/inline.phtml          |   301 -
 .../Magento_Shipping/tracking/popup.phtml     |   174 -
 .../frontend/magento_plushe/css/styles.css    |   433 +-
 .../magento_plushe/less/lib/forms.less        |    40 +-
 .../magento_plushe/less/lib/navigation.less   |     3 +
 .../less/responsive/responsive.less           |     4 +-
 .../frontend/magento_plushe/less/styles.less  |   244 +-
 app/etc/di.xml                                |    17 +-
 .../Magento/TestFramework/App/State.php       |     2 +-
 .../TestFramework/Interception/PluginList.php |    70 +
 .../Magento/TestFramework/ObjectManager.php   |     8 +-
 .../TestFramework/ObjectManagerFactory.php    |    34 +
 .../TestCase/AbstractController.php           |    12 +-
 .../testsuite/Magento/Test/CookieTest.php     |     4 +-
 .../testsuite/Magento/Test/RequestTest.php    |     3 +-
 .../Test/TestCase/ControllerAbstractTest.php  |    17 +-
 dev/tests/integration/phpunit.xml.dist        |     2 +-
 .../Block/Newsletter/SubscriberTest.php       |     4 +-
 .../Block/Widget/Form/ContainerTest.php       |     4 +-
 .../Block/Widget/Grid/Massaction/ItemTest.php |     2 +-
 .../Adminhtml/Block/Widget/GridTest.php       |     2 +-
 .../Adminhtml/Controller/CacheTest.php        |     2 +-
 .../Controller/NewsletterQueueTest.php        |     4 +-
 .../Controller/NewsletterTemplateTest.php     |    16 +-
 .../Magento/App/FrontControllerTest.php       |    21 +-
 .../AbstractActionTest.php                    |     3 +-
 .../Backend/Block/System/Config/FormTest.php  |    13 +-
 .../Block/Widget/Grid/ColumnSetTest.php       |     2 +-
 .../Magento/Backend/Block/Widget/GridTest.php |    10 +-
 .../Controller/Adminhtml/IndexTest.php        |    33 +-
 .../Adminhtml/System/DesignTest.php           |     2 +-
 .../Adminhtml/System/VariableTest.php         |     2 +-
 .../Magento/Captcha/Model/ObserverTest.php    |     2 +-
 .../Product/Attribute/Set/Toolbar/AddTest.php |     2 +-
 .../Edit/Tab/Super/Config/MatrixTest.php      |     2 +-
 .../Product/Edit/Tab/Super/ConfigTest.php     |     2 +-
 .../Block/Adminhtml/Product/Edit/TabsTest.php |     2 +-
 .../Catalog/Block/Product/ListTest.php        |     2 +-
 .../Product/ProductList/CrosssellTest.php     |     3 +-
 .../Block/Product/ProductList/ToolbarTest.php |     4 +-
 .../Block/Product/View/AdditionalTest.php     |     8 +-
 .../Catalog/Block/Product/ViewTest.php        |     2 +-
 .../Controller/Adminhtml/CategoryTest.php     |     4 +-
 .../Controller/Adminhtml/ProductTest.php      |     8 +-
 .../Controller/Product/CompareTest.php        |     6 +-
 .../Catalog/Helper/Product/ViewTest.php       |    30 +-
 .../Model/Layer/Filter/AttributeTest.php      |     4 +-
 .../Model/Layer/Filter/CategoryTest.php       |     4 +-
 .../Model/Layer/Filter/DecimalTest.php        |     6 +-
 .../Catalog/Model/Layer/Filter/ItemTest.php   |     8 +-
 .../Filter/Price/AlgorithmAdvancedTest.php    |     2 +-
 .../Catalog/Model/Layer/Filter/PriceTest.php  |     6 +-
 .../Block/Advanced/ResultTest.php             |    10 +-
 .../CatalogSearch/Block/ResultTest.php        |     4 +-
 .../Magento/CatalogSearch/Helper/DataTest.php |     2 +-
 .../Magento/Checkout/Block/CartTest.php       |     8 +-
 .../Block/Onepage/Payment/MethodsTest.php     |     2 +-
 .../Magento/Checkout/Controller/CartTest.php  |    10 +-
 .../Checkout/Controller/OnepageTest.php       |     2 +-
 .../Magento/Cms/Controller/RouterTest.php     |     4 +-
 .../testsuite/Magento/Cms/Helper/PageTest.php |     4 +-
 .../Magento/Core/App/Router/BaseTest.php      |     4 +-
 .../Core/Controller/Varien/ActionTest.php     |   373 -
 .../Magento/Core/Helper/AbstractTest.php      |    10 +-
 .../testsuite/Magento/Core/Model/AppTest.php  |     2 +-
 .../DataService/LayoutTest/layout_update.xml  |     2 +-
 .../Core/Model/LayoutDirectivesTest.php       |     4 +-
 .../Magento/Core/Model/LayoutTest.php         |    56 +-
 .../Magento/Core/Model/StoreTest.php          |     6 +-
 .../Magento/Core/Model/TemplateTest.php       |     2 +-
 .../Magento/Core/Model/TranslateTest.php      |     2 +-
 .../layout_test_handle.xml                    |     2 +-
 .../Magento_Core/layout_test_handle_main.xml  |     2 +-
 .../layout_test_handle_sample.xml             |     6 +-
 .../test_test_theme/layout_test_handle.xml    |     2 +-
 .../_files/layout/container_attributes.xml    |     8 +-
 .../action_for_anonymous_parent_block.xml     |     8 +-
 .../layout_directives_test/arguments.xml      |     2 +-
 .../arguments_complex_values.xml              |     2 +-
 .../arguments_object_type.xml                 |     2 +-
 .../arguments_object_type_updaters.xml        |     2 +-
 .../arguments_url_type.xml                    |     2 +-
 .../layout_directives_test/get_block.xml      |     4 +-
 .../get_block_exception.xml                   |     2 +-
 .../_files/layout_directives_test/group.xml   |     8 +-
 .../layout_directives_test/ifconfig.xml       |     8 +-
 .../_files/layout_directives_test/move.xml    |    14 +-
 .../move_alias_broken.xml                     |     4 +-
 .../layout_directives_test/move_broken.xml    |     2 +-
 .../layout_directives_test/move_new_alias.xml |     4 +-
 .../move_the_same_alias.xml                   |     4 +-
 .../_files/layout_directives_test/remove.xml  |     8 +-
 .../layout_directives_test/remove_broken.xml  |     4 +-
 .../_files/layout_directives_test/render.xml  |     4 +-
 .../sort_after_after.xml                      |     6 +-
 .../sort_after_previous.xml                   |     6 +-
 .../sort_before_after.xml                     |     6 +-
 .../sort_before_before.xml                    |     6 +-
 .../testsuite/Magento/Core/Utility/Layout.php |     3 +-
 .../Core/Utility/_files/layout/handle_one.xml |     2 +-
 .../_files/layout_merged/multiple_handles.xml |     2 +-
 .../Controller/Adminhtml/GroupTest.php        |     4 +-
 .../Controller/Adminhtml/IndexTest.php        |    12 +-
 .../Adminhtml/System/Design/EditorTest.php    |     2 +-
 .../Edit/Tab/Downloadable/LinksTest.php       |     6 +-
 .../Attribute/Edit/Main/AbstractTest.php      |     5 +-
 .../Model}/Template/FilterTest.php            |    28 +-
 .../Email => Email/Model}/TemplateTest.php    |    20 +-
 .../layout/email_template_test_handle.xml     |     0
 .../Magento_Core/sample_email_content.phtml   |     0
 .../design/adminhtml/test_default/theme.xml   |     0
 .../layout/email_template_test_handle.xml     |     4 +-
 .../Magento_Core/sample_email_content.phtml   |     0
 .../sample_email_content_custom.phtml         |     0
 .../design/frontend/test_default/theme.xml    |     0
 .../Email => Email/Model}/_files/themes.php   |     0
 .../Block/Adminhtml/Items/ProductTest.php     |     4 +-
 .../Controller/Adminhtml/IntegrationTest.php  |     4 +-
 .../Magento/Newsletter/Model/QueueTest.php    |    16 +-
 .../testsuite/Magento/Page/Block/HtmlTest.php |     2 +-
 .../Magento/Payment/Block/InfoTest.php        |     2 +-
 .../Paypal/Adminhtml/Paypal/ReportsTest.php   |     2 +-
 .../Magento/Rss/Controller/OrderTest.php      |     1 -
 .../Block/Adminhtml/Items/AbstractTest.php    |     4 +-
 .../Order/Create/Form/AbstractTest.php        |     7 +-
 .../Block/Order/Creditmemo/ItemsTest.php      |     4 +-
 .../Sales/Block/Order/Invoice/ItemsTest.php   |     4 +-
 .../Block/Order/PrintOrder/CreditmemoTest.php |     2 +-
 .../Block/Order/PrintOrder/InvoiceTest.php    |     2 +-
 .../Sales/Block/Order/Shipment/ItemsTest.php  |     2 +-
 .../Magento/Sales/Block/Order/TotalsTest.php  |     8 +-
 .../Block/Recurring/Profile/ViewTest.php      |     4 +-
 .../Integrity/Magento/Payment/MethodsTest.php |     2 +-
 .../Magento/Widget/TemplateFilesTest.php      |     6 +-
 .../Modular/BlockInstantiationTest.php        |     2 +-
 .../EmailTemplateConfigFilesTest.php          |    16 +-
 .../Integrity/Modular/TemplateFilesTest.php   |     2 +-
 .../Modular/_files/skip_blocks_ce.php         |     4 +-
 .../Layout/Reference/_files/layoutInvalid.xml |     6 +-
 .../Layout/Reference/_files/layoutValid.xml   |     4 +-
 .../_files/layoutValidExpectUpdated.xml       |     4 +-
 .../User/Controller/Adminhtml/AuthTest.php    |     6 +-
 .../User/Controller/Adminhtml/UserTest.php    |     4 +-
 .../testsuite/Magento/User/Model/UserTest.php |     4 +-
 .../Block/AbstractBlockTest.php               |    86 +-
 .../{Core => View}/Block/TemplateTest.php     |    13 +-
 .../{Core => View}/Block/Text/ListTest.php    |    20 +-
 .../Magento/{Core => View}/Block/TextTest.php |     8 +-
 .../frontend/magento_demo/css/wrong.css       |     0
 .../View/Layout/_files/_layout_update.xml     |     8 +-
 .../Block/Adminhtml/User/Edit/TabsTest.php    |     4 +-
 .../Adminhtml/Registration/ActivateTest.php   |     4 +-
 .../Create/Form/ContainerTest.php             |     4 +-
 .../Adminhtml/Registration/FailedTest.php     |    11 +-
 .../Adminhtml/Webhook/RegistrationTest.php    |     8 +-
 .../Adminhtml/Webhook/SubscriptionTest.php    |    16 +-
 .../Edit/Chooser/DesignAbstractionTest.php    |     2 +-
 .../Instance/Edit/Chooser/LayoutTest.php      |     2 +-
 .../Magento/Wishlist/Block/AbstractTest.php   |     5 +-
 .../Customer/Wishlist/Item/ColumnTest.php     |     2 +-
 .../Block/Customer/Wishlist/ItemsTest.php     |     4 +-
 .../Magento/TestFramework/Application.php     |   100 +-
 .../TestFramework/Helper/Categories.php       |   124 +
 .../Magento/TestFramework/Helper/Cli.php      |    70 +
 .../Fixture/Complex/Generator.php             |   141 +
 .../ImportExport/Fixture/Complex/Pattern.php  |   146 +
 .../TestFramework/Performance/Config.php      |    10 +
 .../TestFramework/Performance/Testsuite.php   |    10 +
 .../Magento/Test/ApplicationTest.php          |    49 +-
 .../testsuite/Magento/Test/Helper/CliTest.php |    98 +
 .../Fixture/Complex/ComplexGeneratorTest.php  |   109 +
 .../Fixture/Complex/PatternTest.php           |   123 +
 .../Test/Performance/TestsuiteTest.php        |    46 +-
 .../Integrity/Library/Injectable.php          |     4 +
 .../Magento/TestFramework/Utility/Classes.php |     2 +-
 .../Test/Integrity/Library/InjectableTest.php |    27 +
 .../Magento/Test/Integrity/ClassesTest.php    |     2 +-
 .../Test/Integrity/Di/CompilerTest.php        |    64 +-
 .../Test/Integrity/Library/DependencyTest.php |     3 +-
 .../Integrity/Library/_files/blacklist.txt    |    13 +-
 .../Integrity/_files/blacklist/namespace.txt  |     6 +-
 .../Magento/Test/Legacy/LayoutTest.php        |     4 +-
 .../Magento/Core/Block/AbstractBlockTest.php  |     2 +-
 .../Magento/Test/Legacy/ObsoleteCodeTest.php  |     2 +-
 .../Test/Legacy/_files/obsolete_classes.php   |   121 +-
 .../Legacy/_files/obsolete_config_nodes.php   |     4 +-
 .../Test/Legacy/_files/obsolete_constants.php |     6 +-
 .../Test/Legacy/_files/obsolete_methods.php   |   101 +-
 .../Legacy/_files/obsolete_properties.php     |    22 +-
 .../Test/Php/_files/blacklist/common.txt      |     1 +
 .../Php/_files/phpcpd/blacklist/common.txt    |     1 +
 .../Magento/Test/Php/_files/phpmd/ruleset.xml |     8 +-
 .../Test/Php/_files/whitelist/common.txt      |     5 +-
 .../Magento/Test/Block/Adminhtml.php          |    14 +-
 .../Helper/ObjectManagerTest.php              |    18 +-
 .../Adminhtml/Controller/CacheTest.php        |    55 +-
 .../Magento/Adminhtml/DashboardTest.php       |     2 +-
 .../Magento/App/Action/ForwardTest.php        |    49 +-
 .../Magento/App/Action/TitleTest.php          |    60 +
 .../testsuite/Magento/App/ActionFlagTest.php  |    89 +
 .../Magento/App/Error/HandlerTest.php         |     4 -
 .../Plugin/ClickjackingTest.php               |    74 +
 .../Magento/App/FrontControllerTest.php       |     5 +-
 .../Magento/App/Request/HttpTest.php          |    82 +-
 .../App/Response/Http/FileFactoryTest.php     |    88 +
 .../unit/testsuite/Magento/App/ViewTest.php   |   265 +
 .../App/Action/Plugin/MassactionKeyTest.php   |    99 +
 .../Backend/App/Action/Plugin/StoreTest.php   |    39 +
 .../App/Response/Http/FileFactoryTest.php     |    95 +
 .../Backend/Block/Store/SwitcherTest.php      |    48 +-
 .../System/Config/Form/Field/ExportTest.php   |     2 +-
 .../Block/System/Config/Form/FieldTest.php    |     4 +-
 .../Block/System/Config/Form/FieldsetTest.php |     4 +-
 .../Backend/Block/System/Config/TabsTest.php  |     4 +-
 .../Backend/Block/Widget/ButtonTest.php       |     4 +-
 .../Grid/Column/Renderer/CurrencyTest.php     |    37 +-
 .../Backend/Block/Widget/Grid/ColumnTest.php  |     2 +-
 .../Block/Widget/Grid/MassactionTest.php      |     4 +-
 .../Magento/Backend/Block/Widget/GridTest.php |    21 +-
 .../Adminhtml/System/AccountTest.php          |     9 +-
 .../Adminhtml/System/Config/SaveTest.php      |     2 +-
 .../Magento/Backend/Helper/DataTest.php       |     2 +-
 .../Config/Source/Email/TemplateTest.php      |    13 +-
 .../Backend/Model/Menu/Item/FactoryTest.php   |     2 +-
 .../Model/Router/NoRouteHandlerTest.php       |     4 +-
 .../Magento/Backend/Model/ViewTest.php        |    69 +
 .../Magento/Captcha/Helper/DataTest.php       |     2 +-
 .../Magento/Captcha/Model/ObserverTest.php    |    16 +-
 .../Composite/Fieldset/OptionsTest.php        |     2 +-
 .../Edit/Tab/Super/Config/MatrixTest.php      |     6 +-
 .../Block/Product/View/OptionsTest.php        |     2 +-
 .../Catalog/Block/Product/View/TabsTest.php   |    15 +-
 .../Magento/Catalog/Helper/UrlTest.php        |     2 +-
 .../Checkout/Block/Cart/AbstractTest.php      |     4 +-
 .../Checkout/Block/Cart/Item/RendererTest.php |     2 +-
 .../Magento/Checkout/Block/Cart/LinkTest.php  |    14 +-
 .../Checkout/Block/Cart/SidebarTest.php       |     2 +-
 .../Magento/Checkout/Block/LinkTest.php       |     8 +-
 .../Magento/Checkout/Controller/CartTest.php  |    48 +-
 .../Magento/Checkout/Model/SessionTest.php    |     2 +-
 .../Magento/Cms/Controller/NorouteTest.php    |    95 +
 .../Code/Reader/ArgumentsReaderTest.php       |   316 +
 .../_files/ClassesForArgumentsReader.php      |   208 +
 .../Code/Validator/ArgumentSequenceTest.php   |   103 +
 .../Validator/ConstructorIntegrityTest.php    |    29 +-
 .../Code/Validator/ContextAggregationTest.php |    76 +
 .../_files/ClassesForArgumentSequence.php     |   525 +
 .../_files/ClassesForConstructorIntegrity.php |   209 +
 .../_files/ClassesForContextAggregation.php   |   195 +
 .../Core/App/Action/FormKeyValidatorTest.php  |    77 +
 .../Core/App/Action/Plugin/DesignTest.php     |    39 +
 .../Core/App/Action/Plugin/InstallTest.php    |    89 +
 .../Core/App/Action/Plugin/LastUrlTest.php    |    42 +
 .../Core/App/Action/Plugin/StoreCheckTest.php |    73 +
 .../Area/Request/PathInfoProcessorTest.php    |     2 +-
 .../Magento/Core/Controller/NorouteTest.php   |   102 +
 .../Core/Controller/Request/HttpTest.php      |     4 +-
 .../Controller/Varien/AbstractActionTest.php  |   132 -
 .../Controller/Varien/Action/FactoryTest.php  |    75 -
 .../Controller/Varien/Action/ForwardTest.php  |    81 -
 .../Controller/Varien/Action/RedirectTest.php |    83 -
 .../Magento/Core/Filter/DateTest.php          |    21 +
 .../Magento/Core/Filter/DateTimeTest.php      |    21 +
 .../Magento/Core/Helper/CookieTest.php        |     6 +-
 .../Magento/Core/Helper/ThemeTest.php         |    12 +-
 .../Magento/Core/Helper/Url/RewriteTest.php   |     2 +-
 .../Magento/Core/Model/DesignLoaderTest.php   |    72 +
 .../Core/Model/File/Storage/MediaTest.php     |     2 +-
 .../Layout/Argument/Handler/TestHelper.php    |     2 +-
 .../Magento/Core/Model/Layout/MergeTest.php   |     6 +-
 .../_files/layout/fixture_handle_one.xml      |     2 +-
 .../_files/layout/fixture_handle_two.xml      |     2 +-
 .../Core/Model/Layout/_files/merged.xml       |     4 +-
 .../Magento/Core/Model/StoreManagerTest.php   |     4 +-
 .../Core/Model/Theme/Image/PathTest.php       |     2 +-
 .../Core/Model/View/Design/ProxyTest.php      |    69 -
 .../Block/Account/AuthorizationLinkTest.php   |     2 +-
 .../Customer/Block/Account/LinkTest.php       |     4 +-
 .../Block/Account/RegisterLinkTest.php        |     4 +-
 .../Controller/Adminhtml/IndexTest.php        |    72 +-
 .../Magento/Customer/Model/CustomerTest.php   |    91 +-
 .../Block/Adminhtml/Editor/ContainerTest.php  |     2 +-
 .../Adminhtml/System/Design/EditorTest.php    |     6 +-
 .../Controller/Varien/Router/StandardTest.php |    22 +-
 .../Magento/DesignEditor/Helper/DataTest.php  |     2 +-
 .../Magento/Directory/Helper/DataTest.php     |     2 +-
 .../Sales/Order/Pdf/Items/CreditmemoTest.php  |     4 +-
 .../Block/Adminhtml}/Template/EditTest.php    |    14 +-
 .../{Core => Email}/Model/SenderTest.php      |    18 +-
 .../Model}/Template/Config/ConverterTest.php  |     6 +-
 .../Model}/Template/Config/ReaderTest.php     |    12 +-
 .../Template/Config/SchemaLocatorTest.php     |     8 +-
 .../Model}/Template/Config/XsdTest.php        |     6 +-
 .../ModuleOne/etc/email_templates_one.xml     |     0
 .../ModuleTwo/etc/email_templates_two.xml     |     0
 .../Config/_files/email_templates_merged.php  |     0
 .../Config/_files/email_templates_merged.xml  |     0
 .../Model}/Template/ConfigTest.php            |    18 +-
 .../Magento/Encryption/UrlCoderTest.php       |    67 +
 .../unit/testsuite/Magento/EscaperTest.php    |     5 +-
 .../Magento/Filter/StripTagsTest.php          |     1 -
 .../Magento/GoogleAdwords/Helper/DataTest.php |     2 +-
 .../GoogleOptimizer/Helper/DataTest.php       |     2 +-
 .../GoogleOptimizer/Helper/FormTest.php       |     2 +-
 .../Block/SiteVerificationTest.php            |     2 +-
 .../Entity/Eav/Customer/AddressTest.php       |     4 +-
 .../Import/Entity/CustomerCompositeTest.php   |     2 +-
 .../Entity/Eav/Customer/AddressTest.php       |     4 +-
 .../Model/Import/Entity/EavAbstractTest.php   |     2 +-
 .../Install/App/Action/Plugin/DirTest.php     |    69 +
 .../Magento/Install/Block/BeginTest.php       |    26 +-
 .../Controller/Adminhtml/IntegrationTest.php  |    10 +-
 .../Model/Config/Api/ConverterTest.php        |    50 +
 .../Integration/Model/Config/Api/XsdTest.php  |   291 +
 .../Model/Config/Api/_files/api.php           |    38 +
 .../Model/Config/Api/_files/api.xml           |    42 +
 .../Model/Config/ConverterTest.php            |    50 +
 .../Integration/Model/Config/XsdTest.php      |   395 +
 .../Model/Config/_files/integration.php       |    40 +
 .../Model/Config/_files/integration.xml       |    39 +
 .../Interception/Config/ConfigTest.php        |     2 +-
 .../PluginList/PluginListTest.php             |     5 +-
 .../unit/testsuite/Magento/Log/LoggerTest.php |     2 +-
 .../testsuite/Magento/Module/UpdaterTest.php  |     6 +-
 .../Magento/Page/Block/Html/HeaderTest.php    |     2 +-
 .../Magento/Page/Block/Link/CurrentTest.php   |    60 +-
 .../Magento/Page/Block/LinksTest.php          |    10 +-
 .../Magento/Page/Block/SwitchTest.php         |    29 +-
 .../Payment/Block/Form/ContainerTest.php      |     4 +-
 .../Block/Info/ContainerAbstractTest.php      |     2 +-
 .../Review/Helper/Action/PagerTest.php        |     2 +-
 .../Adminhtml/Items/AbstractItemsTest.php     |    20 +-
 .../Block/Adminhtml/Items/AbstractTest.php    |     2 +-
 .../Adminhtml/Order/Create/Items/GridTest.php |    37 +-
 .../Magento/Sales/Block/Guest/LinkTest.php    |     2 +-
 .../Sales/Block/Items/AbstractTest.php        |     2 +-
 .../Block/Recurring/Profile/GridTest.php      |    37 +-
 .../Profile/Related/Orders/GridTest.php       |   120 +-
 .../Recurring/Profile/View/AddressTest.php    |     2 +-
 .../Adminhtml/Order/CreditmemoTest.php        |     2 +-
 .../Order/Invoice/Total/ShippingTest.php      |     8 +-
 .../Magento/Sales/Model/Order/InvoiceTest.php |     4 +-
 .../testsuite/Magento/Stdlib/StringTest.php   |     2 -
 .../Scanner/XmlInterceptorScannerTest.php     |     2 +-
 .../Test/Tools/Di/_files/app/etc/config.xml   |     2 +-
 .../Tools/Di/_files/app/etc/di/config.xml     |     2 +-
 .../System/Design/Theme/TabAbstractTest.php   |     4 +-
 .../Adminhtml/System/Design/ThemeTest.php     |    20 +-
 .../testsuite/Magento/User/Model/UserTest.php |     8 +-
 .../Validator/Composite/VarienObjectTest.php  |     2 +-
 .../Block/AbstractBlockTest.php               |    12 +-
 .../{Core => View}/Block/TemplateTest.php     |    32 +-
 .../Design}/Theme/Domain/FactoryTest.php      |     8 +-
 .../Design/Theme/FlyweightFactoryTest.php     |     4 +-
 .../Design}/Theme/Image/UploaderTest.php      |     4 +-
 .../Magento/View/TemplateEngine/PhpTest.php   |     4 +-
 .../View/TemplateEngineFactoryTest.php        |    31 +-
 .../Magento/View/TemplateEnginePoolTest.php   |    58 +
 .../Block/Adminhtml/Role/Edit/TabsTest.php    |     6 +-
 .../Adminhtml/Registration/ActivateTest.php   |    18 +-
 .../Create/Form/ContainerTest.php             |    19 +-
 .../Registration/Create/FormTest.php          |     4 +-
 .../Adminhtml/Registration/FailedTest.php     |    21 +-
 .../Adminhtml/Subscription/Edit/FormTest.php  |     8 +-
 .../Block/Adminhtml/Subscription/EditTest.php |     4 +-
 .../Block/Adminhtml/SubscriptionTest.php      |    14 +-
 .../Adminhtml/Webhook/RegistrationTest.php    |    11 +-
 .../Adminhtml/Webhook/SubscriptionTest.php    |    19 +-
 .../Wishlist/Block/Item/ConfigureTest.php     |     7 +-
 .../Scanner/InheritanceInterceptorScanner.php |    54 +
 .../Magento/Tools/Di/Compiler/Directory.php   |    12 +-
 .../Tools/Di/Compiler/Log/Writer/Console.php  |     8 +
 dev/tools/Magento/Tools/Di/compiler.php       |    43 +-
 .../Migration/Acl/log/AclXPathToAclId.log     |     2 +-
 .../Tools/Migration/Acl/log/MenuIdToAclId.log |     2 +-
 lib/Magento/App/Action/AbstractAction.php     |    17 -
 lib/Magento/App/Action/Action.php             |   173 +
 .../Magento/App}/Action/Context.php           |   104 +-
 lib/Magento/App/Action/Exception.php          |    84 +-
 lib/Magento/App/Action/Forward.php            |    11 +-
 lib/Magento/App/Action/NotFoundException.php  |    32 +
 lib/Magento/App/Action/Redirect.php           |     9 +-
 .../Magento/App/Action/Title.php              |    45 +-
 lib/Magento/App/ActionFactory.php             |     2 +-
 lib/Magento/App/ActionFlag.php                |    96 +
 lib/Magento/App/ActionInterface.php           |     9 +-
 lib/Magento/App/EntryPoint/EntryPoint.php     |     2 +-
 lib/Magento/App/FrontController.php           |    79 +-
 .../FrontController/Plugin/Clickjacking.php   |    43 +
 .../Magento/App}/Helper/AbstractHelper.php    |    73 +-
 .../Magento/App}/Helper/Context.php           |    12 +-
 .../Magento/App/Helper/HelperFactory.php      |    12 +-
 lib/Magento/App/Http.php                      |     3 +-
 lib/Magento/App/ObjectManagerFactory.php      |    37 +-
 lib/Magento/App/Request/Http.php              |    23 +-
 lib/Magento/App/Response/Http/FileFactory.php |   116 +
 .../App/Response/RedirectInterface.php        |    73 +
 lib/Magento/App/View.php                      |   302 +
 lib/Magento/App/ViewInterface.php             |   104 +
 lib/Magento/Code/Reader/ArgumentsReader.php   |   185 +
 lib/Magento/Code/Validator.php                |    57 +
 .../Code/Validator/ArgumentSequence.php       |   382 +
 .../Code/Validator/ConstructorIntegrity.php   |   148 +-
 .../Code/Validator/ContextAggregation.php     |   112 +
 lib/Magento/Code/ValidatorInterface.php       |    37 +
 lib/Magento/Config/Scope.php                  |     2 +-
 lib/Magento/Config/ScopeInterface.php         |     7 -
 lib/Magento/Config/ScopeListInterface.php     |    35 +
 lib/Magento/Connect/Frontend.php              |     4 +-
 lib/Magento/Data/Collection/Db.php            |    36 +-
 .../Data/Form/Element/AbstractElement.php     |     2 +-
 lib/Magento/Data/Tree/Node.php                |     2 +-
 lib/Magento/Encryption/UrlCoder.php           |    63 +
 lib/Magento/Escaper.php                       |     2 +-
 lib/Magento/Interception/Config/Config.php    |    14 +-
 .../Interception/PluginList/PluginList.php    |     1 +
 lib/Magento/Io/AbstractIo.php                 |     2 +-
 .../Magento}/Message/AbstractMessage.php      |   105 +-
 .../Magento}/Message/Collection.php           |    81 +-
 lib/Magento/Message/CollectionFactory.php     |    57 +
 .../Model => lib/Magento}/Message/Error.php   |    17 +-
 lib/Magento/Message/Factory.php               |   160 +
 .../Model => lib/Magento}/Message/Notice.php  |    17 +-
 .../Model => lib/Magento}/Message/Success.php |    17 +-
 .../Model => lib/Magento}/Message/Warning.php |    17 +-
 lib/Magento/ObjectManager/Factory/Factory.php |     4 -
 lib/Magento/Phrase/Renderer/Composite.php     |     2 +-
 lib/Magento/TranslateInterface.php            |    63 +
 .../Magento/View}/Block/AbstractBlock.php     |    93 +-
 .../Magento/View}/Block/Context.php           |    34 +-
 .../Magento/View}/Block/Html/Calendar.php     |    44 +-
 .../Magento/View}/Block/Html/Date.php         |    40 +-
 .../Magento/View}/Block/Html/Link.php         |    39 +-
 .../Magento/View}/Block/Html/Select.php       |    51 +-
 .../Magento/View}/Block/Messages.php          |   171 +-
 .../Magento/View}/Block/Template.php          |    42 +-
 .../Magento/View}/Block/Template/Context.php  |    59 +-
 .../Core => lib/Magento/View}/Block/Text.php  |    42 +-
 .../Magento/View}/Block/Text/ListText.php     |    22 +-
 .../View}/Block/Text/TextList/Item.php        |    34 +-
 .../View}/Block/Text/TextList/Link.php        |    40 +-
 lib/Magento/View/BlockPool.php                |     3 +
 lib/Magento/View/Config.php                   |     8 +-
 lib/Magento/View/ConfigInterface.php          |     2 -
 lib/Magento/View/Context.php                  |    26 +-
 lib/Magento/View/DataSourcePool.php           |     3 +
 lib/Magento/View/DeployedFilesManager.php     |    11 +-
 lib/Magento/View/Design/Fallback/Factory.php  |     7 +-
 .../View/Design/Fallback/Rule/Composite.php   |    10 +-
 .../Design/Fallback/Rule/ModularSwitch.php    |    10 +-
 .../Design/Fallback/Rule/RuleInterface.php    |     5 +-
 .../View/Design/Fallback/Rule/Simple.php      |     6 +-
 .../View/Design/Fallback/Rule/Theme.php       |    12 +-
 .../FileResolution/Strategy/Fallback.php      |     9 +-
 .../Strategy/Fallback/CachingProxy.php        |     9 +-
 .../FileResolution/Strategy/FileInterface.php |     7 +-
 .../Strategy/LocaleInterface.php              |     7 +-
 .../Strategy/View/NotifiableInterface.php     |     9 +-
 .../FileResolution/Strategy/ViewInterface.php |     7 +-
 .../Design/FileResolution/StrategyPool.php    |     7 +-
 .../View/Design/Theme/Customization.php       |    26 +-
 .../Theme/Customization/AbstractFile.php      |    28 +-
 .../Theme/Customization/ConfigInterface.php   |     4 +-
 .../Design/Theme/Customization/File/Css.php   |    12 +-
 .../Design/Theme/Customization/File/Js.php    |    12 +-
 .../Customization/FileAssetInterface.php      |     6 +-
 .../Theme/Customization/FileInterface.php     |     6 +-
 .../Customization/FileServiceFactory.php      |     6 +-
 .../View/Design/Theme/Customization/Path.php  |     7 +-
 .../Design/Theme/CustomizationInterface.php   |     6 +-
 .../View/Design/Theme/Domain/Factory.php      |    18 +-
 .../Design/Theme/Domain/PhysicalInterface.php |    39 +
 .../Design/Theme/Domain/StagingInterface.php  |    38 +
 .../Design/Theme/Domain/VirtualInterface.php  |    45 +
 .../Design/Theme/File/CollectionInterface.php |     3 +
 lib/Magento/View/Design/Theme/FileFactory.php |    12 +-
 .../View/Design/Theme/FileInterface.php       |     8 +-
 .../Design/Theme/FileProviderInterface.php    |     3 +
 .../View/Design/Theme/FlyweightFactory.php    |     6 +-
 lib/Magento/View/Design/Theme/Image.php       |     6 +-
 .../View/Design/Theme/Image/PathInterface.php |     6 +-
 .../View/Design/Theme/Image/Uploader.php      |     5 +-
 .../View/Design/Theme/ImageFactory.php        |     7 +-
 .../Design/Theme/ThemeProviderInterface.php   |     3 +
 lib/Magento/View/Design/Theme/Validator.php   |     5 +-
 lib/Magento/View/Design/ThemeFactory.php      |     9 +-
 lib/Magento/View/Design/ThemeInterface.php    |     4 +-
 lib/Magento/View/DesignInterface.php          |     2 -
 lib/Magento/View/Element/BlockFactory.php     |     7 +-
 lib/Magento/View/Element/BlockInterface.php   |     7 +-
 .../View/Element/RendererInterface.php        |     5 +-
 lib/Magento/View/FileSystem.php               |     8 +-
 lib/Magento/View/Layout/Element.php           |     2 +-
 lib/Magento/View/Layout/File.php              |     4 +-
 lib/Magento/View/Layout/File/Factory.php      |     5 +-
 lib/Magento/View/Layout/File/FileList.php     |     5 +-
 .../View/Layout/File/FileList/Factory.php     |     5 +-
 .../View/Layout/File/Source/Aggregated.php    |    11 +-
 lib/Magento/View/Layout/File/Source/Base.php  |    11 +-
 .../Source/Decorator/ModuleDependency.php     |     9 +-
 .../File/Source/Decorator/ModuleOutput.php    |    11 +-
 .../View/Layout/File/Source/Override/Base.php |    11 +-
 .../Layout/File/Source/Override/Theme.php     |    12 +-
 lib/Magento/View/Layout/File/Source/Theme.php |    11 +-
 .../View/Layout/File/SourceInterface.php      |     5 +-
 lib/Magento/View/Layout/ProcessorFactory.php  |     2 -
 .../View/Layout/ProcessorInterface.php        |     4 +-
 lib/Magento/View/LayoutFactory.php            |     6 +-
 lib/Magento/View/LayoutInterface.php          |     7 +-
 .../View/PublicFilesManagerInterface.php      |     4 +-
 lib/Magento/View/Publisher.php                |    15 +-
 lib/Magento/View/Render/Html.php              |    95 -
 lib/Magento/View/Render/RenderFactory.php     |     3 +
 lib/Magento/View/RenderInterface.php          |     3 +
 lib/Magento/View/Service.php                  |     4 +-
 lib/Magento/View/TemplateEngine/Php.php       |    28 +-
 lib/Magento/View/TemplateEngineFactory.php    |    40 +-
 lib/Magento/View/TemplateEngineInterface.php  |     7 +-
 lib/Magento/View/TemplateEnginePool.php       |    61 +
 lib/Magento/View/Url.php                      |    10 +-
 lib/Magento/View/Url/ConfigInterface.php      |     4 +-
 lib/Magento/View/Url/CssResolver.php          |     7 +-
 2141 files changed, 46145 insertions(+), 28396 deletions(-)
 create mode 100644 app/code/Magento/Backend/App/AbstractAction.php
 rename app/code/Magento/Backend/{Controller/Adminhtml => App}/Action.php (90%)
 rename app/code/Magento/Backend/{Controller => App/Action}/Context.php (73%)
 create mode 100644 app/code/Magento/Backend/App/Action/Plugin/Authentication.php
 create mode 100644 app/code/Magento/Backend/App/Action/Plugin/MassactionKey.php
 create mode 100644 app/code/Magento/Backend/App/Action/Plugin/Store.php
 create mode 100644 app/code/Magento/Backend/App/Response/Http/FileFactory.php
 delete mode 100644 app/code/Magento/Backend/Controller/AbstractAction.php
 create mode 100644 app/code/Magento/Backend/Controller/Adminhtml/Noroute.php
 create mode 100644 app/code/Magento/Backend/Model/View.php
 rename app/{design/frontend/magento_plushe/Magento_Checkout/multishipping => code/Magento/Checkout/view/frontend}/agreements.phtml (74%)
 rename app/{design/frontend/magento_plushe/Magento_Checkout => code/Magento/Checkout/view/frontend}/cart/form.phtml (96%)
 rename app/{design/frontend/magento_plushe/Magento_Checkout => code/Magento/Checkout/view/frontend}/cart/methods.phtml (94%)
 rename app/{design/frontend/magento_plushe/Magento_Checkout => code/Magento/Checkout/view/frontend}/cart/minicart.phtml (97%)
 rename app/{design/frontend/magento_plushe/Magento_Checkout => code/Magento/Checkout/view/frontend}/cart/noItems.phtml (96%)
 create mode 100644 app/code/Magento/Cms/Controller/Noroute.php
 create mode 100644 app/code/Magento/Core/App/Action/FormKeyValidator.php
 create mode 100644 app/code/Magento/Core/App/Action/Plugin/Design.php
 create mode 100644 app/code/Magento/Core/App/Action/Plugin/Install.php
 rename app/code/Magento/Core/{Controller/Front/Action.php => App/Action/Plugin/LastUrl.php} (57%)
 create mode 100644 app/code/Magento/Core/App/Action/Plugin/Session.php
 create mode 100644 app/code/Magento/Core/App/Action/Plugin/StoreCheck.php
 create mode 100644 app/code/Magento/Core/App/Response/Redirect.php
 create mode 100644 app/code/Magento/Core/Controller/Noroute.php
 delete mode 100644 app/code/Magento/Core/Controller/Varien/Action.php
 create mode 100644 app/code/Magento/Core/Filter/Date.php
 create mode 100644 app/code/Magento/Core/Filter/DateTime.php
 create mode 100644 app/code/Magento/Core/Model/DesignLoader.php
 delete mode 100644 app/code/Magento/Core/Model/Email.php
 delete mode 100644 app/code/Magento/Core/Model/Message.php
 delete mode 100644 app/code/Magento/Core/Model/View/Design/Proxy.php
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template.php (86%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Edit.php (94%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Edit/Form.php (89%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Grid/Filter/Type.php (77%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Grid/Renderer/Action.php (88%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Grid/Renderer/Sender.php (86%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Grid/Renderer/Type.php (76%)
 rename app/code/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/Preview.php (88%)
 rename app/code/Magento/{Backend/Controller/Adminhtml/System => Email/Controller/Adminhtml}/Email/Template.php (73%)
 rename app/code/Magento/{Newsletter/Model/Message.php => Email/Helper/Data.php} (76%)
 rename app/code/Magento/{Backend/Model/Email/Template.php => Email/Model/BackendTemplate.php} (87%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Info.php (89%)
 rename app/code/Magento/{Core/Model/Resource/Email => Email/Model/Resource}/Template.php (91%)
 rename app/code/Magento/{Core/Model/Resource/Email => Email/Model/Resource}/Template/Collection.php (88%)
 rename app/code/Magento/{Core => Email}/Model/Sender.php (83%)
 rename app/code/Magento/{Core/Model/Source/Email => Email/Model/Source}/Variables.php (97%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template.php (87%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Config.php (93%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Config/Converter.php (97%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Config/Data.php (87%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Config/Reader.php (87%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Config/SchemaLocator.php (94%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Filter.php (94%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Template/Mailer.php (80%)
 rename app/code/Magento/{Core/Model/Email => Email/Model}/Transport.php (93%)
 create mode 100644 app/code/Magento/Email/etc/adminhtml/acl.xml
 create mode 100644 app/code/Magento/Email/etc/adminhtml/menu.xml
 create mode 100644 app/code/Magento/Email/etc/adminhtml/routes.xml
 create mode 100644 app/code/Magento/Email/etc/config.xml
 create mode 100644 app/code/Magento/Email/etc/di.xml
 rename app/code/Magento/{Core => Email}/etc/email_templates.xsd (100%)
 rename app/code/Magento/{Core => Email}/etc/email_templates_file.xsd (100%)
 rename app/code/Magento/{Core => Email}/etc/email_templates_types.xsd (100%)
 create mode 100644 app/code/Magento/Email/etc/module.xml
 create mode 100644 app/code/Magento/Email/sql/email_setup/install-1.0.0.0.php
 rename app/code/Magento/{Backend/view/adminhtml/layout/adminhtml_system_email_template_grid.xml => Email/view/adminhtml/layout/adminhtml_email_template_grid.xml} (94%)
 rename app/code/Magento/{Backend/view/adminhtml/layout/adminhtml_system_email_template_grid_block.xml => Email/view/adminhtml/layout/adminhtml_email_template_grid_block.xml} (95%)
 rename app/code/Magento/{Backend/view/adminhtml/layout/adminhtml_system_email_template_index.xml => Email/view/adminhtml/layout/adminhtml_email_template_index.xml} (85%)
 rename app/code/Magento/{Backend/view/adminhtml/layout/adminhtml_system_preview.xml => Email/view/adminhtml/layout/systemPreview.xml} (86%)
 rename app/code/Magento/{Backend/view/adminhtml/system/email => Email/view/adminhtml}/template/edit.phtml (97%)
 rename app/code/Magento/{Backend/view/adminhtml/system/email => Email/view/adminhtml}/template/list.phtml (97%)
 rename app/code/Magento/{Backend/view/adminhtml/system/email => Email/view/adminhtml}/template/preview.phtml (97%)
 create mode 100644 app/code/Magento/Install/App/Action/Plugin/Design.php
 create mode 100644 app/code/Magento/Install/App/Action/Plugin/Dir.php
 create mode 100644 app/code/Magento/Integration/Model/Config/Api/Converter.php
 create mode 100644 app/code/Magento/Integration/Model/Config/Api/Reader.php
 create mode 100644 app/code/Magento/Integration/Model/Config/Api/SchemaLocator.php
 create mode 100644 app/code/Magento/Integration/Model/Config/Converter.php
 create mode 100644 app/code/Magento/Integration/Model/Config/Reader.php
 create mode 100644 app/code/Magento/Integration/Model/Config/SchemaLocator.php
 create mode 100644 app/code/Magento/Integration/etc/integration/api.xsd
 create mode 100644 app/code/Magento/Integration/etc/integration/config.xsd
 create mode 100644 app/code/Magento/Page/view/frontend/layout/default_head_blocks.xml
 create mode 100644 app/code/Magento/Rss/App/Action/Plugin/Authentication.php
 create mode 100644 app/code/Magento/Rss/etc/adminhtml/di.xml
 delete mode 100644 app/design/adminhtml/magento_backend/css/antiscroll.css
 delete mode 100644 app/design/adminhtml/magento_backend/css/debug.css
 create mode 100644 app/design/adminhtml/magento_backend/css/styles.css
 delete mode 100644 app/design/adminhtml/magento_backend/js/antiscroll.js
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/all.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/arrows.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/grids.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/helpers.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/icons.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/resets.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/settings.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/sprites.less
 create mode 100644 app/design/adminhtml/magento_backend/less/clearless/typography.less
 create mode 100644 app/design/adminhtml/magento_backend/less/lib/buttons.less
 create mode 100644 app/design/adminhtml/magento_backend/less/styles.less
 rename app/design/adminhtml/magento_backend/{css/admin.css => less/styles/admin.less} (91%)
 create mode 100644 app/design/adminhtml/magento_backend/less/styles/base.less
 create mode 100644 app/design/adminhtml/magento_backend/less/styles/debug.less
 rename app/design/adminhtml/magento_backend/{css/header.css => less/styles/header.less} (96%)
 rename app/design/adminhtml/magento_backend/{css/pages.css => less/styles/pages.less} (86%)
 create mode 100644 app/design/adminhtml/magento_backend/less/vars.less
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/cart.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/cart/coupon.phtml
 rename app/{code/Magento/Checkout/view/frontend => design/frontend/magento_backup/Magento_Checkout}/cart/crosssell.phtml (100%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/cart/item/configure/updatecart.phtml (71%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/cart/item/default.phtml (78%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/cart/shipping.phtml
 rename app/{code/Magento/Checkout/view/frontend => design/frontend/magento_backup/Magento_Checkout}/cart/sidebar.phtml (100%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar/default.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/cart/totals.phtml (86%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/cvv.gif
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/accordion.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/components.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/discount-codes.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/multi-shipping.js
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/js/opcheckout.js (75%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/overview.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/payment-authentication.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/region-updater.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/shopping-cart.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/js/sidebar.js
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml => magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_configurable.xml} (86%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_simple.xml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_index.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml => magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping.xml} (68%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_editaddress.xml (83%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_editbilling.xml (83%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_editshipping.xml (83%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_newbilling.xml (83%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_newshipping.xml (83%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_select.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_address_selectbilling.xml (84%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_addresses.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_billing.xml (65%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml (88%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml => magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_login.xml} (95%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_overview.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/default.xml => magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_register.xml} (95%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_shipping.xml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout => magento_backup/Magento_Checkout/layout/override/base}/checkout_multishipping_success.xml (80%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml (91%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml (84%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/checkout_onepage_index.xml (80%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml => magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_paymentmethod.xml} (72%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_progress.xml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_review.xml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_shippingmethod.xml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/checkout_onepage_success.xml (84%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/layout/override/base/default.xml (68%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/multishipping/address/select.phtml (50%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/addresses.phtml
 rename app/{code/Magento/Checkout/view/frontend => design/frontend/magento_backup/Magento_Checkout}/multishipping/agreements.phtml (100%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing/items.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/item/default.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/multishipping/link.phtml (82%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/multishipping/overview/item.phtml (78%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/multishipping/shipping.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/multishipping/state.phtml (70%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/multishipping/success.phtml (73%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage.phtml
 rename app/{code/Magento/Checkout/view/frontend => design/frontend/magento_backup/Magento_Checkout}/onepage/accordion.js (100%)
 rename app/{code/Magento/Checkout/view/frontend => design/frontend/magento_backup/Magento_Checkout}/onepage/agreements.phtml (100%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage/billing.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/failure.phtml (89%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/link.phtml (75%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage/login.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/payment.phtml (57%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage/payment/methods.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/progress.phtml (95%)
 rename app/{code/Magento/Core/view/frontend/link.phtml => design/frontend/magento_backup/Magento_Checkout/onepage/review.phtml} (86%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/review/button.phtml (81%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage/review/info.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/review/item.phtml (97%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/review/totals.phtml (92%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping.phtml
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/shipping_method.phtml (67%)
 rename app/design/frontend/{magento_plushe/Magento_Checkout/cart.phtml => magento_backup/Magento_Checkout/onepage/shipping_method/additional.phtml} (79%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/onepage/shipping_method/available.phtml (87%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/success.phtml (54%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Checkout/total/default.phtml (83%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/total/nominal.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_Checkout/total/tax.phtml
 create mode 100644 app/design/frontend/magento_backup/Magento_GiftMessage/gift-options.js
 create mode 100644 app/design/frontend/magento_backup/Magento_GiftMessage/inline.phtml
 rename app/design/frontend/{magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml => magento_backup/Magento_Shipping/layout/base/shipping_tracking_popup.xml} (68%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Shipping/tracking/popup.phtml
 rename app/{code/Magento/Widget/view/adminhtml/css/styles.css => design/frontend/magento_backup/Magento_Tax/checkout/discount.phtml} (95%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Tax/checkout/grandtotal.phtml (75%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Tax/checkout/shipping.phtml (70%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Tax/checkout/subtotal.phtml (74%)
 rename app/design/frontend/{magento_plushe => magento_backup}/Magento_Tax/checkout/tax.phtml (84%)
 create mode 100644 app/design/frontend/magento_backup/Magento_Tax/order/tax.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_cart_index.xml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Core/template.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
 delete mode 100644 app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
 create mode 100644 dev/tests/integration/framework/Magento/TestFramework/Interception/PluginList.php
 rename dev/tests/integration/testsuite/Magento/Backend/{Controller => App}/AbstractActionTest.php (97%)
 delete mode 100644 dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/FilterTest.php (90%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/TemplateTest.php (93%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/adminhtml/test_default/Magento_Core/layout/email_template_test_handle.xml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/adminhtml/test_default/Magento_Core/sample_email_content.phtml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/adminhtml/test_default/theme.xml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml (86%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/frontend/test_default/Magento_Core/sample_email_content.phtml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/frontend/test_default/Magento_Core/sample_email_content_custom.phtml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/design/frontend/test_default/theme.xml (100%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model/Email => Email/Model}/_files/themes.php (100%)
 rename dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/{Core => Email}/EmailTemplateConfigFilesTest.php (83%)
 rename dev/tests/integration/testsuite/Magento/{Core => View}/Block/AbstractBlockTest.php (91%)
 rename dev/tests/integration/testsuite/Magento/{Core => View}/Block/TemplateTest.php (90%)
 rename dev/tests/integration/testsuite/Magento/{Core => View}/Block/Text/ListTest.php (77%)
 rename dev/tests/integration/testsuite/Magento/{Core => View}/Block/TextTest.php (91%)
 rename dev/tests/integration/testsuite/Magento/{Core => View}/Block/_files/frontend/magento_demo/css/wrong.css (100%)
 create mode 100644 dev/tests/performance/framework/Magento/TestFramework/Helper/Categories.php
 create mode 100644 dev/tests/performance/framework/Magento/TestFramework/Helper/Cli.php
 create mode 100644 dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Generator.php
 create mode 100644 dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Pattern.php
 create mode 100644 dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Helper/CliTest.php
 create mode 100644 dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/ComplexGeneratorTest.php
 create mode 100644 dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/PatternTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/Action/TitleTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/ActionFlagTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/FrontController/Plugin/ClickjackingTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/Response/Http/FileFactoryTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/ViewTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/MassactionKeyTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/StoreTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/App/Response/Http/FileFactoryTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/Model/ViewTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Cms/Controller/NorouteTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Reader/ArgumentsReaderTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Reader/_files/ClassesForArgumentsReader.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Validator/ArgumentSequenceTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Validator/ContextAggregationTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForArgumentSequence.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForConstructorIntegrity.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForContextAggregation.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Action/FormKeyValidatorTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/DesignTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/InstallTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/LastUrlTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/StoreCheckTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Controller/NorouteTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Filter/DateTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Filter/DateTimeTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/DesignLoaderTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
 rename dev/tests/unit/testsuite/Magento/{Backend/Block/System/Email => Email/Block/Adminhtml}/Template/EditTest.php (94%)
 rename dev/tests/unit/testsuite/Magento/{Core => Email}/Model/SenderTest.php (86%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/ConverterTest.php (87%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/ReaderTest.php (90%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/SchemaLocatorTest.php (87%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/XsdTest.php (97%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/_files/Fixture/ModuleOne/etc/email_templates_one.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/_files/Fixture/ModuleTwo/etc/email_templates_two.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/_files/email_templates_merged.php (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/Config/_files/email_templates_merged.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Email => Email/Model}/Template/ConfigTest.php (86%)
 create mode 100644 dev/tests/unit/testsuite/Magento/Encryption/UrlCoderTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Install/App/Action/Plugin/DirTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/ConverterTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/XsdTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.xml
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/ConverterTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/XsdTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.xml
 rename dev/tests/unit/testsuite/Magento/{Core => View}/Block/AbstractBlockTest.php (91%)
 rename dev/tests/unit/testsuite/Magento/{Core => View}/Block/TemplateTest.php (74%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => View/Design}/Theme/Domain/FactoryTest.php (90%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => View/Design}/Theme/Image/UploaderTest.php (97%)
 create mode 100644 dev/tests/unit/testsuite/Magento/View/TemplateEnginePoolTest.php
 create mode 100644 dev/tools/Magento/Tools/Di/Code/Scanner/InheritanceInterceptorScanner.php
 create mode 100644 lib/Magento/App/Action/Action.php
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App}/Action/Context.php (61%)
 create mode 100644 lib/Magento/App/Action/NotFoundException.php
 rename dev/tests/integration/testsuite/Magento/Adminhtml/Controller/IndexTest.php => lib/Magento/App/Action/Title.php (60%)
 create mode 100644 lib/Magento/App/ActionFlag.php
 create mode 100644 lib/Magento/App/FrontController/Plugin/Clickjacking.php
 rename {app/code/Magento/Core => lib/Magento/App}/Helper/AbstractHelper.php (79%)
 rename {app/code/Magento/Core => lib/Magento/App}/Helper/Context.php (94%)
 rename app/code/Magento/Core/Model/Factory/Helper.php => lib/Magento/App/Helper/HelperFactory.php (88%)
 create mode 100644 lib/Magento/App/Response/Http/FileFactory.php
 create mode 100644 lib/Magento/App/Response/RedirectInterface.php
 create mode 100644 lib/Magento/App/View.php
 create mode 100644 lib/Magento/App/ViewInterface.php
 create mode 100644 lib/Magento/Code/Reader/ArgumentsReader.php
 create mode 100644 lib/Magento/Code/Validator.php
 create mode 100644 lib/Magento/Code/Validator/ArgumentSequence.php
 create mode 100644 lib/Magento/Code/Validator/ContextAggregation.php
 create mode 100644 lib/Magento/Code/ValidatorInterface.php
 create mode 100644 lib/Magento/Config/ScopeListInterface.php
 create mode 100644 lib/Magento/Encryption/UrlCoder.php
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/AbstractMessage.php (60%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/Collection.php (62%)
 create mode 100644 lib/Magento/Message/CollectionFactory.php
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/Error.php (75%)
 create mode 100644 lib/Magento/Message/Factory.php
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/Notice.php (75%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/Success.php (75%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Message/Warning.php (75%)
 create mode 100644 lib/Magento/TranslateInterface.php
 rename {app/code/Magento/Core => lib/Magento/View}/Block/AbstractBlock.php (92%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Context.php (91%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Html/Calendar.php (82%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Html/Date.php (79%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Html/Link.php (80%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Html/Select.php (86%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Messages.php (55%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Template.php (86%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Template/Context.php (76%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Text.php (68%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Text/ListText.php (84%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Text/TextList/Item.php (71%)
 rename {app/code/Magento/Core => lib/Magento/View}/Block/Text/TextList/Link.php (67%)
 create mode 100644 lib/Magento/View/Design/Theme/Domain/PhysicalInterface.php
 create mode 100644 lib/Magento/View/Design/Theme/Domain/StagingInterface.php
 create mode 100644 lib/Magento/View/Design/Theme/Domain/VirtualInterface.php
 delete mode 100644 lib/Magento/View/Render/Html.php
 create mode 100644 lib/Magento/View/TemplateEnginePool.php

diff --git a/CHANGELOG.md b/CHANGELOG.md
index d601a36f590..974e9df22c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,25 @@
+2.0.0.0-dev53
+=============
+* Moved general action-related functionality to \Magento\App\Action\Action in the library. Removed Magento\Core\Controller\Varien\Action and related logic from the Magento_Core module
+* Moved view-related methods from action interface to \Magento\App\ViewInterface with corresponding implementation
+* Moved redirect creation logic from the action interface to \Magento\App\Response\RedirectInterface
+* Moved Magento\Core common blocks to the library
+* Added reading of etc/integration/config.xml and etc/integration/api.xml files for API Integrations
+* Various improvements:
+  * Email-related logic from the Core and Adminhtml modules consolidated in the new Email module
+* GitHub requests:
+  * [#238](https://github.com/magento/magento2/pull/238) -- Improve escaping HTML entities in URL
+  * [#199](https://github.com/magento/magento2/pull/199) -- Replaced function calls to array_push with adding the elements directly
+  * [#182](https://github.com/magento/magento2/pull/182) -- By default use collection _idFieldName for toOption* methods.
+  * [#233](https://github.com/magento/magento2/pull/233) -- Google Rich Snippet Code
+  * [#339](https://github.com/magento/magento2/pull/339) -- Correcting 'cahce' typo in documentation.
+  * [#232](https://github.com/magento/magento2/pull/232) -- Update app/code/core/Mage/Checkout/controllers/CartController.php (fix issue #27632)
+* Fixed bugs:
+  * Fixed JavaScript error when printing orders from the frontend
+  * Fixed Captcha problems on various forms when Captcha is enabled on the frontend
+  * Fixed "Page not found" on category page if setting "Add Store Code to Urls" to "Yes" in the backend config
+  * Fixed Fatal error when creating shipping label for returns
+
 2.0.0.0-dev52
 =============
 * Better Navigation menu rendering due to improved Caching of Categories
@@ -53,7 +75,7 @@
      * Moved the String Helper to the Magento\Filter, Magento\Stdlib\String, Magento\Stdlib\ArrayUtils libraries
      * Moved the Data Helper to the Magento\Math, Magento\Filter, Magento\Convert, Magento\Encryption, Magento\Filesystem libraries and to Magento\Customer\Helper\Data libraries
      * Moved the Http Magento Helper to the Magento\HTTP library
-  * The Hint Magento Helper, Http Magento Helper helpers were removed from the Magento\Core module
+  *  The Hint Magento Helper, Http Magento Helper helpers were removed from the Magento\Core module
   * Implemented SOAP faults declaration in WSDL
   * Web API config reader was refactored to use Magento\Config\Reader\Filesystem
   * Created integrations module. Added 'Integrations Grid' and 'New/Edit' Integration pages in the admin
diff --git a/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php b/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
index 29c4a227b79..44e74e36cde 100644
--- a/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
+++ b/app/code/Magento/AdminNotification/Block/Grid/Renderer/Actions.php
@@ -53,7 +53,7 @@ class Actions
             $this->getUrl('*/*/remove/', array(
                 '_current'=>true,
                 'id' => $row->getId(),
-                \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $encodedUrl)
+                \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $encodedUrl)
             ),
             __('Are you sure?'),
             __('Remove')
diff --git a/app/code/Magento/AdminNotification/Block/System/Messages.php b/app/code/Magento/AdminNotification/Block/System/Messages.php
index af0ab846362..ce984ccf278 100644
--- a/app/code/Magento/AdminNotification/Block/System/Messages.php
+++ b/app/code/Magento/AdminNotification/Block/System/Messages.php
@@ -32,19 +32,19 @@ class Messages extends \Magento\Backend\Block\Template
      */
     protected $_messages;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_messages = $messages;
     }
 
diff --git a/app/code/Magento/AdminNotification/Block/System/Messages/UnreadMessagePopup.php b/app/code/Magento/AdminNotification/Block/System/Messages/UnreadMessagePopup.php
index 2c509af6e2d..95635f6103c 100644
--- a/app/code/Magento/AdminNotification/Block/System/Messages/UnreadMessagePopup.php
+++ b/app/code/Magento/AdminNotification/Block/System/Messages/UnreadMessagePopup.php
@@ -42,19 +42,19 @@ class UnreadMessagePopup extends \Magento\Backend\Block\Template
      */
     protected $_messages;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\AdminNotification\Model\Resource\System\Message\Collection\Synchronized $messages,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_messages = $messages;
     }
 
diff --git a/app/code/Magento/AdminNotification/Block/ToolbarEntry.php b/app/code/Magento/AdminNotification/Block/ToolbarEntry.php
index 9df8fec4cc4..3ad43a59117 100644
--- a/app/code/Magento/AdminNotification/Block/ToolbarEntry.php
+++ b/app/code/Magento/AdminNotification/Block/ToolbarEntry.php
@@ -42,19 +42,19 @@ class ToolbarEntry extends \Magento\Backend\Block\Template
      */
     protected $_notificationList;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\AdminNotification\Model\Resource\Inbox\Collection\Unread $notificationList
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\AdminNotification\Model\Resource\Inbox\Collection\Unread $notificationList
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\AdminNotification\Model\Resource\Inbox\Collection\Unread $notificationList,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\AdminNotification\Model\Resource\Inbox\Collection\Unread $notificationList,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_notificationList = $notificationList;
     }
 
diff --git a/app/code/Magento/AdminNotification/Block/Window.php b/app/code/Magento/AdminNotification/Block/Window.php
index 5f2ee757ddf..a2116a9fb02 100644
--- a/app/code/Magento/AdminNotification/Block/Window.php
+++ b/app/code/Magento/AdminNotification/Block/Window.php
@@ -60,21 +60,21 @@ class Window extends \Magento\Backend\Block\Template
      */
     protected $_latestItem;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\AdminNotification\Model\Resource\Inbox\Collection\Critical $criticalCollection
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\AdminNotification\Model\Resource\Inbox\Collection\Critical $criticalCollection
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\AdminNotification\Model\Resource\Inbox\Collection\Critical $criticalCollection,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\AdminNotification\Model\Resource\Inbox\Collection\Critical $criticalCollection,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_authSession = $authSession;
         $this->_criticalCollection = $criticalCollection;
     }
diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php
index dc3c1078de4..e79c4a49bd5 100644
--- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php
+++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php
@@ -27,18 +27,19 @@
  */
 namespace Magento\AdminNotification\Controller\Adminhtml;
 
-class Notification extends \Magento\Backend\Controller\AbstractAction
+class Notification extends \Magento\Backend\App\AbstractAction
 {
     public function indexAction()
     {
-        $this->_title(__('Notifications'));
+        $this->_title->add(__('Notifications'));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_AdminNotification::system_adminnotification')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_AdminNotification::system_adminnotification')
             ->_addBreadcrumb(
                 __('Messages Inbox'),
                 __('Messages Inbox')
-            )->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function markAsReadAction()
@@ -59,7 +60,7 @@ class Notification extends \Magento\Backend\Controller\AbstractAction
                 );
             }
 
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
             return;
         }
         $this->_redirect('adminhtml/*/');
@@ -174,7 +175,7 @@ class Notification extends \Magento\Backend\Controller\AbstractAction
                     __("We couldn't remove the messages because of an error."));
             }
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Survey.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Survey.php
index f8d688ac873..d66c585ef13 100644
--- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Survey.php
+++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Survey.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\AdminNotification\Controller\Adminhtml;
 
-class Survey extends \Magento\Backend\Controller\Adminhtml\Action
+class Survey extends \Magento\Backend\App\Action
 {
     /**
      * Index Action
diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message.php
index 17e26203ef0..49532c93c82 100644
--- a/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message.php
+++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/System/Message.php
@@ -24,7 +24,7 @@
 
 namespace Magento\AdminNotification\Controller\Adminhtml\System;
 
-class Message extends \Magento\Backend\Controller\AbstractAction
+class Message extends \Magento\Backend\App\AbstractAction
 {
     public function listAction()
     {
diff --git a/app/code/Magento/AdminNotification/Helper/Data.php b/app/code/Magento/AdminNotification/Helper/Data.php
index 24b0512350b..f117a74a512 100644
--- a/app/code/Magento/AdminNotification/Helper/Data.php
+++ b/app/code/Magento/AdminNotification/Helper/Data.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\AdminNotification\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_POPUP_URL    = 'system/adminnotification/popup_url';
 
@@ -77,7 +77,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_inboxFactory;
 
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\AdminNotification\Model\InboxFactory $inboxFactory
     ) {
diff --git a/app/code/Magento/AdminNotification/Model/Feed.php b/app/code/Magento/AdminNotification/Model/Feed.php
index a0f94bf5ec8..4477bb68e9d 100644
--- a/app/code/Magento/AdminNotification/Model/Feed.php
+++ b/app/code/Magento/AdminNotification/Model/Feed.php
@@ -58,17 +58,11 @@ class Feed extends \Magento\Core\Model\AbstractModel
      */
     protected $_inboxFactory;
 
-    /**
-     * @var \Magento\App\CacheInterface
-     */
-    protected $_cache;
-
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\AdminNotification\Model\InboxFactory $inboxFactory
-     * @param \Magento\App\CacheInterface $cache
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -78,7 +72,6 @@ class Feed extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\AdminNotification\Model\InboxFactory $inboxFactory,
-        \Magento\App\CacheInterface $cache,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -86,7 +79,6 @@ class Feed extends \Magento\Core\Model\AbstractModel
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_inboxFactory = $inboxFactory;
-        $this->_cache = $cache;
     }
 
     /**
@@ -94,7 +86,9 @@ class Feed extends \Magento\Core\Model\AbstractModel
      *
      */
     protected function _construct()
-    {}
+    {
+
+    }
 
     /**
      * Retrieve feed url
@@ -174,7 +168,7 @@ class Feed extends \Magento\Core\Model\AbstractModel
      */
     public function getLastUpdate()
     {
-        return $this->_cache->load('admin_notifications_lastcheck');
+        return $this->_cacheManager->load('admin_notifications_lastcheck');
     }
 
     /**
@@ -184,7 +178,7 @@ class Feed extends \Magento\Core\Model\AbstractModel
      */
     public function setLastUpdate()
     {
-        $this->_cache->save(time(), 'admin_notifications_lastcheck');
+        $this->_cacheManager->save(time(), 'admin_notifications_lastcheck');
         return $this;
     }
 
diff --git a/app/code/Magento/Adminhtml/Block/Backup/Dialogs.php b/app/code/Magento/Adminhtml/Block/Backup/Dialogs.php
index 673f91627b6..fc3499afd78 100644
--- a/app/code/Magento/Adminhtml/Block/Backup/Dialogs.php
+++ b/app/code/Magento/Adminhtml/Block/Backup/Dialogs.php
@@ -45,7 +45,7 @@ class Dialogs extends \Magento\Adminhtml\Block\Template
     /**
      * Include backup.js file in page before rendering
      *
-     * @see \Magento\Core\Block\AbstractBlock::_prepareLayout()
+     * @see \Magento\View\Block\AbstractBlock::_prepareLayout()
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Adminhtml/Block/Denied.php b/app/code/Magento/Adminhtml/Block/Denied.php
index d9c6b272f61..96c0fa78b55 100644
--- a/app/code/Magento/Adminhtml/Block/Denied.php
+++ b/app/code/Magento/Adminhtml/Block/Denied.php
@@ -33,20 +33,20 @@ class Denied extends \Magento\Adminhtml\Block\Template
      */
     protected $_authSession;
 
-    /**
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        array $data = array()
+    ) {
         $this->_authSession = $authSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function hasAvailableResources()
diff --git a/app/code/Magento/Adminhtml/Block/Html/Date.php b/app/code/Magento/Adminhtml/Block/Html/Date.php
index 3d67e24be1e..b66f44d120c 100644
--- a/app/code/Magento/Adminhtml/Block/Html/Date.php
+++ b/app/code/Magento/Adminhtml/Block/Html/Date.php
@@ -33,6 +33,6 @@
  */
 namespace Magento\Adminhtml\Block\Html;
 
-class Date extends \Magento\Core\Block\Html\Date
+class Date extends \Magento\View\Block\Html\Date
 {
 }
diff --git a/app/code/Magento/Adminhtml/Block/Html/Select.php b/app/code/Magento/Adminhtml/Block/Html/Select.php
index d3387a83f1c..ace82771088 100644
--- a/app/code/Magento/Adminhtml/Block/Html/Select.php
+++ b/app/code/Magento/Adminhtml/Block/Html/Select.php
@@ -33,6 +33,6 @@
  */
 namespace Magento\Adminhtml\Block\Html;
 
-class Select extends \Magento\Core\Block\Html\Select
+class Select extends \Magento\View\Block\Html\Select
 {
 }
diff --git a/app/code/Magento/Adminhtml/Block/Media/Uploader.php b/app/code/Magento/Adminhtml/Block/Media/Uploader.php
index e2b72f17e51..0cb0c9c6973 100644
--- a/app/code/Magento/Adminhtml/Block/Media/Uploader.php
+++ b/app/code/Magento/Adminhtml/Block/Media/Uploader.php
@@ -41,33 +41,25 @@ class Uploader extends \Magento\Adminhtml\Block\Widget
      */
     protected $_template = 'Magento_Adminhtml::media/uploader.phtml';
 
-    /**
-     * @var \Magento\View\Url
-     */
-    protected $_viewUrl;
-
     /**
      * @var \Magento\File\Size
      */
     protected $_fileSizeService;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\View\Url $viewUrl
-     * @param \Magento\File\Size $fileSize
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\File\Size $fileSize
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\View\Url $viewUrl,
-        \Magento\File\Size $fileSize,
-        array $data = array()
-    ) {
-        $this->_viewUrl = $viewUrl;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\File\Size $fileSize,
+        array $data = array()
+    ) {
         $this->_fileSizeService = $fileSize;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Messages.php b/app/code/Magento/Adminhtml/Block/Messages.php
index e17a7284a32..93896f840b8 100644
--- a/app/code/Magento/Adminhtml/Block/Messages.php
+++ b/app/code/Magento/Adminhtml/Block/Messages.php
@@ -34,6 +34,6 @@
  */
 namespace Magento\Adminhtml\Block;
 
-class Messages extends \Magento\Core\Block\Messages
+class Messages extends \Magento\View\Block\Messages
 {
 }
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Problem.php b/app/code/Magento/Adminhtml/Block/Newsletter/Problem.php
index c139adb9e5b..7a9af30931a 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Problem.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Problem.php
@@ -43,20 +43,20 @@ class Problem extends \Magento\Adminhtml\Block\Template
      */
     protected $_problemCollection;
 
-    /**
-     * @param \Magento\Newsletter\Model\Resource\Problem\Collection $problemCollection
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Newsletter\Model\Resource\Problem\Collection $problemCollection
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\Resource\Problem\Collection $problemCollection,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Newsletter\Model\Resource\Problem\Collection $problemCollection,
+        array $data = array()
+    ) {
         $this->_problemCollection = $problemCollection;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit.php b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit.php
index ffcd6e1866a..7dac9990abc 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit.php
@@ -45,23 +45,23 @@ class Edit extends \Magento\Adminhtml\Block\Template
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit/Form.php
index 40ce922592a..58a32c93408 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Edit/Form.php
@@ -51,30 +51,30 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_queueFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\QueueFactory $queueFactory,
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Newsletter\Model\QueueFactory $queueFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
         $this->_systemStore = $systemStore;
         $this->_queueFactory = $queueFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Preview.php b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Preview.php
index 406e1e218fd..e42e83e22f2 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Preview.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Queue/Preview.php
@@ -50,26 +50,26 @@ class Preview extends \Magento\Adminhtml\Block\Widget
      */
     protected $_subscriberFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
-     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
-     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
+     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
+     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\TemplateFactory $templateFactory,
-        \Magento\Newsletter\Model\QueueFactory $queueFactory,
-        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Newsletter\Model\TemplateFactory $templateFactory,
+        \Magento\Newsletter\Model\QueueFactory $queueFactory,
+        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
+        array $data = array()
+    ) {
         $this->_templateFactory = $templateFactory;
         $this->_queueFactory = $queueFactory;
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _toHtml()
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber.php b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber.php
index f13d5c91f22..77983dbce8d 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber.php
@@ -50,20 +50,20 @@ class Subscriber extends \Magento\Adminhtml\Block\Template
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid.php b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid.php
index 196316360e4..58d5307b946 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Backend\Block\Widget\Grid
      */
     protected $_queueFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\QueueFactory $queueFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Newsletter\Model\QueueFactory $queueFactory,
+        array $data = array()
+    ) {
         $this->_queueFactory = $queueFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid/Filter/Website.php b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid/Filter/Website.php
index 832de5c9ab6..69b889266f1 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid/Filter/Website.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Subscriber/Grid/Filter/Website.php
@@ -51,22 +51,22 @@ class Website
      */
     protected $_websitesFactory;
 
-    /**
-     * @param \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
+     * @param \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\Resource\Helper $resourceHelper,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Model\Resource\Helper $resourceHelper,
+        \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_storeManager = $storeManager;
         $this->_websitesFactory = $websitesFactory;
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit.php b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit.php
index 2c00dd14382..e5e39f20440 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit.php
@@ -54,23 +54,23 @@ class Edit extends \Magento\Adminhtml\Block\Widget
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit/Form.php
index e4739860bab..aca73a4d278 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Edit/Form.php
@@ -41,24 +41,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Grid.php b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Grid.php
index 9c2f5ef483e..e065b186a58 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_templateCollection;
 
-    /**
-     * @param \Magento\Newsletter\Model\Resource\Template\Collection $templateCollection
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Newsletter\Model\Resource\Template\Collection $templateCollection
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\Resource\Template\Collection $templateCollection,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Newsletter\Model\Resource\Template\Collection $templateCollection,
+        array $data = array()
+    ) {
         $this->_templateCollection = $templateCollection;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
         $this->setEmptyText(__('No Templates Found'));
     }
 
diff --git a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Preview.php b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Preview.php
index 304eca2cb6d..f60823e8bcd 100644
--- a/app/code/Magento/Adminhtml/Block/Newsletter/Template/Preview.php
+++ b/app/code/Magento/Adminhtml/Block/Newsletter/Template/Preview.php
@@ -45,23 +45,23 @@ class Preview extends \Magento\Adminhtml\Block\Widget
      */
     protected $_subscriberFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
-     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
+     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\TemplateFactory $templateFactory,
-        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Newsletter\Model\TemplateFactory $templateFactory,
+        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
+        array $data = array()
+    ) {
         $this->_templateFactory = $templateFactory;
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _toHtml()
diff --git a/app/code/Magento/Adminhtml/Block/Page.php b/app/code/Magento/Adminhtml/Block/Page.php
index a1622bac45b..db5845b304f 100644
--- a/app/code/Magento/Adminhtml/Block/Page.php
+++ b/app/code/Magento/Adminhtml/Block/Page.php
@@ -35,30 +35,8 @@ namespace Magento\Adminhtml\Block;
 
 class Page extends \Magento\Backend\Block\Template
 {
-
     protected $_template = 'admin/page.phtml';
 
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_application;
-
-    /**
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        $this->_application = $application;
-        parent::__construct($coreData, $context, $data);
-    }
-
     /**
      * Class constructor
      *
@@ -67,10 +45,7 @@ class Page extends \Magento\Backend\Block\Template
     {
         parent::_construct();
 
-        $action = $this->_application->getFrontController()->getAction();
-        if ($action) {
-            $this->addBodyClass($action->getFullActionName('-'));
-        }
+        $this->addBodyClass($this->_request->getFullActionName('-'));
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Page/Head.php b/app/code/Magento/Adminhtml/Block/Page/Head.php
index f8b7a0a6d2a..f0c549d8ccb 100644
--- a/app/code/Magento/Adminhtml/Block/Page/Head.php
+++ b/app/code/Magento/Adminhtml/Block/Page/Head.php
@@ -41,42 +41,42 @@ class Head extends \Magento\Page\Block\Html\Head
     protected $_template = 'page/head.phtml';
 
     /**
-     * @var \Magento\Core\Model\Session
+     * @var \Magento\App\Action\Title
      */
-    protected $_session;
+    protected $_titles;
 
     /**
-     * @param \Magento\Core\Model\Session $session
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\App\Dir $dir
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Page $page
      * @param \Magento\Core\Model\Page\Asset\MergeService $assetMergeService
      * @param \Magento\Core\Model\Page\Asset\MinifyService $assetMinifyService
+     * @param \Magento\App\Action\Title $titles
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Session $session,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\App\Dir $dir,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Page $page,
         \Magento\Core\Model\Page\Asset\MergeService $assetMergeService,
         \Magento\Core\Model\Page\Asset\MinifyService $assetMinifyService,
+        \Magento\App\Action\Title $titles,
         array $data = array()
     ) {
-        $this->_session = $session;
+        $this->_titles = $titles;
         parent::__construct(
-            $locale, $dir, $storeManager, $fileStorageDatabase, $coreData, $context, $objectManager, $page,
-            $assetMergeService, $assetMinifyService, $data
+            $context,
+            $coreData,
+            $fileStorageDatabase,
+            $objectManager,
+            $page,
+            $assetMergeService,
+            $assetMinifyService,
+            $data
         );
     }
 
@@ -89,4 +89,22 @@ class Head extends \Magento\Page\Block\Html\Head
     {
         return $this->_session->getFormKey();
     }
+
+    /**
+     * @return array|string
+     */
+    public function getTitle()
+    {
+        /** Get default title */
+        $title = parent::getTitle();
+
+        /** Add default title */
+        $this->_titles->add($title, true);
+
+        /** Set title list */
+        $this->setTitle(array_reverse($this->_titles->get()));
+
+        /** Render titles */
+        return parent::getTitle();
+    }
 }
diff --git a/app/code/Magento/Adminhtml/Block/Page/Header.php b/app/code/Magento/Adminhtml/Block/Page/Header.php
index 4c80e37bc1b..88d99b1e169 100644
--- a/app/code/Magento/Adminhtml/Block/Page/Header.php
+++ b/app/code/Magento/Adminhtml/Block/Page/Header.php
@@ -49,23 +49,23 @@ class Header extends \Magento\Adminhtml\Block\Template
      */
     protected $_authSession;
 
-    /**
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Backend\Helper\Data $backendData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Backend\Helper\Data $backendData,
+        array $data = array()
+    ) {
         $this->_backendData = $backendData;
         $this->_authSession = $authSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getHomeLink()
diff --git a/app/code/Magento/Adminhtml/Block/Page/System/Config/Robots/Reset.php b/app/code/Magento/Adminhtml/Block/Page/System/Config/Robots/Reset.php
index 9334fab0c6c..481945d922f 100644
--- a/app/code/Magento/Adminhtml/Block/Page/System/Config/Robots/Reset.php
+++ b/app/code/Magento/Adminhtml/Block/Page/System/Config/Robots/Reset.php
@@ -42,22 +42,20 @@ class Reset extends \Magento\Backend\Block\System\Config\Form\Field
      */
     protected $_pageRobots = null;
 
-    /**
-     * @param \Magento\Page\Helper\Robots $pageRobots
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Page\Helper\Robots $pageRobots
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Page\Helper\Robots $pageRobots,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Page\Helper\Robots $pageRobots,
+        array $data = array()
+    ) {
         $this->_pageRobots = $pageRobots;
-        parent::__construct($coreData, $context, $application, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /*
diff --git a/app/code/Magento/Adminhtml/Block/Report/Config/Form/Field/YtdStart.php b/app/code/Magento/Adminhtml/Block/Report/Config/Form/Field/YtdStart.php
index fdf5086eb0c..d5fdeb3b6d2 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Config/Form/Field/YtdStart.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Config/Form/Field/YtdStart.php
@@ -35,31 +35,6 @@ namespace Magento\Adminhtml\Block\Report\Config\Form\Field;
 
 class YtdStart extends \Magento\Backend\Block\System\Config\Form\Field
 {
-    /**
-     * Locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $application, $data);
-    }
-
     protected function _getElementHtml(\Magento\Data\Form\Element\AbstractElement $element)
     {
         $_months = array();
diff --git a/app/code/Magento/Adminhtml/Block/Report/Grid/AbstractGrid.php b/app/code/Magento/Adminhtml/Block/Report/Grid/AbstractGrid.php
index a91ef21a32b..2d729bcff57 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Grid/AbstractGrid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Grid/AbstractGrid.php
@@ -55,30 +55,28 @@ class AbstractGrid extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_resourceFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory
-     * @param \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory
-     * @param \Magento\Reports\Helper\Data $reportsData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory
+     * @param \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory
+     * @param \Magento\Reports\Helper\Data $reportsData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory,
-        \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory,
-        \Magento\Reports\Helper\Data $reportsData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory,
+        \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory,
+        \Magento\Reports\Helper\Data $reportsData,
+        array $data = array()
+    ) {
         $this->_resourceFactory = $resourceFactory;
         $this->_collectionFactory = $collectionFactory;
         $this->_reportsData = $reportsData;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Product/Downloads/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Product/Downloads/Grid.php
index 4cb3ae35647..92839062b40 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Product/Downloads/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Product/Downloads/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_downloadsFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Product\Downloads\CollectionFactory $downloadsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Product\Downloads\CollectionFactory $downloadsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Product\Downloads\CollectionFactory $downloadsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Product\Downloads\CollectionFactory $downloadsFactory,
+        array $data = array()
+    ) {
         $this->_downloadsFactory = $downloadsFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Product/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Product/Grid.php
index e760cd4082e..e5b71fae7b3 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Product/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Product/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Product\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Product\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Product\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Product\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Product/Lowstock/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Product/Lowstock/Grid.php
index eb236302e84..5f415544878 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Product/Lowstock/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Product/Lowstock/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Backend\Block\Widget\Grid
      */
     protected $_lowstocksFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Product\Lowstock\CollectionFactory $lowstocksFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Product\Lowstock\CollectionFactory $lowstocksFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Product\Lowstock\CollectionFactory $lowstocksFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Product\Lowstock\CollectionFactory $lowstocksFactory,
+        array $data = array()
+    ) {
         $this->_lowstocksFactory = $lowstocksFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Report/Review/Detail.php b/app/code/Magento/Adminhtml/Block/Report/Review/Detail.php
index 2164a5c5778..49fa91e3e29 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Review/Detail.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Review/Detail.php
@@ -41,20 +41,20 @@ class Detail extends \Magento\Adminhtml\Block\Widget\Grid\Container
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Review/Detail/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Review/Detail/Grid.php
index 5ee344a390d..c8032a5ff01 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Review/Detail/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Review/Detail/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_reviewsFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Review\CollectionFactory $reviewsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Review\CollectionFactory $reviewsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Review\CollectionFactory $reviewsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Review\CollectionFactory $reviewsFactory,
+        array $data = array()
+    ) {
         $this->_reviewsFactory = $reviewsFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Sales/Tax/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Sales/Tax/Grid.php
index c0fd6e58ff2..cb23cc1d3b2 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Sales/Tax/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Sales/Tax/Grid.php
@@ -42,32 +42,28 @@ class Grid extends \Magento\Adminhtml\Block\Report\Grid\AbstractGrid
      */
     protected $_configFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Order\ConfigFactory $configFactory
-     * @param \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory
-     * @param \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory
-     * @param \Magento\Reports\Helper\Data $reportsData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory
+     * @param \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory
+     * @param \Magento\Reports\Helper\Data $reportsData
+     * @param \Magento\Sales\Model\Order\ConfigFactory $configFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\ConfigFactory $configFactory,
-        \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory,
-        \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory,
-        \Magento\Reports\Helper\Data $reportsData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Report\Collection\Factory $resourceFactory,
+        \Magento\Reports\Model\Grouped\CollectionFactory $collectionFactory,
+        \Magento\Reports\Helper\Data $reportsData,
+        \Magento\Sales\Model\Order\ConfigFactory $configFactory,
+        array $data = array()
+    ) {
         $this->_configFactory = $configFactory;
-        parent::__construct(
-            $resourceFactory, $collectionFactory, $reportsData, $coreData, $context, $storeManager, $urlModel, $data
-        );
+        parent::__construct($context, $coreData, $urlModel, $resourceFactory, $collectionFactory, $reportsData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Abandoned/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Abandoned/Grid.php
index 89335c84910..cc77533f1d4 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Abandoned/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Abandoned/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Report\Grid\Shopcart
      */
     protected $_quotesFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory,
+        array $data = array()
+    ) {
         $this->_quotesFactory = $quotesFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Customer/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Customer/Grid.php
index 19d583493b8..d167a0e66d9 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Customer/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Customer/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Report\Grid\Shopcart
      */
     protected $_customersFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Customer\CollectionFactory $customersFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Customer\CollectionFactory $customersFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Customer\CollectionFactory $customersFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Customer\CollectionFactory $customersFactory,
+        array $data = array()
+    ) {
         $this->_customersFactory = $customersFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Product/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Product/Grid.php
index b755b3e65c6..fb98870a7e1 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Shopcart/Product/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Shopcart/Product/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Report\Grid\Shopcart
      */
     protected $_quotesFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Quote\CollectionFactory $quotesFactory,
+        array $data = array()
+    ) {
         $this->_quotesFactory = $quotesFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Wishlist.php b/app/code/Magento/Adminhtml/Block/Report/Wishlist.php
index a70d709edca..bb013103362 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Wishlist.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Wishlist.php
@@ -52,20 +52,20 @@ class Wishlist extends \Magento\Backend\Block\Template
      */
     protected $_wishlistFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Wishlist\CollectionFactory $wishlistFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Reports\Model\Resource\Wishlist\CollectionFactory $wishlistFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Wishlist\CollectionFactory $wishlistFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Reports\Model\Resource\Wishlist\CollectionFactory $wishlistFactory,
+        array $data = array()
+    ) {
         $this->_wishlistFactory = $wishlistFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function _beforeToHtml()
diff --git a/app/code/Magento/Adminhtml/Block/Report/Wishlist/Grid.php b/app/code/Magento/Adminhtml/Block/Report/Wishlist/Grid.php
index 0267454e50b..d0a7e08aaa5 100644
--- a/app/code/Magento/Adminhtml/Block/Report/Wishlist/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Report/Wishlist/Grid.php
@@ -40,24 +40,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_productsFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Wishlist\Product\CollectionFactory $productsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Wishlist\Product\CollectionFactory $productsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Wishlist\Product\CollectionFactory $productsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Wishlist\Product\CollectionFactory $productsFactory,
+        array $data = array()
+    ) {
         $this->_productsFactory = $productsFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Add/Form.php b/app/code/Magento/Adminhtml/Block/Review/Add/Form.php
index 49843a68a04..57ab6ced96f 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Add/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Add/Form.php
@@ -48,27 +48,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Review\Helper\Data $reviewData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Review\Helper\Data $reviewData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Review\Helper\Data $reviewData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Review\Helper\Data $reviewData,
+        array $data = array()
+    ) {
         $this->_reviewData = $reviewData;
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Edit.php b/app/code/Magento/Adminhtml/Block/Review/Edit.php
index 19aec366970..207148434d0 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Edit.php
@@ -50,26 +50,26 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_reviewFactory;
 
-    /**
-     * @param \Magento\Review\Model\ReviewFactory $reviewFactory
-     * @param \Magento\Review\Helper\Action\Pager $reviewActionPager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Review\Model\ReviewFactory $reviewFactory
+     * @param \Magento\Review\Helper\Action\Pager $reviewActionPager
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Review\Model\ReviewFactory $reviewFactory,
-        \Magento\Review\Helper\Action\Pager $reviewActionPager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Review\Model\ReviewFactory $reviewFactory,
+        \Magento\Review\Helper\Action\Pager $reviewActionPager,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_reviewActionPager = $reviewActionPager;
         $this->_reviewFactory = $reviewFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Review/Edit/Form.php
index 41c5fac3f07..7867f8a1923 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Edit/Form.php
@@ -53,33 +53,33 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Review\Helper\Data $reviewData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Review\Helper\Data $reviewData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Review\Helper\Data $reviewData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Customer\Model\CustomerFactory $customerFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Review\Helper\Data $reviewData,
+        array $data = array()
+    ) {
         $this->_reviewData = $reviewData;
         $this->_customerFactory = $customerFactory;
         $this->_productFactory = $productFactory;
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Grid.php b/app/code/Magento/Adminhtml/Block/Review/Grid.php
index 54ed13592fd..34758723c83 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Grid.php
@@ -72,36 +72,34 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_reviewFactory;
 
-    /**
-     * @param \Magento\Review\Model\ReviewFactory $reviewFactory
-     * @param \Magento\Review\Model\Resource\Review\Product\CollectionFactory $productsFactory
-     * @param \Magento\Review\Helper\Data $reviewData
-     * @param \Magento\Review\Helper\Action\Pager $reviewActionPager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Review\Model\ReviewFactory $reviewFactory
+     * @param \Magento\Review\Model\Resource\Review\Product\CollectionFactory $productsFactory
+     * @param \Magento\Review\Helper\Data $reviewData
+     * @param \Magento\Review\Helper\Action\Pager $reviewActionPager
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Review\Model\ReviewFactory $reviewFactory,
-        \Magento\Review\Model\Resource\Review\Product\CollectionFactory $productsFactory,
-        \Magento\Review\Helper\Data $reviewData,
-        \Magento\Review\Helper\Action\Pager $reviewActionPager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Review\Model\ReviewFactory $reviewFactory,
+        \Magento\Review\Model\Resource\Review\Product\CollectionFactory $productsFactory,
+        \Magento\Review\Helper\Data $reviewData,
+        \Magento\Review\Helper\Action\Pager $reviewActionPager,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_productsFactory = $productsFactory;
         $this->_coreRegistry = $coreRegistry;
         $this->_reviewData = $reviewData;
         $this->_reviewActionPager = $reviewActionPager;
         $this->_reviewFactory = $reviewFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Review/Main.php b/app/code/Magento/Adminhtml/Block/Review/Main.php
index e3be25f5e8e..eac15d1f713 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Main.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Main.php
@@ -48,26 +48,26 @@ class Main extends \Magento\Adminhtml\Block\Widget\Grid\Container
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\CustomerFactory $customerFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_customerFactory = $customerFactory;
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Product/Grid.php b/app/code/Magento/Adminhtml/Block/Review/Product/Grid.php
index 3210efe0633..38038e6d010 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Product/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Product/Grid.php
@@ -41,7 +41,9 @@ class Grid extends \Magento\Catalog\Block\Adminhtml\Product\Grid
     protected $_websitesFactory;
 
     /**
-     * @param \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
      * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
@@ -49,16 +51,13 @@ class Grid extends \Magento\Catalog\Block\Adminhtml\Product\Grid
      * @param \Magento\Catalog\Model\Product\Status $status
      * @param \Magento\Catalog\Model\Product\Visibility $visibility
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
         \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
@@ -66,16 +65,22 @@ class Grid extends \Magento\Catalog\Block\Adminhtml\Product\Grid
         \Magento\Catalog\Model\Product\Status $status,
         \Magento\Catalog\Model\Product\Visibility $visibility,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
+        \Magento\Core\Model\Resource\Website\CollectionFactory $websitesFactory,
         array $data = array()
     ) {
         $this->_websitesFactory = $websitesFactory;
         parent::__construct(
-            $websiteFactory, $setsFactory, $productFactory, $type, $status, $visibility, $catalogData, $coreData,
-            $context, $storeManager, $urlModel, $data
+            $context,
+            $coreData,
+            $urlModel,
+            $websiteFactory,
+            $setsFactory,
+            $productFactory,
+            $type,
+            $status,
+            $visibility,
+            $catalogData,
+            $data
         );
     }
 
diff --git a/app/code/Magento/Adminhtml/Block/Review/Rating/Detailed.php b/app/code/Magento/Adminhtml/Block/Review/Rating/Detailed.php
index 8c464d1a724..aed4f848991 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Rating/Detailed.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Rating/Detailed.php
@@ -52,26 +52,26 @@ class Detailed extends \Magento\Adminhtml\Block\Template
      */
     protected $_votesFactory;
 
-    /**
-     * @param \Magento\Rating\Model\Resource\Rating\CollectionFactory $ratingsFactory
-     * @param \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Rating\Model\Resource\Rating\CollectionFactory $ratingsFactory
+     * @param \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rating\Model\Resource\Rating\CollectionFactory $ratingsFactory,
-        \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Rating\Model\Resource\Rating\CollectionFactory $ratingsFactory,
+        \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_ratingsFactory = $ratingsFactory;
         $this->_votesFactory = $votesFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Review/Rating/Summary.php b/app/code/Magento/Adminhtml/Block/Review/Rating/Summary.php
index b3d99b87b30..9cb9a4fd471 100644
--- a/app/code/Magento/Adminhtml/Block/Review/Rating/Summary.php
+++ b/app/code/Magento/Adminhtml/Block/Review/Rating/Summary.php
@@ -50,26 +50,26 @@ class Summary extends \Magento\Adminhtml\Block\Template
      */
     protected $_ratingFactory;
 
-    /**
-     * @param \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory
-     * @param \Magento\Rating\Model\RatingFactory $ratingFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory
+     * @param \Magento\Rating\Model\RatingFactory $ratingFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory,
-        \Magento\Rating\Model\RatingFactory $ratingFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Rating\Model\Resource\Rating\Option\Vote\CollectionFactory $votesFactory,
+        \Magento\Rating\Model\RatingFactory $ratingFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_votesFactory = $votesFactory;
         $this->_ratingFactory = $ratingFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Adminhtml/Block/Shipping/Carrier/Tablerate/Grid.php b/app/code/Magento/Adminhtml/Block/Shipping/Carrier/Tablerate/Grid.php
index 01fbb2b0dac..6798661931b 100644
--- a/app/code/Magento/Adminhtml/Block/Shipping/Carrier/Tablerate/Grid.php
+++ b/app/code/Magento/Adminhtml/Block/Shipping/Carrier/Tablerate/Grid.php
@@ -60,27 +60,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Shipping\Model\Resource\Carrier\Tablerate\CollectionFactory $collectionFactory
-     * @param \Magento\Shipping\Model\Carrier\Tablerate $tablerate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Shipping\Model\Resource\Carrier\Tablerate\CollectionFactory $collectionFactory
+     * @param \Magento\Shipping\Model\Carrier\Tablerate $tablerate
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Shipping\Model\Resource\Carrier\Tablerate\CollectionFactory $collectionFactory,
-        \Magento\Shipping\Model\Carrier\Tablerate $tablerate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Shipping\Model\Resource\Carrier\Tablerate\CollectionFactory $collectionFactory,
+        \Magento\Shipping\Model\Carrier\Tablerate $tablerate,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_tablerate = $tablerate;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Sitemap/Edit.php b/app/code/Magento/Adminhtml/Block/Sitemap/Edit.php
index 813fb82a0a7..c9d79209247 100644
--- a/app/code/Magento/Adminhtml/Block/Sitemap/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Sitemap/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Sitemap/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Sitemap/Edit/Form.php
index 35e38bb6a1e..5122754073d 100644
--- a/app/code/Magento/Adminhtml/Block/Sitemap/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Sitemap/Edit/Form.php
@@ -40,24 +40,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Link.php b/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Link.php
index 4637739196f..3baf481abd6 100644
--- a/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Link.php
+++ b/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Link.php
@@ -44,18 +44,18 @@ class Link extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Abstract
      */
     protected $_sitemapFactory;
 
-    /**
-     * @param \Magento\Sitemap\Model\SitemapFactory $sitemapFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Filesystem $filesystem
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Sitemap\Model\SitemapFactory $sitemapFactory
+     * @param \Magento\Filesystem $filesystem
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sitemap\Model\SitemapFactory $sitemapFactory,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Filesystem $filesystem,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Sitemap\Model\SitemapFactory $sitemapFactory,
+        \Magento\Filesystem $filesystem,
+        array $data = array()
+    ) {
         $this->_sitemapFactory = $sitemapFactory;
         $this->_filesystem = $filesystem;
         parent::__construct($context, $data);
diff --git a/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Time.php b/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Time.php
index b66d948eed2..414d0bc23c7 100644
--- a/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Time.php
+++ b/app/code/Magento/Adminhtml/Block/Sitemap/Grid/Renderer/Time.php
@@ -39,16 +39,16 @@ class Time extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Abstract
      */
     protected $_date;
 
-    /**
-     * @param \Magento\Core\Model\Date $date
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Model\Date $date
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Date $date,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Model\Date $date,
+        array $data = array()
+    ) {
         $this->_date = $date;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/Adminhtml/Block/Text/ListText.php b/app/code/Magento/Adminhtml/Block/Text/ListText.php
index 5ae98bdcfe0..151cd4997b3 100644
--- a/app/code/Magento/Adminhtml/Block/Text/ListText.php
+++ b/app/code/Magento/Adminhtml/Block/Text/ListText.php
@@ -34,6 +34,6 @@
  */
 namespace Magento\Adminhtml\Block\Text;
 
-class ListText extends \Magento\Core\Block\Text\ListText
+class ListText extends \Magento\View\Block\Text\ListText
 {
 }
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite.php b/app/code/Magento/Adminhtml/Block/Urlrewrite.php
index 12c52c2fa0d..cc6745ab129 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite.php
@@ -50,20 +50,20 @@ class Urlrewrite extends \Magento\Adminhtml\Block\Widget\Grid\Container
      */
     protected $_urlrewriteSelector;
 
-    /**
-     * @param \Magento\Adminhtml\Block\Urlrewrite\Selector $urlrewriteSelector
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Block\Urlrewrite\Selector $urlrewriteSelector
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Block\Urlrewrite\Selector $urlrewriteSelector,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Block\Urlrewrite\Selector $urlrewriteSelector,
+        array $data = array()
+    ) {
         $this->_urlrewriteSelector = $urlrewriteSelector;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Edit.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Edit.php
index eb63830d34a..5d36e90c52d 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Edit.php
@@ -45,24 +45,24 @@ class Edit
      */
     protected $_categoryFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
+     * @param \Magento\Backend\Helper\Data $adminhtmlData
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Backend\Helper\Data $adminhtmlData,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        array $data = array()
+    ) {
         $this->_categoryFactory = $categoryFactory;
-        parent::__construct($rewriteFactory, $adminhtmlData, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $rewriteFactory, $adminhtmlData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Tree.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Tree.php
index 112b806b4f9..385ae7a4063 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Tree.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/Tree.php
@@ -61,30 +61,30 @@ class Tree extends \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param \Magento\Backend\Helper\Data $adminhtmlData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        \Magento\Backend\Helper\Data $adminhtmlData,
+        array $data = array()
+    ) {
         $this->_categoryFactory = $categoryFactory;
         $this->_productFactory = $productFactory;
         $this->_adminhtmlData = $adminhtmlData;
-        parent::__construct($categoryTree, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $categoryTree, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/Form.php
index 87e2bbf6f94..bfa806ad3af 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/Form.php
@@ -61,45 +61,51 @@ class Form extends \Magento\Adminhtml\Block\Urlrewrite\Edit\Form
     protected $_categoryFactory;
 
     /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Catalog\Model\Url $catalogUrl
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory
      * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param \Magento\Catalog\Model\Url $catalogUrl
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Catalog\Model\Url $catalogUrl,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory,
         \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory,
         \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Backend\Model\Session $backendSession,
         \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        \Magento\Catalog\Model\Url $catalogUrl,
         array $data = array()
     ) {
         $this->_productFactory = $productFactory;
         $this->_categoryFactory = $categoryFactory;
         $this->_catalogUrl = $catalogUrl;
         parent::__construct(
-            $typesFactory, $optionFactory, $rewriteFactory, $systemStore, $backendSession, $adminhtmlData, $registry,
-            $formFactory, $coreData, $context, $data
+            $context,
+            $coreData,
+            $registry,
+            $formFactory,
+            $typesFactory,
+            $optionFactory,
+            $rewriteFactory,
+            $systemStore,
+            $adminhtmlData,
+            $data
         );
     }
 
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/Edit.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/Edit.php
index 96799d5401e..da37c7a96d3 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/Edit.php
@@ -52,27 +52,27 @@ class Edit extends \Magento\Adminhtml\Block\Urlrewrite\Edit
      */
     protected $_categoryFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
+     * @param \Magento\Backend\Helper\Data $adminhtmlData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Backend\Helper\Data $adminhtmlData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        array $data = array()
+    ) {
         $this->_categoryFactory = $categoryFactory;
         $this->_productFactory = $productFactory;
-        parent::__construct($rewriteFactory, $adminhtmlData, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $rewriteFactory, $adminhtmlData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit.php
index 21b28ec5647..be91545f67a 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit.php
@@ -43,24 +43,24 @@ class Edit extends \Magento\Adminhtml\Block\Urlrewrite\Edit
      */
     protected $_pageFactory;
 
-    /**
-     * @param \Magento\Cms\Model\PageFactory $pageFactory
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
+     * @param \Magento\Backend\Helper\Data $adminhtmlData
+     * @param \Magento\Cms\Model\PageFactory $pageFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\PageFactory $pageFactory,
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Backend\Helper\Data $adminhtmlData,
+        \Magento\Cms\Model\PageFactory $pageFactory,
+        array $data = array()
+    ) {
         $this->_pageFactory = $pageFactory;
-        parent::__construct($rewriteFactory, $adminhtmlData, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $rewriteFactory, $adminhtmlData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/Form.php
index f7a1a53addb..b066a100577 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/Form.php
@@ -54,42 +54,48 @@ class Form extends \Magento\Adminhtml\Block\Urlrewrite\Edit\Form
     protected $_urlRewriteFactory;
 
     /**
-     * @param \Magento\Cms\Model\Page\UrlrewriteFactory $urlRewriteFactory
-     * @param \Magento\Cms\Model\PageFactory $pageFactory
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory
      * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Cms\Model\Page\UrlrewriteFactory $urlRewriteFactory
+     * @param \Magento\Cms\Model\PageFactory $pageFactory
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Cms\Model\Page\UrlrewriteFactory $urlRewriteFactory,
-        \Magento\Cms\Model\PageFactory $pageFactory,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory,
         \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory,
         \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Backend\Model\Session $backendSession,
         \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Cms\Model\Page\UrlrewriteFactory $urlRewriteFactory,
+        \Magento\Cms\Model\PageFactory $pageFactory,
         array $data = array()
     ) {
         $this->_urlRewriteFactory = $urlRewriteFactory;
         $this->_pageFactory = $pageFactory;
         parent::__construct(
-            $typesFactory, $optionFactory, $rewriteFactory, $systemStore, $backendSession, $adminhtmlData, $registry,
-            $formFactory, $coreData, $context, $data
+            $context,
+            $coreData,
+            $registry,
+            $formFactory,
+            $typesFactory,
+            $optionFactory,
+            $rewriteFactory,
+            $systemStore,
+            $adminhtmlData,
+            $data
         );
     }
 
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit.php
index 9027b3d0fc0..62f85dd7de9 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit.php
@@ -69,23 +69,23 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Container
      */
     protected $_rewriteFactory;
 
-    /**
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
+     * @param \Magento\Backend\Helper\Data $adminhtmlData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Backend\Helper\Data $adminhtmlData,
+        array $data = array()
+    ) {
         $this->_rewriteFactory = $rewriteFactory;
         $this->_adminhtmlData = $adminhtmlData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit/Form.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit/Form.php
index 7c2b06f3fe9..640a40be19d 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit/Form.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Edit/Form.php
@@ -69,11 +69,6 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_adminhtmlData = null;
 
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_backendSession;
-
     /**
      * @var \Magento\Core\Model\System\Store
      */
@@ -95,40 +90,37 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     protected $_typesFactory;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory
      * @param \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory
      * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Backend\Helper\Data $adminhtmlData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Core\Model\Source\Urlrewrite\TypesFactory $typesFactory,
         \Magento\Core\Model\Source\Urlrewrite\OptionsFactory $optionFactory,
         \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Backend\Model\Session $backendSession,
         \Magento\Backend\Helper\Data $adminhtmlData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_typesFactory = $typesFactory;
         $this->_optionFactory = $optionFactory;
         $this->_rewriteFactory = $rewriteFactory;
         $this->_systemStore = $systemStore;
-        $this->_backendSession = $backendSession;
         $this->_adminhtmlData = $adminhtmlData;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Link.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Link.php
index 588f3dd61fd..b9e48dc84ac 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Link.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Link.php
@@ -37,7 +37,7 @@
  */
 namespace Magento\Adminhtml\Block\Urlrewrite;
 
-class Link extends \Magento\Core\Block\AbstractBlock
+class Link extends \Magento\View\Block\AbstractBlock
 {
     /**
      * Render output
diff --git a/app/code/Magento/Adminhtml/Block/Urlrewrite/Selector.php b/app/code/Magento/Adminhtml/Block/Urlrewrite/Selector.php
index 26cdac523bb..f9c3d255767 100644
--- a/app/code/Magento/Adminhtml/Block/Urlrewrite/Selector.php
+++ b/app/code/Magento/Adminhtml/Block/Urlrewrite/Selector.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Adminhtml\Block\Urlrewrite;
 
-class Selector extends \Magento\Core\Block\Template
+class Selector extends \Magento\View\Block\Template
 {
     /**
      * List of available modes from source model
diff --git a/app/code/Magento/Adminhtml/Controller/Newsletter/Problem.php b/app/code/Magento/Adminhtml/Controller/Newsletter/Problem.php
index 149d34db364..e8a92104210 100644
--- a/app/code/Magento/Adminhtml/Controller/Newsletter/Problem.php
+++ b/app/code/Magento/Adminhtml/Controller/Newsletter/Problem.php
@@ -33,27 +33,27 @@
  */
 namespace Magento\Adminhtml\Controller\Newsletter;
 
-class Problem extends \Magento\Backend\Controller\Adminhtml\Action
+class Problem extends \Magento\Backend\App\Action
 {
     public function indexAction()
     {
-        $this->_title(__('Newsletter Problems Report'));
+        $this->_title->add(__('Newsletter Problems Report'));
 
         if ($this->getRequest()->getQuery('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->getLayout()->getMessagesBlock()->setMessages(
+        $this->_view->getLayout()->getMessagesBlock()->setMessages(
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getMessages(true)
         );
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Newsletter::newsletter_problem');
 
         $this->_addBreadcrumb(__('Newsletter Problem Reports'), __('Newsletter Problem Reports'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function gridAction()
@@ -89,10 +89,10 @@ class Problem extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')
                 ->addSuccess(__('The problems you identified have been deleted.'));
         }
-                $this->getLayout()->getMessagesBlock()->setMessages($this->_objectManager->get('Magento\Adminhtml\Model\Session')->getMessages(true));
+                $this->_view->getLayout()->getMessagesBlock()->setMessages($this->_objectManager->get('Magento\Adminhtml\Model\Session')->getMessages(true));
 
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Newsletter/Queue.php b/app/code/Magento/Adminhtml/Controller/Newsletter/Queue.php
index 295f7f47b4f..440e022e2ca 100644
--- a/app/code/Magento/Adminhtml/Controller/Newsletter/Queue.php
+++ b/app/code/Magento/Adminhtml/Controller/Newsletter/Queue.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Adminhtml\Controller\Newsletter;
 
-class Queue extends \Magento\Backend\Controller\Adminhtml\Action
+class Queue extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -59,20 +59,20 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Newsletter Queue'));
+        $this->_title->add(__('Newsletter Queue'));
 
         if ($this->getRequest()->getQuery('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Newsletter::newsletter_queue');
 
         $this->_addBreadcrumb(__('Newsletter Queue'), __('Newsletter Queue'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
 
@@ -81,8 +81,8 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function dropAction()
     {
-        $this->loadLayout('newsletter_queue_preview');
-        $this->renderLayout();
+        $this->_view->loadLayout('newsletter_queue_preview');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -90,10 +90,10 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function previewAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $data = $this->getRequest()->getParams();
         if (empty($data) || !isset($data['id'])) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return $this;
         }
 
@@ -101,8 +101,8 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
         $data['preview_store_id'] = $this->_objectManager->get('Magento\Core\Model\StoreManager')
             ->getDefaultStoreView()->getId();
 
-        $this->getLayout()->getBlock('preview_form')->setFormData($data);
-        $this->renderLayout();
+        $this->_view->getLayout()->getBlock('preview_form')->setFormData($data);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -110,8 +110,8 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     public function startAction()
@@ -202,7 +202,7 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Newsletter Queue'));
+        $this->_title->add(__('Newsletter Queue'));
 
         $this->_coreRegistry->register('current_queue', $this->_objectManager->get('Magento\Newsletter\Model\Queue'));
 
@@ -216,9 +216,9 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
             $queue = $this->_coreRegistry->registry('current_queue')->setTemplateId($template->getId());
         }
 
-        $this->_title(__('Edit Queue'));
+        $this->_title->add(__('Edit Queue'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Newsletter::newsletter_queue');
 
@@ -229,7 +229,7 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
         );
         $this->_addBreadcrumb(__('Edit Queue'), __('Edit Queue'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -289,7 +289,7 @@ class Queue extends \Magento\Backend\Controller\Adminhtml\Action
             if ($id) {
                 $this->_redirect('adminhtml/*/edit', array('id' => $id));
             } else {
-                $this->_redirectReferer();
+                $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
             }
         }
     }
diff --git a/app/code/Magento/Adminhtml/Controller/Newsletter/Subscriber.php b/app/code/Magento/Adminhtml/Controller/Newsletter/Subscriber.php
index a768e0bad69..a91f652f126 100644
--- a/app/code/Magento/Adminhtml/Controller/Newsletter/Subscriber.php
+++ b/app/code/Magento/Adminhtml/Controller/Newsletter/Subscriber.php
@@ -33,32 +33,48 @@
  */
 namespace Magento\Adminhtml\Controller\Newsletter;
 
-class Subscriber extends \Magento\Backend\Controller\Adminhtml\Action
+class Subscriber extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
 
     public function indexAction()
     {
-        $this->_title(__('Newsletter Subscribers'));
+        $this->_title->add(__('Newsletter Subscribers'));
 
         if ($this->getRequest()->getParam('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Newsletter::newsletter_subscriber');
 
         $this->_addBreadcrumb(__('Newsletter'), __('Newsletter'));
         $this->_addBreadcrumb(__('Subscribers'), __('Subscribers'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
      }
 
     /**
@@ -66,11 +82,11 @@ class Subscriber extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'subscribers.csv';
-        $content = $this->getLayout()->getChildBlock('adminhtml.newslettrer.subscriber.grid', 'grid.export');
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.newslettrer.subscriber.grid', 'grid.export');
 
-        $this->_prepareDownloadResponse($fileName, $content->getCsvFile($fileName));
+        return $this->_fileFactory->create($fileName, $content->getCsvFile($fileName));
     }
 
     /**
@@ -78,10 +94,10 @@ class Subscriber extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportXmlAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'subscribers.xml';
-        $content = $this->getLayout()->getChildBlock('adminhtml.newslettrer.subscriber.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $content->getExcelFile($fileName));
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.newslettrer.subscriber.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $content->getExcelFile($fileName));
     }
 
     public function massUnsubscribeAction()
diff --git a/app/code/Magento/Adminhtml/Controller/Newsletter/Template.php b/app/code/Magento/Adminhtml/Controller/Newsletter/Template.php
index 9b17d8cf37e..53537fe7b08 100644
--- a/app/code/Magento/Adminhtml/Controller/Newsletter/Template.php
+++ b/app/code/Magento/Adminhtml/Controller/Newsletter/Template.php
@@ -32,7 +32,7 @@
  */
 namespace Magento\Adminhtml\Controller\Newsletter;
 
-class Template extends \Magento\Backend\Controller\Adminhtml\Action
+class Template extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -40,13 +40,12 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      * @var \Magento\Core\Model\Registry
      */
     protected $_coreRegistry = null;
-
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -71,7 +70,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _setTitle()
     {
-        return $this->_title(__('Newsletter Templates'));
+        return $this->_title->add(__('Newsletter Templates'));
     }
 
     /**
@@ -86,11 +85,11 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_forward('grid');
             return;
         }
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Newsletter::newsletter_template');
         $this->_addBreadcrumb(__('Newsletter Templates'), __('Newsletter Templates'));
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Newsletter\Template', 'template'));
-        $this->renderLayout();
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Newsletter\Template', 'template'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -99,8 +98,8 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
-        $grid = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Newsletter\Template\Grid')
+        $this->_view->loadLayout();
+        $grid = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Newsletter\Template\Grid')
             ->toHtml();
         $this->getResponse()->setBody($grid);
     }
@@ -130,7 +129,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_coreRegistry->register('_current_template', $model);
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Newsletter::newsletter_template');
 
         if ($model->getId()) {
@@ -141,7 +140,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             $breadcrumbLabel = __('Create Newsletter Template');
         }
 
-        $this->_title($model->getId() ? $model->getTemplateCode() : __('New Template'));
+        $this->_title->add($model->getId() ? $model->getTemplateCode() : __('New Template'));
 
         $this->_addBreadcrumb($breadcrumbLabel, $breadcrumbTitle);
 
@@ -151,12 +150,12 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             $model->addData($values);
         }
 
-        $editBlock = $this->getLayout()->getBlock('template_edit');
+        $editBlock = $this->_view->getLayout()->getBlock('template_edit');
         if ($editBlock) {
             $editBlock->setEditMode($model->getId() > 0);
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -165,8 +164,8 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function dropAction()
     {
-        $this->loadLayout('newsletter_template_preview');
-        $this->renderLayout();
+        $this->_view->loadLayout('newsletter_template_preview');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -259,11 +258,11 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
     public function previewAction()
     {
         $this->_setTitle();
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $data = $this->getRequest()->getParams();
         if (empty($data) || !isset($data['id'])) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return $this;
         }
 
@@ -271,7 +270,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
         $data['preview_store_id'] = $this->_objectManager->get('Magento\Core\Model\StoreManager')
             ->getDefaultStoreView()->getId();
 
-        $this->getLayout()->getBlock('preview_form')->setFormData($data);
-        $this->renderLayout();
+        $this->_view->getLayout()->getBlock('preview_form')->setFormData($data);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Adminhtml/Controller/Report.php b/app/code/Magento/Adminhtml/Controller/Report.php
index c550488c9bf..45ed4c367ed 100644
--- a/app/code/Magento/Adminhtml/Controller/Report.php
+++ b/app/code/Magento/Adminhtml/Controller/Report.php
@@ -33,26 +33,43 @@
  */
 namespace Magento\Adminhtml\Controller;
 
-class Report extends \Magento\Backend\Controller\Adminhtml\Action
+class Report extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     public function _initAction()
     {
-        $this->loadLayout()
-            ->_addBreadcrumb(__('Reports'), __('Reports'));
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(__('Reports'), __('Reports'));
         return $this;
     }
 
 
     public function searchAction()
     {
-        $this->_title(__('Search Terms Report'));
+        $this->_title->add(__('Search Terms Report'));
 
         $this->_eventManager->dispatch('on_view_report', array('report' => 'search'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_search')
-            ->_addBreadcrumb(__('Search Terms'), __('Search Terms'))
-            ->renderLayout();
+            ->_addBreadcrumb(__('Search Terms'), __('Search Terms'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -60,9 +77,9 @@ class Report extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportSearchCsvAction()
     {
-        $this->loadLayout(false);
-        $content = $this->getLayout()->getChildBlock('adminhtml.report.search.grid', 'grid.export');
-        $this->_prepareDownloadResponse('search.csv', $content->getCsvFile());
+        $this->_view->loadLayout(false);
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.report.search.grid', 'grid.export');
+        return $this->_fileFactory->create('search.csv', $content->getCsvFile());
     }
 
     /**
@@ -70,9 +87,9 @@ class Report extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportSearchExcelAction()
     {
-        $this->loadLayout(false);
-        $content = $this->getLayout()->getChildBlock('adminhtml.report.search.grid', 'grid.export');
-        $this->_prepareDownloadResponse('search.xml', $content->getExcelFile());
+        $this->_view->loadLayout(false);
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.report.search.grid', 'grid.export');
+        return $this->_fileFactory->create('search.xml', $content->getExcelFile());
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Report/AbstractReport.php b/app/code/Magento/Adminhtml/Controller/Report/AbstractReport.php
index 5d6a4d569e6..21c7d398f83 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/AbstractReport.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/AbstractReport.php
@@ -34,8 +34,33 @@
  */
 namespace Magento\Adminhtml\Controller\Report;
 
-abstract class AbstractReport extends \Magento\Backend\Controller\Adminhtml\Action
+abstract class AbstractReport extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     * @param \Magento\Core\Filter\Date $dateFilter
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
+        \Magento\Core\Filter\Date $dateFilter
+    ) {
+        parent::__construct($context);
+        $this->_fileFactory = $fileFactory;
+        $this->_dateFilter = $dateFilter;
+    }
+
     /**
      * Admin session model
      *
@@ -63,8 +88,8 @@ abstract class AbstractReport extends \Magento\Backend\Controller\Adminhtml\Acti
      */
     public function _initAction()
     {
-        $this->loadLayout()
-            ->_addBreadcrumb(__('Reports'), __('Reports'));
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(__('Reports'), __('Reports'));
         return $this;
     }
 
@@ -82,7 +107,9 @@ abstract class AbstractReport extends \Magento\Backend\Controller\Adminhtml\Acti
 
         $requestData = $this->_objectManager->get('Magento\Adminhtml\Helper\Data')
             ->prepareFilterString($this->getRequest()->getParam('filter'));
-        $requestData = $this->_filterDates($requestData, array('from', 'to'));
+        $inputFilter = new \Zend_Filter_Input(array('from' => $this->_dateFilter, 'to' => $this->_dateFilter),
+            array(), $requestData);
+        $requestData = $inputFilter->getUnescaped();
         $requestData['store_ids'] = $this->getRequest()->getParam('store_ids');
         $params = new \Magento\Object();
 
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Customer.php b/app/code/Magento/Adminhtml/Controller/Report/Customer.php
index ad5fcdb9f80..da40a61d283 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Customer.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Customer.php
@@ -34,8 +34,25 @@
  */
 namespace Magento\Adminhtml\Controller\Report;
 
-class Customer extends \Magento\Backend\Controller\Adminhtml\Action
+class Customer extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     public function _initAction()
     {
         $act = $this->getRequest()->getActionName();
@@ -43,29 +60,29 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
             $act = 'default';
         }
 
-        $this->loadLayout()
-            ->_addBreadcrumb(
-                __('Reports'),
-                __('Reports')
-            )
-            ->_addBreadcrumb(
-                __('Customers'),
-                __('Customers')
-            );
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(
+            __('Reports'),
+            __('Reports')
+        );
+        $this->_addBreadcrumb(
+            __('Customers'),
+            __('Customers')
+        );
         return $this;
     }
 
     public function accountsAction()
     {
-        $this->_title(__('New Accounts Report'));
+        $this->_title->add(__('New Accounts Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_customers_accounts')
             ->_addBreadcrumb(
                 __('New Accounts'),
                 __('New Accounts')
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -73,11 +90,11 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportAccountsCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'new_accounts.csv';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -85,22 +102,22 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportAccountsExcelAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'new_accounts.xml';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile($fileName));
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile($fileName));
     }
 
     public function ordersAction()
     {
-        $this->_title(__('Order Count Report'));
+        $this->_title->add(__('Order Count Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_customers_orders')
             ->_addBreadcrumb(__('Customers by Number of Orders'),
-                __('Customers by Number of Orders'))
-            ->renderLayout();
+                __('Customers by Number of Orders'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -108,11 +125,11 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportOrdersCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'customers_orders.csv';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -120,22 +137,22 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportOrdersExcelAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName   = 'customers_orders.xml';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile($fileName));
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile($fileName));
     }
 
     public function totalsAction()
     {
-        $this->_title(__('Order Total Report'));
+        $this->_title->add(__('Order Total Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_customers_totals')
             ->_addBreadcrumb(__('Customers by Orders Total'),
-                __('Customers by Orders Total'))
-            ->renderLayout();
+                __('Customers by Orders Total'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -143,11 +160,11 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportTotalsCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'customer_totals.csv';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -155,11 +172,11 @@ class Customer extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportTotalsExcelAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'customer_totals.xml';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile($fileName));
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile($fileName));
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Product.php b/app/code/Magento/Adminhtml/Controller/Report/Product.php
index 356c49ddbf8..5365f1e4a9f 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Product.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Product.php
@@ -57,14 +57,14 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function soldAction()
     {
-        $this->_title(__('Ordered Products Report'));
+        $this->_title->add(__('Ordered Products Report'));
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_products_sold')
             ->_addBreadcrumb(
                 __('Products Ordered'),
                 __('Products Ordered')
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -73,11 +73,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function exportSoldCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName   = 'products_ordered.csv';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -86,11 +86,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function exportSoldExcelAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName   = 'products_ordered.xml';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock */
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile($fileName));
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.report.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile($fileName));
     }
 
     /**
@@ -99,7 +99,7 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function viewedAction()
     {
-        $this->_title(__('Product Views Report'));
+        $this->_title->add(__('Product Views Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_PRODUCT_VIEWED_FLAG_CODE, 'viewed');
 
@@ -110,15 +110,15 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
                 __('Products Most Viewed Report')
             );
 
-        $gridBlock = $this->getLayout()->getBlock('report_product_viewed.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_product_viewed.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -128,9 +128,9 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportViewedCsvAction()
     {
         $fileName   = 'products_mostviewed.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Viewed\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Viewed\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -140,9 +140,9 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportViewedExcelAction()
     {
         $fileName   = 'products_mostviewed.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Viewed\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Viewed\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     /**
@@ -151,7 +151,7 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function lowstockAction()
     {
-        $this->_title(__('Low Stock Report'));
+        $this->_title->add(__('Low Stock Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_products_lowstock')
@@ -159,7 +159,7 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
                 __('Low Stock'),
                 __('Low Stock')
             );
-            $this->renderLayout();
+            $this->_view->renderLayout();
     }
 
     /**
@@ -168,10 +168,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function exportLowstockCsvAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'products_lowstock.csv';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.product.lowstock.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()
+            ->getChildBlock('adminhtml.block.report.product.lowstock.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -180,10 +181,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function exportLowstockExcelAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'products_lowstock.xml';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.product.lowstock.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile());
+        $exportBlock = $this->_view->getLayout()
+            ->getChildBlock('adminhtml.block.report.product.lowstock.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile());
     }
 
     /**
@@ -192,7 +194,7 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
      */
     public function downloadsAction()
     {
-        $this->_title(__('Downloads Report'));
+        $this->_title->add(__('Downloads Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Downloadable::report_products_downloads')
@@ -200,8 +202,10 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
                 __('Downloads'),
                 __('Downloads')
             )
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads')
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -211,11 +215,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportDownloadsCsvAction()
     {
         $fileName   = 'products_downloads.csv';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads\Grid')
             ->setSaveParametersInSession(true)
             ->getCsv();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -225,11 +229,11 @@ class Product extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportDownloadsExcelAction()
     {
         $fileName   = 'products_downloads.xml';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Product\Downloads\Grid')
             ->setSaveParametersInSession(true)
             ->getExcel($fileName);
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Review.php b/app/code/Magento/Adminhtml/Controller/Report/Review.php
index d6ad16dbd66..8e4fe66345a 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Review.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Review.php
@@ -33,25 +33,42 @@
  */
 namespace Magento\Adminhtml\Controller\Report;
 
-class Review extends \Magento\Backend\Controller\Adminhtml\Action
+class Review extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     public function _initAction()
     {
-        $this->loadLayout()
-            ->_addBreadcrumb(
-                __('Reports'),
-                __('Reports')
-            )
-            ->_addBreadcrumb(
-                __('Review'),
-                __('Reviews')
-            );
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(
+            __('Reports'),
+            __('Reports')
+        );
+        $this->_addBreadcrumb(
+            __('Review'),
+            __('Reviews')
+        );
         return $this;
     }
 
     public function customerAction()
     {
-        $this->_title(__('Customer Reviews Report'));
+        $this->_title->add(__('Customer Reviews Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Review::report_review_customer')
@@ -59,7 +76,7 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
                 __('Customers Report'),
                 __('Customers Report')
             );
-         $this->renderLayout();
+         $this->_view->renderLayout();
     }
 
     /**
@@ -67,10 +84,10 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportCustomerCsvAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'review_customer.csv';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.review.customer.grid','grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.block.report.review.customer.grid','grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -78,16 +95,16 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportCustomerExcelAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'review_customer.xml';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.review.customer.grid','grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.block.report.review.customer.grid','grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile());
 
     }
 
     public function productAction()
     {
-        $this->_title(__('Product Reviews Report'));
+        $this->_title->add(__('Product Reviews Report'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Review::report_review_product')
@@ -95,7 +112,7 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
             __('Products Report'),
             __('Products Report')
         );
-            $this->renderLayout();
+            $this->_view->renderLayout();
     }
 
     /**
@@ -103,10 +120,10 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportProductCsvAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'review_product.csv';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.review.product.grid','grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.block.report.review.product.grid','grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -114,22 +131,24 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportProductExcelAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $fileName = 'review_product.xml';
-        $exportBlock = $this->getLayout()->getChildBlock('adminhtml.block.report.review.product.grid','grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('adminhtml.block.report.review.product.grid','grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile());
     }
 
     public function productDetailAction()
     {
-        $this->_title(__('Details'));
+        $this->_title->add(__('Details'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Review::report_review')
             ->_addBreadcrumb(__('Products Report'), __('Products Report'))
             ->_addBreadcrumb(__('Product Reviews'), __('Product Reviews'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail')
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -138,10 +157,10 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportProductDetailCsvAction()
     {
         $fileName   = 'review_product_detail.csv';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail\Grid')
             ->getCsv();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -150,10 +169,10 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportProductDetailExcelAction()
     {
         $fileName   = 'review_product_detail.xml';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Review\Detail\Grid')
             ->getExcel($fileName);
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Sales.php b/app/code/Magento/Adminhtml/Controller/Report/Sales.php
index e99b0c8cad3..4a02b2853ea 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Sales.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Sales.php
@@ -49,7 +49,7 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
 
     public function salesAction()
     {
-        $this->_title(__('Sales Report'));
+        $this->_title->add(__('Sales Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_ORDER_FLAG_CODE, 'sales');
 
@@ -57,20 +57,20 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_sales')
             ->_addBreadcrumb(__('Sales Report'), __('Sales Report'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_sales.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_sales.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function bestsellersAction()
     {
-        $this->_title(__('Best Sellers Report'));
+        $this->_title->add(__('Best Sellers Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_BESTSELLERS_FLAG_CODE, 'bestsellers');
 
@@ -78,15 +78,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_products_bestsellers')
             ->_addBreadcrumb(__('Products Bestsellers Report'), __('Products Bestsellers Report'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_bestsellers.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_bestsellers.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -95,9 +95,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportBestsellersCsvAction()
     {
         $fileName   = 'bestsellers.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -106,9 +106,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportBestsellersExcelAction()
     {
         $fileName   = 'bestsellers.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     /**
@@ -137,9 +137,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportSalesCsvAction()
     {
         $fileName   = 'sales.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -148,14 +148,14 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportSalesExcelAction()
     {
         $fileName   = 'sales.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function taxAction()
     {
-        $this->_title(__('Tax Report'));
+        $this->_title->add(__('Tax Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_TAX_FLAG_CODE, 'tax');
 
@@ -163,15 +163,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_tax')
             ->_addBreadcrumb(__('Tax'), __('Tax'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_tax.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_tax.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -180,9 +180,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportTaxCsvAction()
     {
         $fileName   = 'tax.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -191,14 +191,14 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportTaxExcelAction()
     {
         $fileName   = 'tax.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function shippingAction()
     {
-        $this->_title(__('Shipping Report'));
+        $this->_title->add(__('Shipping Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_SHIPPING_FLAG_CODE, 'shipping');
 
@@ -206,15 +206,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_shipping')
             ->_addBreadcrumb(__('Shipping'), __('Shipping'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_shipping.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_shipping.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -223,9 +223,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportShippingCsvAction()
     {
         $fileName   = 'shipping.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -234,14 +234,14 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportShippingExcelAction()
     {
         $fileName   = 'shipping.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function invoicedAction()
     {
-        $this->_title(__('Invoice Report'));
+        $this->_title->add(__('Invoice Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_INVOICE_FLAG_CODE, 'invoiced');
 
@@ -249,15 +249,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_invoiced')
             ->_addBreadcrumb(__('Total Invoiced'), __('Total Invoiced'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_invoiced.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_invoiced.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -266,9 +266,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportInvoicedCsvAction()
     {
         $fileName   = 'invoiced.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -277,14 +277,14 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportInvoicedExcelAction()
     {
         $fileName   = 'invoiced.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function refundedAction()
     {
-        $this->_title(__('Refunds Report'));
+        $this->_title->add(__('Refunds Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_REFUNDED_FLAG_CODE, 'refunded');
 
@@ -292,15 +292,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_refunded')
             ->_addBreadcrumb(__('Total Refunded'), __('Total Refunded'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_refunded.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_refunded.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -309,9 +309,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportRefundedCsvAction()
     {
         $fileName   = 'refunded.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -320,14 +320,14 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportRefundedExcelAction()
     {
         $fileName   = 'refunded.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function couponsAction()
     {
-        $this->_title(__('Coupons Report'));
+        $this->_title->add(__('Coupons Report'));
 
         $this->_showLastExecutionTime(\Magento\Reports\Model\Flag::REPORT_COUPONS_FLAG_CODE, 'coupons');
 
@@ -335,15 +335,15 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
             ->_setActiveMenu('Magento_Reports::report_salesroot_coupons')
             ->_addBreadcrumb(__('Coupons'), __('Coupons'));
 
-        $gridBlock = $this->getLayout()->getBlock('report_sales_coupons.grid');
-        $filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
+        $gridBlock = $this->_view->getLayout()->getBlock('report_sales_coupons.grid');
+        $filterFormBlock = $this->_view->getLayout()->getBlock('grid.filter.form');
 
         $this->_initReportAction(array(
             $gridBlock,
             $filterFormBlock
         ));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -352,9 +352,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportCouponsCsvAction()
     {
         $fileName   = 'coupons.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -363,9 +363,9 @@ class Sales extends \Magento\Adminhtml\Controller\Report\AbstractReport
     public function exportCouponsExcelAction()
     {
         $fileName   = 'coupons.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
         $this->_initReportAction($grid);
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     public function refreshStatisticsAction()
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Shopcart.php b/app/code/Magento/Adminhtml/Controller/Report/Shopcart.php
index 0bdbb5155c8..965d125ad61 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Shopcart.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Shopcart.php
@@ -33,26 +33,46 @@
  */
 namespace Magento\Adminhtml\Controller\Report;
 
-class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
+class Shopcart extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     public function _initAction()
     {
-        $act = $this->getRequest()->getActionName();
-        $this->loadLayout()
-            ->_addBreadcrumb(__('Reports'), __('Reports'))
-            ->_addBreadcrumb(__('Shopping Cart'), __('Shopping Cart'));
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(__('Reports'), __('Reports'));
+        $this->_addBreadcrumb(__('Shopping Cart'), __('Shopping Cart'));
         return $this;
     }
 
     public function customerAction()
     {
-        $this->_title(__('Customer Shopping Carts'));
+        $this->_title->add(__('Customer Shopping Carts'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_shopcart_customer')
             ->_addBreadcrumb(__('Customers Report'), __('Customers Report'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view
+                    ->getLayout()
+                    ->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer')
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -61,10 +81,10 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportCustomerCsvAction()
     {
         $fileName   = 'shopcart_customer.csv';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer\Grid')
             ->getCsvFile();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -73,21 +93,23 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportCustomerExcelAction()
     {
         $fileName   = 'shopcart_customer.xml';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Customer\Grid')
             ->getExcelFile($fileName);
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     public function productAction()
     {
-        $this->_title(__('Products in Carts'));
+        $this->_title->add(__('Products in Carts'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_shopcart_product')
             ->_addBreadcrumb(__('Products Report'), __('Products Report'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product')
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -96,10 +118,10 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportProductCsvAction()
     {
         $fileName   = 'shopcart_product.csv';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product\Grid')
             ->getCsvFile();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -108,21 +130,23 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportProductExcelAction()
     {
         $fileName   = 'shopcart_product.xml';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Product\Grid')
             ->getExcelFile($fileName);
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     public function abandonedAction()
     {
-        $this->_title(__('Abandoned Carts'));
+        $this->_title->add(__('Abandoned Carts'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_shopcart_abandoned')
             ->_addBreadcrumb(__('Abandoned Carts'), __('Abandoned Carts'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned')
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -131,10 +155,10 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportAbandonedCsvAction()
     {
         $fileName   = 'shopcart_abandoned.csv';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned\Grid')
             ->getCsvFile();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -143,10 +167,10 @@ class Shopcart extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportAbandonedExcelAction()
     {
         $fileName   = 'shopcart_abandoned.xml';
-        $content    = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned\Grid')
+        $content    = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Report\Shopcart\Abandoned\Grid')
             ->getExcelFile($fileName);
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Report/Statistics.php b/app/code/Magento/Adminhtml/Controller/Report/Statistics.php
index 7671ef5b814..50877faea21 100644
--- a/app/code/Magento/Adminhtml/Controller/Report/Statistics.php
+++ b/app/code/Magento/Adminhtml/Controller/Report/Statistics.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Adminhtml\Controller\Report;
 
-class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
+class Statistics extends \Magento\Backend\App\Action
 {
     /**
      * Admin session model
@@ -42,11 +42,26 @@ class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected $_adminSession = null;
 
+    /**
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\Core\Filter\Date $dateFilter
+     */
+    public function __construct(\Magento\Backend\App\Action\Context $context, \Magento\Core\Filter\Date $dateFilter)
+    {
+        $this->_dateFilter = $dateFilter;
+        parent::__construct($context);
+    }
+
     public function _initAction()
     {
-        $this->loadLayout()
-            ->_addBreadcrumb(__('Reports'), __('Reports'))
-            ->_addBreadcrumb(__('Statistics'), __('Statistics'));
+        $this->_view->loadLayout();
+        $this->_addBreadcrumb(__('Reports'), __('Reports'));
+        $this->_addBreadcrumb(__('Statistics'), __('Statistics'));
         return $this;
     }
 
@@ -58,7 +73,9 @@ class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
 
         $requestData = $this->_objectManager->get('Magento\Adminhtml\Helper\Data')
             ->prepareFilterString($this->getRequest()->getParam('filter'));
-        $requestData = $this->_filterDates($requestData, array('from', 'to'));
+        $inputFilter = new \Zend_Filter_Input(array('from' => $this->_dateFilter, 'to' => $this->_dateFilter),
+            array(), $requestData);
+        $requestData = $inputFilter->getUnescaped();
         $requestData['store_ids'] = $this->getRequest()->getParam('store_ids');
         $params = new \Magento\Object();
 
@@ -141,7 +158,7 @@ class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
         if($this->_getSession()->isFirstPageAfterLogin()) {
             $this->_redirect('adminhtml/*');
         } else {
-            $this->_redirectReferer('*/*');
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl('*/*'));
         }
         return $this;
     }
@@ -172,7 +189,7 @@ class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
         if($this->_getSession()->isFirstPageAfterLogin()) {
             $this->_redirect('adminhtml/*');
         } else {
-            $this->_redirectReferer('*/*');
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl('*/*'));
         }
 
         return $this;
@@ -180,12 +197,12 @@ class Statistics extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Refresh Statistics'));
+        $this->_title->add(__('Refresh Statistics'));
 
         $this->_initAction()
             ->_setActiveMenu('Magento_Reports::report_statistics_refresh')
-            ->_addBreadcrumb(__('Refresh Statistics'), __('Refresh Statistics'))
-            ->renderLayout();
+            ->_addBreadcrumb(__('Refresh Statistics'), __('Refresh Statistics'));
+        $this->_view->renderLayout();
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Adminhtml/Controller/Urlrewrite.php b/app/code/Magento/Adminhtml/Controller/Urlrewrite.php
index 5112c98e086..712e86affb5 100644
--- a/app/code/Magento/Adminhtml/Controller/Urlrewrite.php
+++ b/app/code/Magento/Adminhtml/Controller/Urlrewrite.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Adminhtml\Controller;
 
-class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
+class Urlrewrite extends \Magento\Backend\App\Action
 {
     const ID_MODE = 'id';
     const PRODUCT_MODE = 'product';
@@ -65,11 +65,11 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('URL Redirects'));
+        $this->_title->add(__('URL Redirects'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_urlrewrite');
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -77,17 +77,17 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->_title(__('URL Redirects'))
-            ->_title(__('[New/Edit] URL Redirect'));
+        $this->_title->add(__('URL Redirects'));
+        $this->_title->add(__('[New/Edit] URL Redirect'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_urlrewrite');
 
         $mode = $this->_getMode();
 
         switch ($mode) {
             case self::PRODUCT_MODE:
-                $editBlock = $this->getLayout()
+                $editBlock = $this->_view->getLayout()
                     ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Edit', '', array('data' => array(
                         'category'         => $this->_getCategory(),
                         'product'          => $this->_getProduct(),
@@ -96,25 +96,28 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
                     )));
                 break;
             case self::CATEGORY_MODE:
-                $editBlock = $this->getLayout()
+                $editBlock = $this->_view->getLayout()
                     ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Category\Edit', '', array('data' => array(
                         'category' => $this->_getCategory(),
                         'url_rewrite' => $this->_getUrlRewrite()
                     )));
                 break;
             case self::CMS_PAGE_MODE:
-                $editBlock = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit', '',
-                    array(
-                        'data' => array(
-                            'cms_page'    => $this->_getCmsPage(),
-                            'url_rewrite' => $this->_getUrlRewrite(),
-                        ),
-                    )
+                $editBlock = $this->_view->getLayout()
+                    ->createBlock(
+                        'Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit', '',
+                        array(
+                            'data' => array(
+                                'cms_page'    => $this->_getCmsPage(),
+                                'url_rewrite' => $this->_getUrlRewrite(),
+                            ),
+                        )
                 );
                 break;
             case self::ID_MODE:
             default:
-                $editBlock = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Edit', '', array(
+                $editBlock = $this->_view->getLayout()->createBlock(
+                    'Magento\Adminhtml\Block\Urlrewrite\Edit', '', array(
                     'data' => array('url_rewrite' => $this->_getUrlRewrite())
                 ));
                 break;
@@ -122,9 +125,9 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_addContent($editBlock);
         if (in_array($mode, array(self::PRODUCT_MODE, self::CATEGORY_MODE))) {
-            $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+            $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -154,7 +157,7 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
     public function productGridAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid')->toHtml()
         );
     }
 
@@ -176,7 +179,7 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
     public function cmsPageGridAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid')->toHtml()
         );
     }
 
@@ -230,7 +233,7 @@ class Urlrewrite extends \Magento\Backend\Controller\Adminhtml\Action
                     ->setUrlrewriteData($data);
             }
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Helper/Addresses.php b/app/code/Magento/Adminhtml/Helper/Addresses.php
index a1501d72179..ddbf8e4943f 100644
--- a/app/code/Magento/Adminhtml/Helper/Addresses.php
+++ b/app/code/Magento/Adminhtml/Helper/Addresses.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Adminhtml\Helper;
 
-class Addresses extends \Magento\Core\Helper\AbstractHelper
+class Addresses extends \Magento\App\Helper\AbstractHelper
 {
     const DEFAULT_STREET_LINES_COUNT = 2;
 
diff --git a/app/code/Magento/Adminhtml/Model/Session/Quote.php b/app/code/Magento/Adminhtml/Model/Session/Quote.php
index c7759239aa3..dc13f7485e3 100644
--- a/app/code/Magento/Adminhtml/Model/Session/Quote.php
+++ b/app/code/Magento/Adminhtml/Model/Session/Quote.php
@@ -66,11 +66,6 @@ class Quote extends \Magento\Core\Model\Session\AbstractSession
      */
     protected $_orderFactory;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\CustomerFactory
      */
@@ -85,7 +80,6 @@ class Quote extends \Magento\Core\Model\Session\AbstractSession
      * @param \Magento\Core\Model\Session\Context $context
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param array $data
      */
@@ -93,13 +87,11 @@ class Quote extends \Magento\Core\Model\Session\AbstractSession
         \Magento\Core\Model\Session\Context $context,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         array $data = array()
     ) {
         $this->_quoteFactory = $quoteFactory;
         $this->_customerFactory = $customerFactory;
-        $this->_storeManager = $storeManager;
         $this->_orderFactory = $orderFactory;
         parent::__construct($context, $data);
         $this->init('adminhtml_quote');
diff --git a/app/code/Magento/Adminhtml/etc/adminhtml/acl.xml b/app/code/Magento/Adminhtml/etc/adminhtml/acl.xml
index e160fdbc642..bc6e642838f 100644
--- a/app/code/Magento/Adminhtml/etc/adminhtml/acl.xml
+++ b/app/code/Magento/Adminhtml/etc/adminhtml/acl.xml
@@ -34,9 +34,6 @@
                 <resource id="Magento_Adminhtml::global_search" title="Global Search" sortOrder="100" />
                 <resource id="Magento_Adminhtml::myaccount" title="My Account" sortOrder="50" />
                 <resource id="Magento_Adminhtml::marketing" title="Marketing" sortOrder="50">
-                    <resource id="Magento_Adminhtml::marketing_communications" title="Communications" sortOrder="30">
-                        <resource id="Magento_Adminhtml::email_template" title="Email Templates" sortOrder="10" />
-                    </resource>
                     <resource id="Magento_Adminhtml::marketing_seo" title="SEO &amp; Search" sortOrder="40" />
                     <resource id="Magento_Adminhtml::marketing_user_content" title="User Content" sortOrder="50" />
                 </resource>
diff --git a/app/code/Magento/Adminhtml/etc/config.xml b/app/code/Magento/Adminhtml/etc/config.xml
index 2142978ee0c..bcff89c470e 100644
--- a/app/code/Magento/Adminhtml/etc/config.xml
+++ b/app/code/Magento/Adminhtml/etc/config.xml
@@ -28,15 +28,6 @@
 <config>
     <default>
         <system>
-            <media_storage_configuration>
-                <allowed_resources>
-                    <email_folder>email</email_folder>
-                </allowed_resources>
-            </media_storage_configuration>
-            <emails>
-                <forgot_email_template>system_emails_forgot_email_template</forgot_email_template>
-                <forgot_email_identity>general</forgot_email_identity>
-            </emails>
             <dashboard>
                 <enable_charts>1</enable_charts>
             </dashboard>
@@ -79,9 +70,9 @@
                     </frontend>
                 </routers>
                 <default>
-                    <no_route>admin/index/noRoute</no_route>
+                    <no_route>admin/noroute/index</no_route>
                 </default>
             </web>
         </admin>
     </websites>
-</config>
\ No newline at end of file
+</config>
diff --git a/app/code/Magento/Adminhtml/etc/events.xml b/app/code/Magento/Adminhtml/etc/events.xml
index ecb34a53412..166dcf93fad 100644
--- a/app/code/Magento/Adminhtml/etc/events.xml
+++ b/app/code/Magento/Adminhtml/etc/events.xml
@@ -24,9 +24,6 @@
  */
 -->
 <config>
-    <event name="adminhtml_controller_action_predispatch_start">
-        <observer name="massaction" instance="Magento\Adminhtml\Model\Observer" method="massactionPrepareKey" />
-    </event>
     <event name="admin_user_authenticate_after">
         <observer name="configuration_files_access_level_verification" instance="Magento\Adminhtml\Model\Observer" method="clearCacheConfigurationFilesAccessLevelVerification" />
     </event>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/admin/popup.phtml b/app/code/Magento/Adminhtml/view/adminhtml/admin/popup.phtml
index faf7a1d2611..81d21c9c0da 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/admin/popup.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/admin/popup.phtml
@@ -26,13 +26,13 @@
 ?>
 <?php /*{
     "label":"Root page layout",
-    "type":"Magento\Core\Block\Template",
+    "type":"Magento\View\Block\Template",
     "children":{
         "header":{ "label":"Header", "type":"Magento\Adminhtml\Block\Page\Header" },
         "menu":{ "label":"Top navigation", "type":"Magento\Backend\Block\Menu" },
         "breadcrumbs":{ "label":"Breadcrumbs", "type":"Magento\Adminhtml\Block\Widget\Breadcrumbs" },
-        "content":{ "label":"Content block", "type":"Magento\Core\Block\Template" },
-        "left":{ "label":"Left navigation", "type":"Magento\Core\Block\Template" },
+        "content":{ "label":"Content block", "type":"Magento\View\Block\Template" },
+        "left":{ "label":"Left navigation", "type":"Magento\View\Block\Template" },
         "footer":{ "label":"Footer", "type":"Magento\Adminhtml\Block\Page\Footer" }
     },
     "vars":{}
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/layout/adminhtml_noroute.xml b/app/code/Magento/Adminhtml/view/adminhtml/layout/adminhtml_noroute.xml
index 2f66e9a3f4f..b214ee1b22e 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/layout/adminhtml_noroute.xml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/layout/adminhtml_noroute.xml
@@ -25,7 +25,7 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Text" name="content.noRoute">
+        <block class="Magento\View\Block\Text" name="content.noRoute">
             <action method="setText">
                 <argument translate="true" name="text" xsi:type="string">
                     <![CDATA[<h1 class="page-heading">404 Error</h1><p>Page not found.</p>]]>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/layout/default.xml b/app/code/Magento/Adminhtml/view/adminhtml/layout/default.xml
index 3980c42ad63..8b77671e356 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/layout/default.xml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/layout/default.xml
@@ -272,7 +272,7 @@
                 </arguments>
             </block>
             <block class="Magento\Page\Block\Js\Components" name="head.components" as="components" template="Magento_Adminhtml::page/js/components.phtml"/>
-            <block class="Magento\Core\Block\Html\Calendar" name="head.calendar" as="calendar" template="Magento_Adminhtml::page/js/calendar.phtml"/>
+            <block class="Magento\View\Block\Html\Calendar" name="head.calendar" as="calendar" template="Magento_Adminhtml::page/js/calendar.phtml"/>
         </block>
         <block class="Magento\Adminhtml\Block\Page\Notices" name="global_notices" as="global_notices" template="page/notices.phtml"/>
         <block class="Magento\Adminhtml\Block\Page\Header" name="header" as="header">
@@ -288,7 +288,7 @@
         </container>
         <container name="left" as="left" label="Left Column"/>
         <container name="content" as="content" label="Content"/>
-        <block class="Magento\Core\Block\Messages" name="messages" as="messages"/>
+        <block class="Magento\View\Block\Messages" name="messages" as="messages"/>
         <container name="js" as="js" label="JavaScript"/>
         <block class="Magento\Adminhtml\Block\Page\Footer" name="footer" as="footer">
             <block class="Magento\Backend\Block\Page\Copyright" name="copyright" as="copyright"/>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_queue_preview.xml b/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_queue_preview.xml
index dee31157f6f..596315b0f0c 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_queue_preview.xml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_queue_preview.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/queue/preview.phtml">
+    <block class="Magento\View\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/queue/preview.phtml">
         <block class="Magento\Adminhtml\Block\Newsletter\Queue\Preview" name="content" as="content"/>
     </block>
     <block class="Magento\Adminhtml\Block\Newsletter\Queue\Preview" name="preview_template"/>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_template_preview.xml b/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_template_preview.xml
index 0a1a6e63bd2..5fbce706060 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_template_preview.xml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/layout/newsletter_template_preview.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/template/preview.phtml">
+    <block class="Magento\View\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/template/preview.phtml">
         <block class="Magento\Adminhtml\Block\Newsletter\Template\Preview" name="content" as="content"/>
     </block>
     <block class="Magento\Adminhtml\Block\Newsletter\Template\Preview" name="preview_template"/>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/layout/preview.xml b/app/code/Magento/Adminhtml/view/adminhtml/layout/preview.xml
index 291c2f2422c..f92336d5d09 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/layout/preview.xml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/layout/preview.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/template/preview.phtml">
+    <block class="Magento\View\Block\Template" name="root" output="1" template="Magento_Adminhtml::newsletter/template/preview.phtml">
         <block class="Magento\Adminhtml\Block\Newsletter\Template\Preview" name="content" as="content"/>
     </block>
 </layout>
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/page/js/calendar.phtml b/app/code/Magento/Adminhtml/view/adminhtml/page/js/calendar.phtml
index 12456d52414..a6083df04e9 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/page/js/calendar.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/page/js/calendar.phtml
@@ -30,7 +30,7 @@
 /**
  * Calendar localization script. Should be put into page header.
  *
- * @see \Magento\Core\Block\Html\Calendar
+ * @see \Magento\View\Block\Html\Calendar
  */
 ?>
 
diff --git a/app/code/Magento/Authorizenet/Block/Directpost/Form.php b/app/code/Magento/Authorizenet/Block/Directpost/Form.php
index 7f5fadd4264..3c327bcd36e 100644
--- a/app/code/Magento/Authorizenet/Block/Directpost/Form.php
+++ b/app/code/Magento/Authorizenet/Block/Directpost/Form.php
@@ -48,24 +48,22 @@ class Form extends \Magento\Payment\Block\Form\Cc
     protected $_checkoutModel;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Payment\Model\Config $paymentConfig
      * @param \Magento\Authorizenet\Model\Directpost $model
      * @param \Magento\Checkout\Model\Type\Onepage $checkoutModel
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Payment\Model\Config $paymentConfig,
         \Magento\Authorizenet\Model\Directpost $model,
         \Magento\Checkout\Model\Type\Onepage $checkoutModel,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $paymentConfig, $data);
+        parent::__construct($context, $coreData, $paymentConfig, $data);
         $this->_model = $model;
         $this->_checkoutModel = $checkoutModel;
     }
diff --git a/app/code/Magento/Authorizenet/Block/Directpost/Iframe.php b/app/code/Magento/Authorizenet/Block/Directpost/Iframe.php
index df2d132f528..b5e66559d38 100644
--- a/app/code/Magento/Authorizenet/Block/Directpost/Iframe.php
+++ b/app/code/Magento/Authorizenet/Block/Directpost/Iframe.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Authorizenet\Block\Directpost;
 
-class Iframe extends \Magento\Core\Block\Template
+class Iframe extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -43,19 +43,19 @@ class Iframe extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -63,7 +63,7 @@ class Iframe extends \Magento\Core\Block\Template
      *
      * You can redefine this method in child classes for changing layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment.php b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment.php
index 09086d4d674..97bc41b2154 100644
--- a/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment.php
+++ b/app/code/Magento/Authorizenet/Controller/Adminhtml/Authorizenet/Directpost/Payment.php
@@ -36,15 +36,17 @@ class Payment
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\Catalog\Helper\Product $productHelper
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Catalog\Helper\Product $productHelper,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($context);
+        parent::__construct($context, $productHelper);
     }
 
     /**
@@ -214,7 +216,7 @@ class Payment
         }
 
         $this->_coreRegistry->register('authorizenet_directpost_form_params', array_merge($params, $redirectParams));
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->loadLayout(false)->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php b/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php
index d8c19d1021f..fbf2630b3eb 100644
--- a/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php
+++ b/app/code/Magento/Authorizenet/Controller/Directpost/Payment.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Authorizenet\Controller\Directpost;
 
-class Payment extends \Magento\Core\Controller\Front\Action
+class Payment extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Payment extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -117,8 +117,8 @@ class Payment extends \Magento\Core\Controller\Front\Action
         }
 
         $this->_coreRegistry->register('authorizenet_directpost_form_params', $params);
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false)->renderLayout();
     }
 
     /**
@@ -150,8 +150,8 @@ class Payment extends \Magento\Core\Controller\Front\Action
         }
 
         $this->_coreRegistry->register('authorizenet_directpost_form_params', array_merge($params, $redirectParams));
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false)->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Authorizenet/Helper/Data.php b/app/code/Magento/Authorizenet/Helper/Data.php
index 63a555f6788..3e61e8c4f12 100644
--- a/app/code/Magento/Authorizenet/Helper/Data.php
+++ b/app/code/Magento/Authorizenet/Helper/Data.php
@@ -33,15 +33,10 @@
  */
 namespace Magento\Authorizenet\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_application;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -56,21 +51,18 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_urlBuilder;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Backend\Model\Url $urlBuilder
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Backend\Model\Url $urlBuilder
     ) {
         parent::__construct($context);
-        $this->_application = $application;
         $this->_storeManager = $storeManager;
         $this->_orderFactory = $orderFactory;
         $this->_urlBuilder = $urlBuilder;
@@ -211,16 +203,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         return $this->_getUrl($route, $param);
     }
 
-    /**
-     * Get controller name
-     *
-     * @return string
-     */
-    public function getControllerName()
-    {
-        return $this->_application->getFrontController()->getRequest()->getControllerName();
-    }
-
     /**
      * Update all child and parent order's edit increment numbers.
      * Needed for Admin area.
diff --git a/app/code/Magento/Authorizenet/Model/Directpost.php b/app/code/Magento/Authorizenet/Model/Directpost.php
index e497766c0bd..c9abc5bce28 100644
--- a/app/code/Magento/Authorizenet/Model/Directpost.php
+++ b/app/code/Magento/Authorizenet/Model/Directpost.php
@@ -49,7 +49,7 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
     protected $_isInitializeNeeded      = true;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -90,7 +90,7 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Centinel\Model\Service $centinelService
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Authorizenet\Model\Directpost\RequestFactory $requestFactory
@@ -112,7 +112,7 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Centinel\Model\Service $centinelService,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Authorizenet\Model\Directpost\RequestFactory $requestFactory,
diff --git a/app/code/Magento/Authorizenet/Model/Directpost/Observer.php b/app/code/Magento/Authorizenet/Model/Directpost/Observer.php
index 5fd8ce25f47..bf71c6b3229 100644
--- a/app/code/Magento/Authorizenet/Model/Directpost/Observer.php
+++ b/app/code/Magento/Authorizenet/Model/Directpost/Observer.php
@@ -67,7 +67,7 @@ class Observer
     protected $_session;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -77,7 +77,7 @@ class Observer
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Authorizenet\Model\DirectpostFactory $modelFactory
      * @param \Magento\Authorizenet\Model\Directpost\Session $session
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Authorizenet\Helper\Data $authorizenetData,
@@ -85,7 +85,7 @@ class Observer
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Authorizenet\Model\DirectpostFactory $modelFactory,
         \Magento\Authorizenet\Model\Directpost\Session $session,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_authorizenetData = $authorizenetData;
@@ -124,12 +124,9 @@ class Observer
         if ($order && $order->getId()) {
             $payment = $order->getPayment();
             if ($payment && $payment->getMethod() == $this->_modelFactory->create()->getCode()) {
-                /* @var $controller \Magento\Core\Controller\Varien\Action */
-                $controller = $observer->getEvent()->getData('controller_action');
-                $result = $this->_coreData->jsonDecode(
-                    $controller->getResponse()->getBody('default'),
-                    \Zend_Json::TYPE_ARRAY
-                );
+                $request = $observer->getEvent()->getRequest();
+                $response = $observer->getEvent()->getResponse();
+                $result = $this->_coreData->jsonDecode($response->getBody('default'), \Zend_Json::TYPE_ARRAY);
 
                 if (empty($result['error'])) {
                     $payment = $order->getPayment();
@@ -137,13 +134,13 @@ class Observer
                     $this->_session->addCheckoutOrderIncrementId($order->getIncrementId());
                     $this->_session->setLastOrderIncrementId($order->getIncrementId());
                     $requestToPaygate = $payment->getMethodInstance()->generateRequestFromOrder($order);
-                    $requestToPaygate->setControllerActionName($controller->getRequest()->getControllerName());
+                    $requestToPaygate->setControllerActionName($request->getControllerName());
                     $requestToPaygate->setIsSecure((string)$this->_storeManager->getStore()->isCurrentlySecure());
 
                     $result['directpost'] = array('fields' => $requestToPaygate->getData());
 
-                    $controller->getResponse()->clearHeader('Location');
-                    $controller->getResponse()->setBody($this->_coreData->jsonEncode($result));
+                    $response->clearHeader('Location');
+                    $response->setBody($this->_coreData->jsonEncode($result));
                 }
             }
         }
diff --git a/app/code/Magento/Authorizenet/view/adminhtml/directpost/info.phtml b/app/code/Magento/Authorizenet/view/adminhtml/directpost/info.phtml
index 8ac13ed1a02..8d08867396b 100644
--- a/app/code/Magento/Authorizenet/view/adminhtml/directpost/info.phtml
+++ b/app/code/Magento/Authorizenet/view/adminhtml/directpost/info.phtml
@@ -32,7 +32,7 @@
 $_form = $this;
 $_code = $_form->getMethodCode();
 $_method = $_form->getMethod();
-$_controller = $this->helper('Magento\Authorizenet\Helper\Data')->getControllerName();
+$_controller = $this->getRequest()->getControllerName();
 $_orderUrl = $this->helper('Magento\Authorizenet\Helper\Data')->getPlaceOrderAdminUrl();
 ?>
 <!-- IFRAME for request to our server -->
diff --git a/app/code/Magento/Authorizenet/view/frontend/directpost/form.phtml b/app/code/Magento/Authorizenet/view/frontend/directpost/form.phtml
index 42f57f81ea7..b2d202315fc 100644
--- a/app/code/Magento/Authorizenet/view/frontend/directpost/form.phtml
+++ b/app/code/Magento/Authorizenet/view/frontend/directpost/form.phtml
@@ -32,77 +32,77 @@
 $_form = $this;
 $_code = $_form->getMethodCode();
 $_method = $_form->getMethod();
-$_controller = $this->helper('Magento\Authorizenet\Helper\Data')->getControllerName();
+$_controller = $this->getRequest()->getControllerName();
 $_orderUrl = $this->helper('Magento\Authorizenet\Helper\Data')->getPlaceOrderFrontUrl();
 ?>
-<div class="buttons-set">
+
 <!-- IFRAME for request to Authorize.net -->
 <iframe id="directpost-iframe" data-container="authorize-net-iframe" allowtransparency="true" frameborder="0"  name="iframeDirectPost" style="display:none;width:100%;background-color:transparent" src="<?php echo $this->getViewFileUrl('blank.html') ?>"></iframe>
-
-<form id="co-directpost-form" action="#" method="post" data-mage-init="{directpost: {methodCode:'<?php echo $_code ?>', controller:'<?php echo $_controller ?>', orderSaveUrl:'<?php echo $_orderUrl ?>', cgiUrl:'<?php echo $_method->getCgiUrl() ?>', nativeAction:'<?php echo $this->getUrl('checkout/onepage/saveOrder', array('_secure' => $this->getRequest()->isSecure())) ?>'}, validation: []}">
-<fieldset>
-<dl class="sp-methods">
-<dt class="a-center"><?php echo __('Credit Card Information') ?></dt>
-<dd>
-<ul id="payment_form_<?php echo $_code ?>" class="form-list">
-    <li>
-        <label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo __('Credit Card Type') ?></label>
-        <div class="input-box">
-            <select id="<?php echo $_code ?>_cc_type" data-container="cc-type" name="payment[cc_type]" data-validate='{required:true, "validate-cc-type-select":"#<?php echo $_code ?>_cc_number"}'>
-                <option value=""><?php echo __('--Please Select--')?></option>
-            <?php $_ccType = $_form->getInfoData('cc_type') ?>
-            <?php foreach ($_form->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
-                <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
-            <?php endforeach ?>
-            </select>
-        </div>
-    </li>
-    <li>
-        <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo __('Credit Card Number') ?></label>
-        <div class="input-box">
-            <input type="text" id="<?php echo $_code ?>_cc_number" data-container="cc-number" name="payment[cc_number]" title="<?php echo __('Credit Card Number') ?>" class="input-text" value="" data-validate='{required:true, "validate-cc-number":"#<?php echo $_code ?>_cc_type", "validate-cc-type":"#<?php echo $_code ?>_cc_type"}' autocomplete="off"/>
-        </div>
-    </li>
-    <li id="<?php echo $_code ?>_cc_type_exp_div">
-        <label for="<?php echo $_code ?>_expiration" class="required"><em>*</em><?php echo __('Expiration Date') ?></label>
-        <div class="input-box">
-            <div class="v-fix">
-                <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" data-container="cc-month" class="month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
-                <?php $_ccExpMonth = $_form->getInfoData('cc_exp_month') ?>
-                <?php foreach ($_form->getCcMonths() as $k=>$v): ?>
-                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+<form class="form" id="co-directpost-form" action="#" method="post" data-mage-init="{directpost: {methodCode:'<?php echo $_code ?>', controller:'<?php echo $_controller ?>', orderSaveUrl:'<?php echo $_orderUrl ?>', cgiUrl:'<?php echo $_method->getCgiUrl() ?>', nativeAction:'<?php echo $this->getUrl('checkout/onepage/saveOrder', array('_secure' => $this->getRequest()->isSecure())) ?>'}, validation: []}">
+    <fieldset class="fieldset ccard <?php echo $_code ?>" id="payment_form_<?php echo $_code ?>">
+        <legend class="legend"><span><?php echo __('Credit Card Information') ?></span></legend><br />
+        <div class="field required type">
+            <label for="<?php echo $_code ?>_cc_type" class="label"><span><?php echo __('Credit Card Type') ?></span></label>
+            <div class="control">
+                <select id="<?php echo $_code ?>_cc_type" data-container="cc-type" name="payment[cc_type]" data-validate='{required:true, "validate-cc-type-select":"#<?php echo $_code ?>_cc_number"}'>
+                    <option value=""><?php echo __('--Please Select--')?></option>
+                <?php $_ccType = $_form->getInfoData('cc_type') ?>
+                <?php foreach ($_form->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
+                    <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
                 <?php endforeach ?>
                 </select>
             </div>
-            <div class="v-fix">
-                <?php $_ccExpYear = $_form->getInfoData('cc_exp_year') ?>
-                <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="year" data-container="cc-year" data-validate='{required:true}'>
-                <?php foreach ($_form->getCcYears() as $k=>$v): ?>
-                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                <?php endforeach ?>
-                </select>
+        </div>
+        <div class="field required number">
+            <label for="<?php echo $_code ?>_cc_number" class="label"><span><?php echo __('Credit Card Number') ?></span></label>
+            <div class="control">
+                <input type="text" id="<?php echo $_code ?>_cc_number" data-container="cc-number" name="payment[cc_number]" title="<?php echo __('Credit Card Number') ?>" class="input-text" value="" data-validate='{required:true, "validate-cc-number":"#<?php echo $_code ?>_cc_type", "validate-cc-type":"#<?php echo $_code ?>_cc_type"}' autocomplete="off"/>
             </div>
         </div>
-    </li>
-    <?php echo $_form->getChildHtml() ?>
-    <?php if($_form->hasVerification()): ?>
-    <li id="<?php echo $_code ?>_cc_type_cvv_div">
-        <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo __('Card Verification Number') ?></label>
-        <div class="input-box">
-            <div class="v-fix">
+        <div class="field required date" id="<?php echo $_code ?>_cc_type_exp_div">
+            <label for="<?php echo $_code ?>_expiration" class="label"><span><?php echo __('Expiration Date') ?></span></label>
+            <div class="control">
+                <div class="fields group group-2">
+                    <div class="field no-label month">
+                        <div class="control">
+                            <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" data-container="cc-month" class="month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
+                            <?php $_ccExpMonth = $_form->getInfoData('cc_exp_month') ?>
+                            <?php foreach ($_form->getCcMonths() as $k=>$v): ?>
+                                <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                            <?php endforeach ?>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="field no-label year">
+                        <div class="control">
+                            <?php $_ccExpYear = $_form->getInfoData('cc_exp_year') ?>
+                            <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="year" data-container="cc-year" data-validate='{required:true}'>
+                            <?php foreach ($_form->getCcYears() as $k=>$v): ?>
+                                <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                            <?php endforeach ?>
+                            </select>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <?php if($_form->hasVerification()): ?>
+        <div class="field required cvv" id="<?php echo $_code ?>_cc_type_cvv_div">
+            <label for="<?php echo $_code ?>_cc_cid" class="label"><span><?php echo __('Card Verification Number') ?></span></label>
+            <div class="control">
                 <input type="text" title="<?php echo __('Card Verification Number') ?>" data-container="cc-cvv" class="input-text cvv" id="<?php echo $_code ?>_cc_cid" name="payment[cc_cid]" value="" data-validate='{required:true, "validate-cc-cvn":"#<?php echo $_code ?>_cc_type"}' autocomplete="off"/>
+                <div class="note">
+                    <a href="#" id="directpost-cvv-what-is-this" class="action cvv" data-mage-init='{toggleAdvanced: {toggleContainers:"#directpost-tool-tip"}}'><span><?php echo __('What is this?') ?></span></a>
+                </div>
+                <div class="tooltip hidden" id="directpost-tool-tip">
+                    <a href="#" id="directpost-tool-tip-close" title="<?php echo __('Close') ?>" data-mage-init='{toggleAdvanced: {toggleContainers:"#directpost-tool-tip"}}' class="action close">
+                        <span><?php echo __('Close') ?></span>
+                    </a>
+                    <div class="content"><img src="<?php echo $this->getViewFileUrl('Magento_Checkout::cvv.gif') ?>" alt="<?php echo __('Card Verification Number Visual Reference') ?>" title="<?php echo __('Card Verification Number Visual Reference') ?>" /></div>
+                </div>
             </div>
-            <a href="#" id="directpost-cvv-what-is-this" style="cursor:help; margin-left:5px;" data-mage-init='{toggleAdvanced: {toggleContainers:"#directpost-tool-tip"}}'><?php echo __('What is this?') ?></a>
         </div>
-    </li>
-    <?php endif; ?>
-</ul>
-</dd>
-</dl>
+        <?php endif; ?>
+    <?php echo $_form->getChildHtml() ?>
 </fieldset>
 </form>
-</div>
-<div class="tool-tip hidden" id="directpost-tool-tip">
-    <div class="btn-close"><a href="#" id="directpost-tool-tip-close" title="<?php echo __('Close') ?>" data-mage-init='{toggleAdvanced: {toggleContainers:"#directpost-tool-tip"}}'><?php echo __('Close') ?></a></div>
-    <div class="tool-tip-content"><img src="<?php echo $this->getViewFileUrl('Magento_Checkout::cvv.gif') ?>" alt="<?php echo __('Card Verification Number Visual Reference') ?>" title="<?php echo __('Card Verification Number Visual Reference') ?>" /></div>
-</div>
diff --git a/app/code/Magento/Authorizenet/view/frontend/directpost/info.phtml b/app/code/Magento/Authorizenet/view/frontend/directpost/info.phtml
index 7f1a692d0c1..ec5a56ac5ee 100644
--- a/app/code/Magento/Authorizenet/view/frontend/directpost/info.phtml
+++ b/app/code/Magento/Authorizenet/view/frontend/directpost/info.phtml
@@ -28,8 +28,8 @@
  * @see \Magento\Authorizenet\Block\Directpost\Form
  */
 ?>
-<ul id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none">
-    <li>
-    <?php echo __('You\'ll be asked for your payment details before placing an order.') ?>
-    </li>
-</ul>
+<fieldset id="payment_form_<?php echo $this->getMethodCode() ?>" style="display:none" class="fieldset items">
+    <div class="message notice">
+        <div><?php echo __('You\'ll be asked for your payment details before placing an order.') ?></div>
+    </div>
+</fieldset>
diff --git a/app/code/Magento/Backend/App/AbstractAction.php b/app/code/Magento/Backend/App/AbstractAction.php
new file mode 100644
index 00000000000..308a1c84d84
--- /dev/null
+++ b/app/code/Magento/Backend/App/AbstractAction.php
@@ -0,0 +1,396 @@
+<?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)
+ */
+
+namespace Magento\Backend\App;
+
+/**
+ * Generic backend controller
+ *
+ * @SuppressWarnings(PHPMD.NumberOfChildren)
+ */
+abstract class AbstractAction extends \Magento\App\Action\Action
+{
+    /**
+     * Name of "is URLs checked" flag
+     */
+    const FLAG_IS_URLS_CHECKED = 'check_url_settings';
+
+    /**
+     * Session namespace to refer in other places
+     */
+    const SESSION_NAMESPACE = 'adminhtml';
+
+    /**
+     * Array of actions which can be processed without secret key validation
+     *
+     * @var array
+     */
+    protected $_publicActions = array();
+
+    /**
+     * Namespace for session.
+     *
+     * @var string
+     */
+    protected $_sessionNamespace = self::SESSION_NAMESPACE;
+
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    protected $_helper;
+
+    /**
+     * @var \Magento\Backend\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @var \Magento\AuthorizationInterface
+     */
+    protected $_authorization;
+
+    /**
+     * @var \Magento\Backend\Model\Auth
+     */
+    protected $_auth;
+
+    /**
+     * @var \Magento\Backend\Model\Url
+     */
+    protected $_backendUrl;
+
+    /**
+     * @var \Magento\Core\Model\LocaleInterface
+     */
+    protected $_locale;
+
+    /**
+     * @var bool
+     */
+    protected $_canUseBaseUrl;
+
+    /**
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_formKeyValidator;
+
+    /**
+     * @var \Magento\App\Action\Title
+     */
+    protected $_title;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     */
+    public function __construct(Action\Context $context)
+    {
+        parent::__construct($context);
+        $this->_authorization = $context->getAuthorization();
+        $this->_auth = $context->getAuth();
+        $this->_helper = $context->getHelper();
+        $this->_backendUrl = $context->getBackendUrl();
+        $this->_formKeyValidator = $context->getFormKeyValidator();
+        $this->_title = $context->getTitle();
+        $this->_locale = $context->getLocale();
+        $this->_canUseBaseUrl = $context->getCanUseBaseUrl();
+        $this->_session = $context->getSession();
+    }
+
+    protected function _isAllowed()
+    {
+        return true;
+    }
+
+    /**
+     * Retrieve adminhtml session model object
+     *
+     * @return \Magento\Backend\Model\Session
+     */
+    protected function _getSession()
+    {
+        return $this->_session;
+    }
+
+    /**
+     * Define active menu item in menu block
+     * @param string $itemId current active menu item
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _setActiveMenu($itemId)
+    {
+        /** @var $menuBlock \Magento\Backend\Block\Menu */
+        $menuBlock = $this->_view->getLayout()->getBlock('menu');
+        $menuBlock->setActive($itemId);
+        $parents = $menuBlock->getMenuModel()->getParentItems($itemId);
+        $parents = array_reverse($parents);
+        foreach ($parents as $item) {
+            /** @var $item \Magento\Backend\Model\Menu\Item */
+            $this->_title->add($item->getTitle(), true);
+        }
+        return $this;
+    }
+
+    /**
+     * @param $label
+     * @param $title
+     * @param null $link
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _addBreadcrumb($label, $title, $link=null)
+    {
+        $this->_view->getLayout()->getBlock('breadcrumbs')->addLink($label, $title, $link);
+        return $this;
+    }
+
+    /**
+     * @param \Magento\View\Block\AbstractBlock $block
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _addContent(\Magento\View\Block\AbstractBlock $block)
+    {
+        return $this->_moveBlockToContainer($block, 'content');
+    }
+
+    /**
+     * @param \Magento\View\Block\AbstractBlock $block
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _addLeft(\Magento\View\Block\AbstractBlock $block)
+    {
+        return $this->_moveBlockToContainer($block, 'left');
+    }
+
+    /**
+     * @param \Magento\View\Block\AbstractBlock $block
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _addJs(\Magento\View\Block\AbstractBlock $block)
+    {
+        return $this->_moveBlockToContainer($block, 'js');
+    }
+
+    /**
+     * Set specified block as an anonymous child to specified container
+     *
+     * The block will be moved to the container from previous parent after all other elements
+     *
+     * @param \Magento\View\Block\AbstractBlock $block
+     * @param string $containerName
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    private function _moveBlockToContainer(\Magento\View\Block\AbstractBlock $block, $containerName)
+    {
+        $this->_view->getLayout()->setChild($containerName, $block->getNameInLayout(), '');
+        return $this;
+    }
+
+    /**
+     * @param \Magento\App\RequestInterface $request
+     * @return $this|mixed
+     */
+    public function dispatch(\Magento\App\RequestInterface $request)
+    {
+        if (!$this->_processUrlKeys()) {
+            return parent::dispatch($request);
+        }
+
+        if ($request->isDispatched() && $request->getActionName() !== 'denied' && !$this->_isAllowed()) {
+            $this->_forward('denied');
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+            return parent::dispatch($request);
+        }
+
+        if ($this->_isUrlChecked()) {
+            $this->_actionFlag->set('', self::FLAG_IS_URLS_CHECKED, true);
+        }
+
+        $this->_processLocaleSettings();
+
+        return parent::dispatch($request);
+    }
+
+    /**
+     * Check whether url is checked
+     *
+     * @return bool
+     */
+    protected function _isUrlChecked()
+    {
+        return !$this->_actionFlag->get('', self::FLAG_IS_URLS_CHECKED)
+            && !$this->getRequest()->getParam('forwarded')
+            && !$this->_getSession()->getIsUrlNotice(true)
+            && !$this->_canUseBaseUrl;
+    }
+
+    /**
+     * Check url keys. If non valid - redirect
+     *
+     * @return bool
+     */
+    public function _processUrlKeys()
+    {
+        $_isValidFormKey = true;
+        $_isValidSecretKey = true;
+        $_keyErrorMsg = '';
+        if ($this->_auth->isLoggedIn()) {
+            if ($this->getRequest()->isPost()) {
+                $_isValidFormKey = $this->_formKeyValidator->validate($this->getRequest());
+                $_keyErrorMsg = __('Invalid Form Key. Please refresh the page.');
+            } elseif ($this->_backendUrl->useSecretKey()) {
+                $_isValidSecretKey = $this->_validateSecretKey();
+                $_keyErrorMsg = __('You entered an invalid Secret Key. Please refresh the page.');
+            }
+        }
+        if (!$_isValidFormKey || !$_isValidSecretKey) {
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
+            if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) {
+                $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(array(
+                    'error' => true,
+                    'message' => $_keyErrorMsg
+                )));
+            } else {
+                $this->_redirect($this->_backendUrl->getStartupPageUrl());
+            }
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Set session locale,
+     * process force locale set through url params
+     *
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _processLocaleSettings()
+    {
+        $forceLocale = $this->getRequest()->getParam('locale', null);
+        if ($this->_objectManager->get('Magento\Core\Model\Locale\Validator')->isValid($forceLocale)) {
+            $this->_getSession()->setSessionLocale($forceLocale);
+        }
+
+        if (is_null($this->_getSession()->getLocale())) {
+            $this->_getSession()->setLocale($this->_locale->getLocaleCode());
+        }
+
+        return $this;
+    }
+
+    public function deniedAction()
+    {
+        $this->getResponse()->setHeader('HTTP/1.1', '403 Forbidden');
+        if (!$this->_auth->isLoggedIn()) {
+            $this->_redirect('*/auth/login');
+            return;
+        }
+        $this->_view->loadLayout(array('default', 'adminhtml_denied'));
+        $this->_view->renderLayout();
+    }
+
+    /**
+     * No route action
+     *
+     * @param null $coreRoute
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function norouteAction($coreRoute = null)
+    {
+        $this->getResponse()->setHeader('HTTP/1.1', '404 Not Found');
+        $this->getResponse()->setHeader('Status', '404 File not found');
+        $this->_view->loadLayout(array('default', 'adminhtml_noroute'));
+        $this->_view->renderLayout();
+    }
+
+    /**
+     * Set redirect into response
+     *
+     * @param   string $path
+     * @param   array $arguments
+     * @return \Magento\Backend\App\AbstractAction
+     */
+    protected function _redirect($path, $arguments=array())
+    {
+        $this->_getSession()->setIsUrlNotice($this->_actionFlag->get('', self::FLAG_IS_URLS_CHECKED));
+        $this->getResponse()->setRedirect($this->getUrl($path, $arguments));
+        return $this;
+    }
+
+    protected function _forward($action, $controller = null, $module = null, array $params = null)
+    {
+        $this->_getSession()->setIsUrlNotice($this->_actionFlag->get('', self::FLAG_IS_URLS_CHECKED));
+        return parent::_forward($action, $controller, $module, $params);
+    }
+
+    /**
+     * Generate url by route and parameters
+     *
+     * @param   string $route
+     * @param   array $params
+     * @return  string
+     */
+    public function getUrl($route = '', $params=array())
+    {
+        return $this->_helper->getUrl($route, $params);
+    }
+
+    /**
+     * Validate Secret Key
+     *
+     * @return bool
+     */
+    protected function _validateSecretKey()
+    {
+        if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
+            return true;
+        }
+
+        $secretKey = $this->getRequest()->getParam(\Magento\Backend\Model\Url::SECRET_KEY_PARAM_NAME, null);
+        if (!$secretKey || $secretKey != $this->_backendUrl->getSecretKey()) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Render specified template
+     *
+     * @param string $tplName
+     * @param array $data parameters required by template
+     */
+    protected function _outTemplate($tplName, $data = array())
+    {
+        $this->_view->getLayout()->initMessages('Magento\Backend\Model\Session');
+        $block = $this->_view->getLayout()
+            ->createBlock('Magento\Backend\Block\Template')->setTemplate("{$tplName}.phtml");
+        foreach ($data as $index => $value) {
+            $block->assign($index, $value);
+        }
+        $html = $block->toHtml();
+        $this->_objectManager->get('Magento\Core\Model\Translate')->processResponseBody($html);
+        $this->getResponse()->setBody($html);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Action.php b/app/code/Magento/Backend/App/Action.php
similarity index 90%
rename from app/code/Magento/Backend/Controller/Adminhtml/Action.php
rename to app/code/Magento/Backend/App/Action.php
index bc612975e59..3cb001f8cf8 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Action.php
+++ b/app/code/Magento/Backend/App/Action.php
@@ -27,8 +27,8 @@
 /**
  * Generic backend controller
  */
-namespace Magento\Backend\Controller\Adminhtml;
+namespace Magento\Backend\App;
 
-class Action extends \Magento\Backend\Controller\AbstractAction
+class Action extends \Magento\Backend\App\AbstractAction
 {
 }
diff --git a/app/code/Magento/Backend/Controller/Context.php b/app/code/Magento/Backend/App/Action/Context.php
similarity index 73%
rename from app/code/Magento/Backend/Controller/Context.php
rename to app/code/Magento/Backend/App/Action/Context.php
index 2879f6c73fd..7774862ce12 100644
--- a/app/code/Magento/Backend/Controller/Context.php
+++ b/app/code/Magento/Backend/App/Action/Context.php
@@ -24,44 +24,42 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Backend\Controller;
+namespace Magento\Backend\App\Action;
 
 /**
- * Controller context
- *
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ * Backend Controller context
  */
-class Context extends \Magento\Core\Controller\Varien\Action\Context
+class Context extends \Magento\App\Action\Context
 {
     /**
-     * @var \Magento\Backend\Model\Session
+     * @var \Magento\AuthorizationInterface
      */
-    protected $_session;
+    protected $_authorization;
 
     /**
-     * @var \Magento\Backend\Helper\Data
+     * @var \Magento\Backend\Model\Auth
      */
-    protected $_helper;
+    protected $_auth;
 
     /**
-     * @var \Magento\AuthorizationInterface
+     * @var \Magento\Backend\Helper\Data
      */
-    protected $_authorization;
+    protected $_helper;
 
     /**
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\Backend\Model\Url
      */
-    protected $_translator;
+    protected $_backendUrl;
 
     /**
-     * @var \Magento\Backend\Model\Auth
+     * @var \Magento\Core\App\Action\FormKeyValidator
      */
-    protected $_auth;
+    protected $_formKeyValidator;
 
     /**
-     * @var \Magento\Backend\Model\Url
+     * @var \Magento\App\Action\Title
      */
-    protected $_backendUrl;
+    protected $_title;
 
     /**
      * @var \Magento\Core\Model\LocaleInterface
@@ -74,102 +72,115 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
     protected $_canUseBaseUrl;
 
     /**
-     * @param \Magento\Logger $logger
+     * @var \Magento\Backend\Model\Session
+     */
+    protected $_session;
+
+    /**
      * @param \Magento\App\RequestInterface $request
      * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\App\FrontController $frontController
-     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\HTTP\Authentication $authentication
      * @param \Magento\Backend\Model\Session $session
-     * @param \Magento\Backend\Helper\Data $helper
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\Response\RedirectInterface $redirect
+     * @param \Magento\App\ActionFlag $actionFlag
+     * @param \Magento\App\ViewInterface $view
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Backend\Model\Auth $auth
+     * @param \Magento\Backend\Helper\Data $helper
      * @param \Magento\Backend\Model\Url $backendUrl
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
+     * @param \Magento\App\Action\Title $title
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param bool $canUseBaseUrl
-     * 
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Logger $logger,
         \Magento\App\RequestInterface $request,
         \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\App\FrontController $frontController,
-        \Magento\View\LayoutInterface $layout,
         \Magento\Event\ManagerInterface $eventManager,
-        \Magento\HTTP\Authentication $authentication,
         \Magento\Backend\Model\Session $session,
-        \Magento\Backend\Helper\Data $helper,
+        \Magento\UrlInterface $url,
+        \Magento\App\Response\RedirectInterface $redirect,
+        \Magento\App\ActionFlag $actionFlag,
+        \Magento\App\ViewInterface $view,
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Core\Model\Translate $translator,
         \Magento\Backend\Model\Auth $auth,
+        \Magento\Backend\Helper\Data $helper,
         \Magento\Backend\Model\Url $backendUrl,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator,
+        \Magento\App\Action\Title $title,
         \Magento\Core\Model\LocaleInterface $locale,
         $canUseBaseUrl = false
     ) {
-        parent::__construct($logger, $request, $response, $objectManager, $frontController, $layout, $eventManager, 
-            $authentication
+        parent::__construct(
+            $request,
+            $response,
+            $objectManager,
+            $eventManager,
+            $url,
+            $redirect,
+            $actionFlag,
+            $view
         );
-        $this->_canUseBaseUrl = $canUseBaseUrl;
         $this->_session = $session;
-        $this->_helper = $helper;
         $this->_authorization = $authorization;
-        $this->_translator = $translator;
         $this->_auth = $auth;
+        $this->_helper = $helper;
         $this->_backendUrl = $backendUrl;
+        $this->_formKeyValidator = $formKeyValidator;
+        $this->_title = $title;
         $this->_locale = $locale;
+        $this->_canUseBaseUrl = $canUseBaseUrl;
     }
 
     /**
-     * @return \Magento\Backend\Helper\Data
+     * @return \Magento\Backend\Model\Auth
      */
-    public function getHelper()
+    public function getAuth()
     {
-        return $this->_helper;
+        return $this->_auth;
     }
 
     /**
-     * @return \Magento\Backend\Model\Session
+     * @return \Magento\AuthorizationInterface
      */
-    public function getSession()
+    public function getAuthorization()
     {
-        return $this->_session;
+        return $this->_authorization;
     }
 
     /**
-     * @return \Magento\AuthorizationInterface
+     * @return \Magento\Backend\Model\Url
      */
-    public function getAuthorization()
+    public function getBackendUrl()
     {
-        return $this->_authorization;
+        return $this->_backendUrl;
     }
 
     /**
-     * @return \Magento\Core\Model\Translate
+     * @return boolean
      */
-    public function getTranslator()
+    public function getCanUseBaseUrl()
     {
-        return $this->_translator;
+        return $this->_canUseBaseUrl;
     }
 
     /**
-     * @return \Magento\Backend\Model\Auth
+     * @return \Magento\Core\App\Action\FormKeyValidator
      */
-    public function getAuth()
+    public function getFormKeyValidator()
     {
-        return $this->_auth;
+        return $this->_formKeyValidator;
     }
 
     /**
-     * @return \Magento\Backend\Model\Url
+     * @return \Magento\Backend\Helper\Data
      */
-    public function getBackendUrl()
+    public function getHelper()
     {
-        return $this->_backendUrl;
+        return $this->_helper;
     }
 
     /**
@@ -181,10 +192,18 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
     }
 
     /**
-     * @return boolean
+     * @return \Magento\App\Action\Title
      */
-    public function getCanUseBaseUrl()
+    public function getTitle()
     {
-        return $this->_canUseBaseUrl;
+        return $this->_title;
+    }
+
+    /**
+     * @return \Magento\Backend\Model\Session
+     */
+    public function getSession()
+    {
+        return $this->_session;
     }
-}
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Action/Plugin/Authentication.php b/app/code/Magento/Backend/App/Action/Plugin/Authentication.php
new file mode 100644
index 00000000000..9013a9d6d49
--- /dev/null
+++ b/app/code/Magento/Backend/App/Action/Plugin/Authentication.php
@@ -0,0 +1,196 @@
+<?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\Action\Plugin;
+
+
+class Authentication
+{
+    /**
+     * @var \Magento\Backend\Model\Auth
+     */
+    protected $_auth;
+
+    /**
+     * @var array
+     */
+    protected $_openActions = array(
+        'forgotpassword',
+        'resetpassword',
+        'resetpasswordpost',
+        'logout',
+        'refresh' // captcha refresh
+    );
+
+    /**
+     * @var \Magento\Backend\Model\Url
+     */
+    protected $_url;
+
+    /**
+     * @var \Magento\Backend\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @param \Magento\Backend\Model\Auth $auth
+     * @param \Magento\Backend\Model\Session $session
+     * @param \Magento\Backend\Model\Url $url
+     * @param \Magento\App\ResponseInterface $response
+     * @param \Magento\App\ActionFlag $actionFlag
+     */
+    public function __construct(
+        \Magento\Backend\Model\Auth $auth,
+        \Magento\Backend\Model\Session $session,
+        \Magento\Backend\Model\Url $url,
+        \Magento\App\ResponseInterface $response,
+        \Magento\App\ActionFlag $actionFlag
+    ) {
+        $this->_auth = $auth;
+        $this->_session = $session;
+        $this->_url = $url;
+        $this->_response = $response;
+        $this->_actionFlag = $actionFlag;
+    }
+
+    /**
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $request = $arguments[0];
+        $requestedActionName = $request->getActionName();
+        if (in_array($requestedActionName, $this->_openActions)) {
+            $request->setDispatched(true);
+        } else {
+            if ($this->_auth->getUser()) {
+                $this->_auth->getUser()->reload();
+            }
+            if (!$this->_auth->isLoggedIn()) {
+                $this->_processNotLoggedInUser($request);
+            }
+        }
+        $this->_auth->getAuthStorage()->refreshAcl();
+        return $invocationChain->proceed($arguments);
+    }
+
+    /**
+     * Process not logged in user data
+     *
+     * @param \Magento\App\RequestInterface $request
+     */
+    protected function _processNotLoggedInUser(\Magento\App\RequestInterface $request)
+    {
+        $isRedirectNeeded = false;
+        if ($request->getPost('login') && $this->_performLogin($request)) {
+            $isRedirectNeeded = $this->_redirectIfNeededAfterLogin($request);
+        }
+        if (!$isRedirectNeeded && !$request->getParam('forwarded')) {
+            if ($request->getParam('isIframe')) {
+                $request->setParam('forwarded', true)
+                    ->setRouteName('adminhtml')
+                    ->setControllerName('auth')
+                    ->setActionName('deniedIframe')
+                    ->setDispatched(false);
+            } elseif ($request->getParam('isAjax')) {
+                $request->setParam('forwarded', true)
+                    ->setRouteName('adminhtml')
+                    ->setControllerName('auth')
+                    ->setActionName('deniedJson')
+                    ->setDispatched(false);
+            } else {
+                $request->setParam('forwarded', true)
+                    ->setRouteName('adminhtml')
+                    ->setControllerName('auth')
+                    ->setActionName('login')
+                    ->setDispatched(false);
+            }
+        }
+    }
+
+    /**
+     * Performs login, if user submitted login form
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return bool
+     */
+    protected function _performLogin(\Magento\App\RequestInterface $request)
+    {
+        $outputValue = true;
+        $postLogin  = $request->getPost('login');
+        $username   = isset($postLogin['username']) ? $postLogin['username'] : '';
+        $password   = isset($postLogin['password']) ? $postLogin['password'] : '';
+        $request->setPost('login', null);
+
+        try {
+            $this->_auth->login($username, $password);
+        } catch (\Magento\Backend\Model\Auth\Exception $e) {
+            if (!$request->getParam('messageSent')) {
+                $this->_session->addError($e->getMessage());
+                $request->setParam('messageSent', true);
+                $outputValue = false;
+            }
+        }
+        return $outputValue;
+    }
+
+    /**
+     * Checks, whether Magento requires redirection after successful admin login, and redirects user, if needed
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return bool
+     */
+    protected function _redirectIfNeededAfterLogin(\Magento\App\RequestInterface $request)
+    {
+        $requestUri = null;
+
+        // Checks, whether secret key is required for admin access or request uri is explicitly set
+        if ($this->_url->useSecretKey()) {
+            $requestUri = $this->_url->getUrl('*/*/*', array('_current' => true));
+        } elseif ($request) {
+            $requestUri = $request->getRequestUri();
+        }
+
+        if (!$requestUri) {
+            return false;
+        }
+
+        $this->_response->setRedirect($requestUri);
+        $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Action/Plugin/MassactionKey.php b/app/code/Magento/Backend/App/Action/Plugin/MassactionKey.php
new file mode 100644
index 00000000000..6900a35f0da
--- /dev/null
+++ b/app/code/Magento/Backend/App/Action/Plugin/MassactionKey.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Massaction key 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\Backend\App\Action\Plugin;
+
+
+class MassactionKey
+{
+    /**
+     * Process massaction key
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $request = $arguments[0];
+        $key = $request->getPost('massaction_prepare_key');
+        if ($key) {
+            $postData = $request->getPost($key);
+            $value = is_array($postData) ? $postData : explode(',', $postData);
+            $request->setPost($key, $value ? $value : null);
+        }
+        return $invocationChain->proceed($arguments);
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Action/Plugin/Store.php b/app/code/Magento/Backend/App/Action/Plugin/Store.php
new file mode 100644
index 00000000000..25d991069eb
--- /dev/null
+++ b/app/code/Magento/Backend/App/Action/Plugin/Store.php
@@ -0,0 +1,53 @@
+<?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\Action\Plugin;
+
+class Store
+{
+    /**
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     */
+    public function __construct(\Magento\Core\Model\StoreManagerInterface $storeManager)
+    {
+        $this->_storeManager = $storeManager;
+    }
+
+    /**
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return array
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $this->_storeManager->setCurrentStore('admin');
+        return $invocationChain->proceed($arguments);
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Response/Http/FileFactory.php b/app/code/Magento/Backend/App/Response/Http/FileFactory.php
new file mode 100644
index 00000000000..2facf5afe45
--- /dev/null
+++ b/app/code/Magento/Backend/App/Response/Http/FileFactory.php
@@ -0,0 +1,120 @@
+<?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\Response\Http;
+
+class FileFactory extends \Magento\App\Response\Http\FileFactory
+{
+    /**
+     * @var \Magento\Backend\Model\Auth
+     */
+    protected $_auth;
+
+    /**
+     * @var \Magento\Backend\Model\Url
+     */
+    protected $_backendUrl;
+
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \Magento\Backend\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_flag;
+
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    protected $_helper;
+
+    /**
+     * @param \Magento\App\ResponseFactory $responseFactory
+     * @param \Magento\Filesystem $filesystem
+     * @param \Magento\Backend\Model\Auth $auth
+     * @param \Magento\Backend\Model\Url $backendUrl
+     * @param \Magento\Backend\Model\Session $session
+     * @param \Magento\App\ActionFlag $flag
+     * @param \Magento\Backend\Helper\Data $helper
+     */
+    public function __construct(
+        \Magento\App\ResponseFactory $responseFactory,
+        \Magento\Filesystem $filesystem,
+        \Magento\Backend\Model\Auth $auth,
+        \Magento\Backend\Model\Url $backendUrl,
+        \Magento\Backend\Model\Session $session,
+        \Magento\App\ActionFlag $flag,
+        \Magento\Backend\Helper\Data $helper
+    ) {
+        $this->_auth = $auth;
+        $this->_backendUrl = $backendUrl;
+        $this->_session = $session;
+        $this->_flag = $flag;
+        $this->_helper = $helper;
+        parent::__construct($responseFactory, $filesystem);
+    }
+
+
+    /**
+     * Set redirect into response
+     *
+     * @param   string $path
+     * @param   array $arguments
+     * @return \Magento\App\ResponseInterface
+     * @TODO move method
+     */
+    protected function _redirect($path, $arguments=array())
+    {
+        $this->_session
+            ->setIsUrlNotice($this->_flag->get('', \Magento\Backend\App\AbstractAction::FLAG_IS_URLS_CHECKED));
+        $response = $this->_responseFactory->create();
+        $response->setRedirect($this->_helper->getUrl($path, $arguments));
+        return $response;
+    }
+
+    /**
+     * Declare headers and content file in response for file download
+     *
+     * @param string $fileName
+     * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
+     * that case
+     * @param string $contentType
+     * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
+     * @return \Magento\App\ResponseInterface
+     */
+    public function create($fileName, $content, $contentType = 'application/octet-stream', $contentLength = null)
+    {
+        if ($this->_auth->getAuthStorage()->isFirstPageAfterLogin()) {
+            $response = $this->_redirect($this->_backendUrl->getStartupPageUrl());
+            return $response;
+        }
+        return parent::create($fileName, $content, $contentType, $contentLength);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Router/NoRouteHandler.php b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
index 5db07afe0fe..bef2e0e58cf 100644
--- a/app/code/Magento/Backend/App/Router/NoRouteHandler.php
+++ b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
@@ -54,8 +54,8 @@ class NoRouteHandler implements \Magento\App\Router\NoRouteHandlerInterface
         if ($areaFrontName == $this->_helper->getAreaFrontName()) {
 
             $moduleName     = 'admin';
-            $controllerName = 'index';
-            $actionName     = 'noRoute';
+            $controllerName = 'noroute';
+            $actionName     = 'index';
 
             $request->setModuleName($moduleName)
                 ->setControllerName($controllerName)
diff --git a/app/code/Magento/Backend/Block/AbstractBlock.php b/app/code/Magento/Backend/Block/AbstractBlock.php
index 4b6938b6d96..d2f15309be7 100644
--- a/app/code/Magento/Backend/Block/AbstractBlock.php
+++ b/app/code/Magento/Backend/Block/AbstractBlock.php
@@ -31,7 +31,7 @@ namespace Magento\Backend\Block;
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class AbstractBlock extends \Magento\Core\Block\AbstractBlock
+class AbstractBlock extends \Magento\View\Block\AbstractBlock
 {
     /**
      * @var \Magento\AuthorizationInterface
diff --git a/app/code/Magento/Backend/Block/Cache/Grid/Column/Statuses.php b/app/code/Magento/Backend/Block/Cache/Grid/Column/Statuses.php
index 23b3247368d..5fbf20e5c8f 100644
--- a/app/code/Magento/Backend/Block/Cache/Grid/Column/Statuses.php
+++ b/app/code/Magento/Backend/Block/Cache/Grid/Column/Statuses.php
@@ -33,18 +33,18 @@ class Statuses extends \Magento\Backend\Block\Widget\Grid\Column
     protected $_cacheTypeList;
 
     /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\App\Cache\TypeListInterface $cacheTypeList
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\App\Cache\TypeListInterface $cacheTypeList,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_cacheTypeList = $cacheTypeList;
     }
 
diff --git a/app/code/Magento/Backend/Block/Context.php b/app/code/Magento/Backend/Block/Context.php
index 244de9a48b9..55880dc9e89 100644
--- a/app/code/Magento/Backend/Block/Context.php
+++ b/app/code/Magento/Backend/Block/Context.php
@@ -28,7 +28,7 @@ namespace Magento\Backend\Block;
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Context extends \Magento\Core\Block\Context
+class Context extends \Magento\View\Block\Context
 {
     /**
      * @var \Magento\AuthorizationInterface
@@ -46,7 +46,7 @@ class Context extends \Magento\Core\Block\Context
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\App\FrontController $frontController
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\App\Cache\StateInterface $cacheState
@@ -71,7 +71,7 @@ class Context extends \Magento\Core\Block\Context
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\App\FrontController $frontController,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         \Magento\View\Url $viewUrl,
         \Magento\View\ConfigInterface $viewConfig,
         \Magento\App\Cache\StateInterface $cacheState,
diff --git a/app/code/Magento/Backend/Block/Dashboard/AbstractDashboard.php b/app/code/Magento/Backend/Block/Dashboard/AbstractDashboard.php
index 96b3a8860c8..123848b6717 100644
--- a/app/code/Magento/Backend/Block/Dashboard/AbstractDashboard.php
+++ b/app/code/Magento/Backend/Block/Dashboard/AbstractDashboard.php
@@ -43,20 +43,20 @@ abstract class AbstractDashboard extends \Magento\Adminhtml\Block\Widget
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getCollection()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Graph.php b/app/code/Magento/Backend/Block/Dashboard/Graph.php
index 31b7da638ef..797aaec69a2 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Graph.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Graph.php
@@ -120,22 +120,22 @@ class Graph extends \Magento\Backend\Block\Dashboard\AbstractDashboard
      */
     protected $_dashboardData = null;
 
-    /**
-     * @param \Magento\Backend\Helper\Dashboard\Data $dashboardData
-     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
+     * @param \Magento\Backend\Helper\Dashboard\Data $dashboardData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Helper\Dashboard\Data $dashboardData,
-        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
+        \Magento\Backend\Helper\Dashboard\Data $dashboardData,
+        array $data = array()
+    ) {
         $this->_dashboardData = $dashboardData;
-        parent::__construct($collectionFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $collectionFactory, $data);
     }
 
     /**
@@ -340,9 +340,9 @@ class Graph extends \Magento\Backend\Block\Dashboard\AbstractDashboard
                     $currentvalue = $thisdataarray[$j];
                     if (is_numeric($currentvalue)) {
                         $ylocation = round((strlen($this->_simpleEncoding)-1) * ($yorigin + $currentvalue) / $yrange);
-                        array_push($chartdata, substr($this->_simpleEncoding, $ylocation, 1) . $dataDelimiter);
+                        $chartdata[] = substr($this->_simpleEncoding, $ylocation, 1) . $dataDelimiter;
                     } else {
-                        array_push($chartdata, $dataMissing . $dataDelimiter);
+                        $chartdata[] = $dataMissing . $dataDelimiter;
                     }
                 }
                 // END SIMPLE ENCODING
@@ -360,14 +360,14 @@ class Graph extends \Magento\Backend\Block\Dashboard\AbstractDashboard
                         $secondchar = $ylocation % 64;
                         $mappedchar = substr($this->_extendedEncoding, $firstchar, 1)
                             . substr($this->_extendedEncoding, $secondchar, 1);
-                        array_push($chartdata, $mappedchar . $dataDelimiter);
+                        $chartdata[] = $mappedchar . $dataDelimiter;
                     } else {
-                        array_push($chartdata, $dataMissing . $dataDelimiter);
+                        $chartdata[] = $dataMissing . $dataDelimiter;
                     }
                 }
                 // ============= END EXTENDED ENCODING =============
             }
-            array_push($chartdata, $dataSetdelimiter);
+            $chartdata[] = $dataSetdelimiter;
         }
         $buffer = implode('', $chartdata);
 
diff --git a/app/code/Magento/Backend/Block/Dashboard/Orders/Grid.php b/app/code/Magento/Backend/Block/Dashboard/Orders/Grid.php
index 93c1f246cf9..05cd859d92c 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Orders/Grid.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Orders/Grid.php
@@ -41,24 +41,22 @@ class Grid extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Searches/Last.php b/app/code/Magento/Backend/Block/Dashboard/Searches/Last.php
index b5e82583b7c..c340713e2b2 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Searches/Last.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Searches/Last.php
@@ -43,24 +43,22 @@ class Last extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_queriesFactory;
 
-    /**
-     * @param \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory,
+        array $data = array()
+    ) {
         $this->_queriesFactory = $queriesFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Searches/Renderer/Searchquery.php b/app/code/Magento/Backend/Block/Dashboard/Searches/Renderer/Searchquery.php
index 910711f08d4..43df3a75d24 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Searches/Renderer/Searchquery.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Searches/Renderer/Searchquery.php
@@ -41,13 +41,13 @@ class Searchquery
     protected $_stringHelper = null;
 
     /**
-     * @param \Magento\Stdlib\String $stringHelper
      * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Stdlib\String $stringHelper
      * @param array $data
      */
     public function __construct(
-        \Magento\Stdlib\String $stringHelper,
         \Magento\Backend\Block\Context $context,
+        \Magento\Stdlib\String $stringHelper,
         array $data = array()
     ) {
         $this->_stringHelper = $stringHelper;
diff --git a/app/code/Magento/Backend/Block/Dashboard/Searches/Top.php b/app/code/Magento/Backend/Block/Dashboard/Searches/Top.php
index c440370317c..a525d9e8372 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Searches/Top.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Searches/Top.php
@@ -43,24 +43,22 @@ class Top extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_queriesFactory;
 
-    /**
-     * @param \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queriesFactory,
+        array $data = array()
+    ) {
         $this->_queriesFactory = $queriesFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Most.php b/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Most.php
index 4b4839f51e4..86fe59f32fe 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Most.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Most.php
@@ -41,24 +41,22 @@ class Most extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Order\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Newest.php b/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Newest.php
index e07c4254b63..72215de3b59 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Newest.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Tab/Customers/Newest.php
@@ -41,24 +41,22 @@ class Newest extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Customer\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Customer\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Customer\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Customer\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Ordered.php b/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Ordered.php
index 01881f2902d..24166c3530e 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Ordered.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Ordered.php
@@ -41,24 +41,22 @@ class Ordered extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Report\Bestsellers\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Report\Bestsellers\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Report\Bestsellers\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Report\Bestsellers\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Viewed.php b/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Viewed.php
index 937f782d4a1..ac246a749d4 100644
--- a/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Viewed.php
+++ b/app/code/Magento/Backend/Block/Dashboard/Tab/Products/Viewed.php
@@ -41,24 +41,22 @@ class Viewed extends \Magento\Backend\Block\Dashboard\Grid
      */
     protected $_productsFactory;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Product\CollectionFactory $productsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Reports\Model\Resource\Product\CollectionFactory $productsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Product\CollectionFactory $productsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Reports\Model\Resource\Product\CollectionFactory $productsFactory,
+        array $data = array()
+    ) {
         $this->_productsFactory = $productsFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/Menu.php b/app/code/Magento/Backend/Block/Menu.php
index 4ccced0de24..d7e946f5d27 100644
--- a/app/code/Magento/Backend/Block/Menu.php
+++ b/app/code/Magento/Backend/Block/Menu.php
@@ -70,32 +70,34 @@ class Menu extends \Magento\Backend\Block\Template
      */
     protected $_authSession;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Backend\Model\Menu\Config
      */
     protected $_menuConfig;
 
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Url $url,
-        \Magento\Backend\Model\Menu\Filter\IteratorFactory $iteratorFactory,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Backend\Model\Menu\Config $menuConfig,
-        array $data = array()
-    ) {
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Url $url
+     * @param \Magento\Backend\Model\Menu\Filter\IteratorFactory $iteratorFactory
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Backend\Model\Menu\Config $menuConfig
+     * @param array $data
+     */
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Url $url,
+        \Magento\Backend\Model\Menu\Filter\IteratorFactory $iteratorFactory,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Backend\Model\Menu\Config $menuConfig,
+        array $data = array()
+    ) {
         $this->_url = $url;
         $this->_iteratorFactory = $iteratorFactory;
         $this->_authSession = $authSession;
-        $this->_locale = $locale;
         $this->_menuConfig = $menuConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Store/Switcher.php b/app/code/Magento/Backend/Block/Store/Switcher.php
index 6f557d2761f..9644f615211 100644
--- a/app/code/Magento/Backend/Block/Store/Switcher.php
+++ b/app/code/Magento/Backend/Block/Store/Switcher.php
@@ -74,13 +74,6 @@ class Switcher extends \Magento\Backend\Block\Template
      */
     protected $_template = 'Magento_Backend::store/switcher.phtml';
 
-    /**
-     * Application model
-     *
-     * @var \Magento\Core\Model\App
-     */
-    protected $_application;
-
     /**
      * Website factory
      *
@@ -102,26 +95,23 @@ class Switcher extends \Magento\Backend\Block\Template
      */
     protected $_storeFactory;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\Website\Factory $websiteFactory
-     * @param \Magento\Core\Model\Store\Group\Factory $storeGroupFactory
-     * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Website\Factory $websiteFactory
+     * @param \Magento\Core\Model\Store\Group\Factory $storeGroupFactory
+     * @param \Magento\Core\Model\StoreFactory $storeFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\Website\Factory $websiteFactory,
-        \Magento\Core\Model\Store\Group\Factory $storeGroupFactory,
-        \Magento\Core\Model\StoreFactory $storeFactory,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_application = $application;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Website\Factory $websiteFactory,
+        \Magento\Core\Model\Store\Group\Factory $storeGroupFactory,
+        \Magento\Core\Model\StoreFactory $storeFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_websiteFactory = $websiteFactory;
         $this->_storeGroupFactory = $storeGroupFactory;
         $this->_storeFactory = $storeFactory;
@@ -158,7 +148,7 @@ class Switcher extends \Magento\Backend\Block\Template
      */
     public function getWebsites()
     {
-        $websites = $this->_application->getWebsites();
+        $websites = $this->_storeManager->getWebsites();
         if ($websiteIds = $this->getWebsiteIds()) {
             foreach (array_keys($websites) as $websiteId) {
                 if (!in_array($websiteId, $websiteIds)) {
@@ -190,7 +180,7 @@ class Switcher extends \Magento\Backend\Block\Template
     public function getStoreGroups($website)
     {
         if (!$website instanceof \Magento\Core\Model\Website) {
-            $website = $this->_application->getWebsite($website);
+            $website = $this->_storeManager->getWebsite($website);
         }
         return $website->getGroups();
     }
@@ -221,7 +211,7 @@ class Switcher extends \Magento\Backend\Block\Template
     public function getStores($group)
     {
         if (!$group instanceof \Magento\Core\Model\Store\Group) {
-            $group = $this->_application->getGroup($group);
+            $group = $this->_storeManager->getGroup($group);
         }
         $stores = $group->getStores();
         if ($storeIds = $this->getStoreIds()) {
@@ -302,7 +292,7 @@ class Switcher extends \Magento\Backend\Block\Template
      */
     public function isShow()
     {
-        return !$this->_application->isSingleStoreMode();
+        return !$this->_storeManager->isSingleStoreMode();
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Account/Edit/Form.php b/app/code/Magento/Backend/Block/System/Account/Edit/Form.php
index 40e5c2607ae..3f2a19901c1 100644
--- a/app/code/Magento/Backend/Block/System/Account/Edit/Form.php
+++ b/app/code/Magento/Backend/Block/System/Account/Edit/Form.php
@@ -46,27 +46,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_userFactory;
 
-    /**
-     * @param \Magento\User\Model\UserFactory $userFactory
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\User\Model\UserFactory $userFactory
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param array $data
      */
-    public function __construct(
-        \Magento\User\Model\UserFactory $userFactory,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\User\Model\UserFactory $userFactory,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        array $data = array()
+    ) {
         $this->_userFactory = $userFactory;
         $this->_authSession = $authSession;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Backend/Block/System/Config/Dwstree.php b/app/code/Magento/Backend/Block/System/Config/Dwstree.php
index 74841e30f07..8afe0bce778 100644
--- a/app/code/Magento/Backend/Block/System/Config/Dwstree.php
+++ b/app/code/Magento/Backend/Block/System/Config/Dwstree.php
@@ -31,29 +31,6 @@ namespace Magento\Backend\Block\System\Config;
 
 class Dwstree extends \Magento\Backend\Block\Widget\Tabs
 {
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $authSession, $data);
-        $this->_storeManager = $storeManager;
-    }
-
     protected function _construct()
     {
         parent::_construct();
diff --git a/app/code/Magento/Backend/Block/System/Config/Edit.php b/app/code/Magento/Backend/Block/System/Config/Edit.php
index ca648a06388..81f16df2693 100644
--- a/app/code/Magento/Backend/Block/System/Config/Edit.php
+++ b/app/code/Magento/Backend/Block/System/Config/Edit.php
@@ -61,26 +61,26 @@ class Edit extends \Magento\Backend\Block\Widget
      */
     protected $_configStructure;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Config\Structure $configStructure
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Config\Structure $configStructure
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Config\Structure $configStructure,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Config\Structure $configStructure,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_configStructure = $configStructure;
     }
 
     /**
      * Prepare layout object
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Backend/Block/System/Config/Form.php b/app/code/Magento/Backend/Block/System/Config/Form.php
index b35c713e547..20cc7cd2df2 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form.php
@@ -125,45 +125,35 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     protected $_config;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Backend\Model\Config\Factory $configFactory
      * @param \Magento\Backend\Model\Config\Structure $configStructure
      * @param \Magento\Backend\Block\System\Config\Form\Fieldset\Factory $fieldsetFactory
      * @param \Magento\Backend\Block\System\Config\Form\Field\Factory $fieldFactory
      * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Backend\Model\Config\Factory $configFactory,
         \Magento\Backend\Model\Config\Structure $configStructure,
         \Magento\Backend\Block\System\Config\Form\Fieldset\Factory $fieldsetFactory,
         \Magento\Backend\Block\System\Config\Form\Field\Factory $fieldFactory,
         \Magento\Core\Model\Config $coreConfig,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         array $data = array()
     ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_configFactory = $configFactory;
         $this->_configStructure = $configStructure;
         $this->_fieldsetFactory = $fieldsetFactory;
         $this->_fieldFactory = $fieldFactory;
         $this->_config = $coreConfig;
-        $this->_storeManager = $storeManager;
 
         $this->_scopeLabels = array(
             self::SCOPE_DEFAULT  => __('[GLOBAL]'),
@@ -471,7 +461,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     /**
      *
      *
-     * @return \Magento\Backend\Block\Widget\Form|\Magento\Core\Block\AbstractBlock|void
+     * @return \Magento\Backend\Block\Widget\Form|\Magento\View\Block\AbstractBlock|void
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field.php b/app/code/Magento/Backend/Block/System/Config/Form/Field.php
index ffcbd33f4a9..ec966bbdfa9 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field.php
@@ -41,29 +41,6 @@ class Field
     extends \Magento\Backend\Block\Template
     implements \Magento\Data\Form\Element\Renderer\RendererInterface
 {
-    /**
-     * Application
-     *
-     * @var \Magento\Core\Model\App
-     */
-    protected $_application;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        array $data = array()
-    ) {
-        $this->_application = $application;
-        parent::__construct($coreData, $context, $data);
-    }
-
     /**
      * Retrieve element HTML markup
      *
@@ -186,7 +163,7 @@ class Field
     protected function _renderScopeLabel(\Magento\Data\Form\Element\AbstractElement $element)
     {
         $html = '<td class="scope-label">';
-        if ($element->getScope() && false == $this->_application->isSingleStoreMode()) {
+        if ($element->getScope() && false == $this->_app->isSingleStoreMode()) {
             $html .= $element->getScopeLabel();
         }
         $html .= '</td>';
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/Datetime.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/Datetime.php
index 77bf076750f..4f85cd677b1 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/Datetime.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/Datetime.php
@@ -33,9 +33,9 @@ class Datetime extends \Magento\Backend\Block\System\Config\Form\Field
 {
     protected function _getElementHtml(\Magento\Data\Form\Element\AbstractElement $element)
     {
-        $format = $this->_application->getLocale()->getDateTimeFormat(
+        $format = $this->_app->getLocale()->getDateTimeFormat(
             \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_MEDIUM
         );
-        return $this->_application->getLocale()->date(intval($element->getValue()))->toString($format);
+        return $this->_app->getLocale()->date(intval($element->getValue()))->toString($format);
     }
 }
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/Export.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/Export.php
index 380ac862d61..f5fdd0edbe4 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/Export.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/Export.php
@@ -36,7 +36,7 @@ namespace Magento\Backend\Block\System\Config\Form\Field;
 class Export extends \Magento\Data\Form\Element\AbstractElement
 {
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
@@ -44,14 +44,14 @@ class Export extends \Magento\Data\Form\Element\AbstractElement
      * @param \Magento\Escaper $escaper
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param array $attributes
      */
     public function __construct(
         \Magento\Escaper $escaper,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         array $attributes = array()
     ) {
         $this->_helperFactory = $helperFactory;
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
index 39b368241f3..adc4ed43bd7 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/FieldArray/AbstractFieldArray.php
@@ -101,7 +101,7 @@ abstract class AbstractFieldArray
             'class'     => $this->_getParam($params, 'class'),
             'renderer'  => false,
         );
-        if ((!empty($params['renderer'])) && ($params['renderer'] instanceof \Magento\Core\Block\AbstractBlock)) {
+        if ((!empty($params['renderer'])) && ($params['renderer'] instanceof \Magento\View\Block\AbstractBlock)) {
             $this->_columns[$name]['renderer'] = $params['renderer'];
         }
     }
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/Notification.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/Notification.php
index 5103f20df78..e2b47bcc962 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/Notification.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/Notification.php
@@ -33,10 +33,10 @@ class Notification extends \Magento\Backend\Block\System\Config\Form\Field
 {
     protected function _getElementHtml(\Magento\Data\Form\Element\AbstractElement $element)
     {
-        $element->setValue($this->_application->loadCache('admin_notifications_lastcheck'));
-        $format = $this->_application->getLocale()->getDateTimeFormat(
+        $element->setValue($this->_app->loadCache('admin_notifications_lastcheck'));
+        $format = $this->_app->getLocale()->getDateTimeFormat(
             \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_MEDIUM
         );
-        return $this->_application->getLocale()->date(intval($element->getValue()))->toString($format);
+        return $this->_app->getLocale()->date(intval($element->getValue()))->toString($format);
     }
 }
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 4eadf3c9e92..28fd6d6b074 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
@@ -42,25 +42,23 @@ class Regexceptions
      */
     protected $_labelFactory;
 
-    /**
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
+        array $data = array()
+    ) {
         $this->_elementFactory = $elementFactory;
         $this->_labelFactory = $labelFactory;
-        parent::__construct($coreData, $context, $application, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Config/Switcher.php b/app/code/Magento/Backend/Block/System/Config/Switcher.php
index c7c5f07be63..6ab009aeb20 100644
--- a/app/code/Magento/Backend/Block/System/Config/Switcher.php
+++ b/app/code/Magento/Backend/Block/System/Config/Switcher.php
@@ -34,31 +34,23 @@ class Switcher extends \Magento\Backend\Block\Template
     protected $_systemStore;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         $this->_systemStore = $systemStore;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Backend/Block/System/Config/System/Storage/Media/Synchronize.php b/app/code/Magento/Backend/Block/System/Config/System/Storage/Media/Synchronize.php
index dd8743738cf..ca8c823a68f 100644
--- a/app/code/Magento/Backend/Block/System/Config/System/Storage/Media/Synchronize.php
+++ b/app/code/Magento/Backend/Block/System/Config/System/Storage/Media/Synchronize.php
@@ -39,22 +39,20 @@ class Synchronize
      */
     protected $_fileStorage;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\File\Storage $fileStorage
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\File\Storage $fileStorage
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\File\Storage $fileStorage,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\File\Storage $fileStorage,
+        array $data = array()
+    ) {
         $this->_fileStorage = $fileStorage;
-        parent::__construct($coreData, $context, $application, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Config/Tabs.php b/app/code/Magento/Backend/Block/System/Config/Tabs.php
index 5bae0bf86e4..83728b75fab 100644
--- a/app/code/Magento/Backend/Block/System/Config/Tabs.php
+++ b/app/code/Magento/Backend/Block/System/Config/Tabs.php
@@ -76,19 +76,19 @@ class Tabs extends \Magento\Backend\Block\Widget
      */
     protected $_storeCode;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Config\Structure $configStructure
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Config\Structure $configStructure
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Config\Structure $configStructure,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Config\Structure $configStructure,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_tabs = $configStructure->getTabs();
 
         $this->setId('system_config_tabs');
diff --git a/app/code/Magento/Backend/Block/System/Design/Edit.php b/app/code/Magento/Backend/Block/System/Design/Edit.php
index 599bfd2fccc..751ea6b97c9 100644
--- a/app/code/Magento/Backend/Block/System/Design/Edit.php
+++ b/app/code/Magento/Backend/Block/System/Design/Edit.php
@@ -38,20 +38,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Backend/Block/System/Design/Edit/Tab/General.php b/app/code/Magento/Backend/Block/System/Design/Edit/Tab/General.php
index b353c44dd71..32a3ef650fe 100644
--- a/app/code/Magento/Backend/Block/System/Design/Edit/Tab/General.php
+++ b/app/code/Magento/Backend/Block/System/Design/Edit/Tab/General.php
@@ -32,40 +32,32 @@ class General extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_labelFactory;
 
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_backendSession;
-
     /**
      * @var \Magento\Core\Model\System\Store
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
-     * @param \Magento\Backend\Model\Session $backendSession
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
-        \Magento\Backend\Model\Session $backendSession,
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_labelFactory = $labelFactory;
-        $this->_backendSession = $backendSession;
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Shipping/Ups.php b/app/code/Magento/Backend/Block/System/Shipping/Ups.php
index 17d4f85f699..39c77447a8d 100644
--- a/app/code/Magento/Backend/Block/System/Shipping/Ups.php
+++ b/app/code/Magento/Backend/Block/System/Shipping/Ups.php
@@ -41,31 +41,23 @@ class Ups extends \Magento\Backend\Block\Template
      */
     protected $_websiteModel;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeConfig;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Usa\Model\Shipping\Carrier\Ups $shippingModel
-     * @param \Magento\Core\Model\Website $websiteModel
-     * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Usa\Model\Shipping\Carrier\Ups $shippingModel
+     * @param \Magento\Core\Model\Website $websiteModel
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Usa\Model\Shipping\Carrier\Ups $shippingModel,
-        \Magento\Core\Model\Website $websiteModel,
-        \Magento\Core\Model\Store\Config $storeConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Usa\Model\Shipping\Carrier\Ups $shippingModel,
+        \Magento\Core\Model\Website $websiteModel,
+        array $data = array()
+    ) {
         $this->_shippingModel = $shippingModel;
         $this->_websiteModel = $websiteModel;
-        $this->_storeConfig = $storeConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Store/Edit.php b/app/code/Magento/Backend/Block/System/Store/Edit.php
index c46b8beaf38..e43f5746b0f 100644
--- a/app/code/Magento/Backend/Block/System/Store/Edit.php
+++ b/app/code/Magento/Backend/Block/System/Store/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Group.php b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Group.php
index ad1392b7b5d..65fce16e9cb 100644
--- a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Group.php
+++ b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Group.php
@@ -54,30 +54,30 @@ class Group
      */
     protected $_websiteFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\Config\Source\Category $category
-     * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Core\Model\Website\Factory $websiteFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Catalog\Model\Config\Source\Category $category
+     * @param \Magento\Core\Model\StoreFactory $storeFactory
+     * @param \Magento\Core\Model\Website\Factory $websiteFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Config\Source\Category $category,
-        \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Core\Model\Website\Factory $websiteFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Catalog\Model\Config\Source\Category $category,
+        \Magento\Core\Model\StoreFactory $storeFactory,
+        \Magento\Core\Model\Website\Factory $websiteFactory,
+        array $data = array()
+    ) {
         $this->_category = $category;
         $this->_storeFactory = $storeFactory;
         $this->_websiteFactory = $websiteFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Store.php b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Store.php
index fa9b3af8a5b..43006b0954a 100644
--- a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Store.php
+++ b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Store.php
@@ -49,27 +49,27 @@ class Store
      */
     protected $_groupFactory;
 
-    /**
-     * @param \Magento\Core\Model\Store\Group\Factory $groupFactory
-     * @param \Magento\Core\Model\Website\Factory $websiteFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Store\Group\Factory $groupFactory
+     * @param \Magento\Core\Model\Website\Factory $websiteFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Store\Group\Factory $groupFactory,
-        \Magento\Core\Model\Website\Factory $websiteFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Store\Group\Factory $groupFactory,
+        \Magento\Core\Model\Website\Factory $websiteFactory,
+        array $data = array()
+    ) {
         $this->_groupFactory = $groupFactory;
         $this->_websiteFactory = $websiteFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Website.php b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Website.php
index 45fa7e16811..284e0d7c0b7 100644
--- a/app/code/Magento/Backend/Block/System/Store/Edit/Form/Website.php
+++ b/app/code/Magento/Backend/Block/System/Store/Edit/Form/Website.php
@@ -44,24 +44,24 @@ class Website
      */
     protected $_groupFactory;
 
-    /**
-     * @param \Magento\Core\Model\Store\GroupFactory $groupFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Store\GroupFactory $groupFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Store\GroupFactory $groupFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Store\GroupFactory $groupFactory,
+        array $data = array()
+    ) {
         $this->_groupFactory = $groupFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/System/Variable/Edit.php b/app/code/Magento/Backend/Block/System/Variable/Edit.php
index 70e9d491045..c1c4668a1ff 100644
--- a/app/code/Magento/Backend/Block/System/Variable/Edit.php
+++ b/app/code/Magento/Backend/Block/System/Variable/Edit.php
@@ -38,20 +38,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Template.php b/app/code/Magento/Backend/Block/Template.php
index aff926903f8..f7f0f0dbb6b 100644
--- a/app/code/Magento/Backend/Block/Template.php
+++ b/app/code/Magento/Backend/Block/Template.php
@@ -31,18 +31,13 @@ namespace Magento\Backend\Block;
  *
  * @SuppressWarnings(PHPMD.NumberOfChildren)
  */
-class Template extends \Magento\Core\Block\Template
+class Template extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\AuthorizationInterface
      */
     protected $_authorization;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\LocaleInterface
      */
@@ -54,20 +49,25 @@ class Template extends \Magento\Core\Block\Template
     protected $mathRandom;
 
     /**
-     * @param \Magento\Core\Helper\Data $coreData
+     * @var \Magento\Backend\Model\Session
+     */
+    protected $_backendSession;
+
+    /**
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
-        $this->_storeManager = $context->getStoreManager();
         $this->_locale = $context->getLocale();
         $this->_authorization = $context->getAuthorization();
         $this->mathRandom = $context->getMathRandom();
-        parent::__construct($coreData, $context, $data);
+        $this->_backendSession = $context->getBackendSession();
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Template/Context.php b/app/code/Magento/Backend/Block/Template/Context.php
index 0ef867226f9..ca04a1cafaa 100644
--- a/app/code/Magento/Backend/Block/Template/Context.php
+++ b/app/code/Magento/Backend/Block/Template/Context.php
@@ -28,7 +28,7 @@ namespace Magento\Backend\Block\Template;
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Context extends \Magento\Core\Block\Template\Context
+class Context extends \Magento\View\Block\Template\Context
 {
     /**
      * @var \Magento\AuthorizationInterface
@@ -36,17 +36,16 @@ class Context extends \Magento\Core\Block\Template\Context
     protected $_authorization;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Math\Random
      */
-    protected $_storeManager;
+    protected $mathRandom;
 
     /**
-     * @var \Magento\Math\Random
+     * @var \Magento\Backend\Model\Session
      */
-    protected $mathRandom;
+    protected $_backendSession;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\App\RequestInterface $request
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Event\ManagerInterface $eventManager
@@ -57,7 +56,7 @@ class Context extends \Magento\Core\Block\Template\Context
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\App\FrontController $frontController
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\App\Cache\StateInterface $cacheState
@@ -65,20 +64,21 @@ class Context extends \Magento\Core\Block\Template\Context
      * @param \Magento\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\View\FileSystem $viewFileSystem
-     * @param \Magento\View\TemplateEngineFactory $engineFactory
-     * @param \Magento\AuthorizationInterface $authorization
+     * @param \Magento\View\TemplateEnginePool $enginePool
      * @param \Magento\Core\Model\App $app
      * @param \Magento\App\State $appState
      * @param \Magento\Escaper $escaper
      * @param \Magento\Filter\FilterManager $filterManager
-     * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\AuthorizationInterface $authorization
+     * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Math\Random $mathRandom
-     *
+     * @param array $data
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\App\RequestInterface $request,
         \Magento\View\LayoutInterface $layout,
         \Magento\Event\ManagerInterface $eventManager,
@@ -89,7 +89,7 @@ class Context extends \Magento\Core\Block\Template\Context
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\App\FrontController $frontController,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         \Magento\View\Url $viewUrl,
         \Magento\View\ConfigInterface $viewConfig,
         \Magento\App\Cache\StateInterface $cacheState,
@@ -97,16 +97,21 @@ class Context extends \Magento\Core\Block\Template\Context
         \Magento\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\View\FileSystem $viewFileSystem,
-        \Magento\View\TemplateEngineFactory $engineFactory,
-        \Magento\AuthorizationInterface $authorization,
+        \Magento\View\TemplateEnginePool $enginePool,
         \Magento\Core\Model\App $app,
         \Magento\App\State $appState,
         \Magento\Escaper $escaper,
         \Magento\Filter\FilterManager $filterManager,
-        \Magento\Backend\Model\Session $backendSession,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Math\Random $mathRandom
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\AuthorizationInterface $authorization,
+        \Magento\Backend\Model\Session $backendSession,
+        \Magento\Math\Random $mathRandom,
+        array $data = array()
     ) {
+        $this->_authorization = $authorization;
+        $this->_backendSession = $backendSession;
+        $this->mathRandom = $mathRandom;
         parent::__construct(
             $request,
             $layout,
@@ -126,23 +131,22 @@ class Context extends \Magento\Core\Block\Template\Context
             $logger,
             $filesystem,
             $viewFileSystem,
-            $engineFactory,
+            $enginePool,
             $app,
             $appState,
             $escaper,
             $filterManager,
-            $locale
+            $locale,
+            $storeManager,
+            $data
         );
-        $this->_storeManager = $storeManager;
-        $this->_authorization = $authorization;
-        $this->_backendSession = $backendSession;
-        $this->mathRandom = $mathRandom;
     }
 
+
     /**
      * Get store manager
      *
-     * @return \Magento\Core\Model\StoreManager
+     * @return \Magento\Core\Model\StoreManagerInterface
      */
     public function getStoreManager()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Accordion.php b/app/code/Magento/Backend/Block/Widget/Accordion.php
index ddddf6e40ee..7de430c0a74 100644
--- a/app/code/Magento/Backend/Block/Widget/Accordion.php
+++ b/app/code/Magento/Backend/Block/Widget/Accordion.php
@@ -57,7 +57,7 @@ class Accordion extends \Magento\Backend\Block\Widget
             ->setData($config)
             ->setAccordion($this)
             ->setId($itemId);
-        if (isset($config['content']) && $config['content'] instanceof \Magento\Core\Block\AbstractBlock) {
+        if (isset($config['content']) && $config['content'] instanceof \Magento\View\Block\AbstractBlock) {
             $this->_items[$itemId]->setChild($itemId.'_content', $config['content']);
         }
             
diff --git a/app/code/Magento/Backend/Block/Widget/Accordion/Item.php b/app/code/Magento/Backend/Block/Widget/Accordion/Item.php
index b79c033f939..85b65c92a21 100644
--- a/app/code/Magento/Backend/Block/Widget/Accordion/Item.php
+++ b/app/code/Magento/Backend/Block/Widget/Accordion/Item.php
@@ -64,7 +64,7 @@ class Item extends \Magento\Backend\Block\Widget
         if (is_string($content)) {
             return $content;
         }
-        if ($content instanceof \Magento\Core\Block\AbstractBlock) {
+        if ($content instanceof \Magento\View\Block\AbstractBlock) {
             return $content->toHtml();
         }
         return null;
diff --git a/app/code/Magento/Backend/Block/Widget/Container.php b/app/code/Magento/Backend/Block/Widget/Container.php
index df31be59299..3cdb73c67b4 100644
--- a/app/code/Magento/Backend/Block/Widget/Container.php
+++ b/app/code/Magento/Backend/Block/Widget/Container.php
@@ -202,7 +202,7 @@ class Container extends \Magento\Backend\Block\Template
     /**
      * Preparing child blocks for each added button
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Form.php b/app/code/Magento/Backend/Block/Widget/Form.php
index 8ca216c0de5..d3f6dd06e7a 100644
--- a/app/code/Magento/Backend/Block/Widget/Form.php
+++ b/app/code/Magento/Backend/Block/Widget/Form.php
@@ -47,18 +47,18 @@ class Form extends \Magento\Backend\Block\Widget
      */
     protected $_locale;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        array $data = array()
+    ) {
         $this->_locale = $context->getLocale();
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -78,7 +78,7 @@ class Form extends \Magento\Backend\Block\Widget
      *
      * You can redefine this method in child classes for changing layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -154,7 +154,7 @@ class Form extends \Magento\Backend\Block\Widget
     /**
      * This method is called before rendering HTML
      *
-     * @return \Magento\Backend\Block\Widget\Form|\Magento\Core\Block\AbstractBlock
+     * @return \Magento\Backend\Block\Widget\Form|\Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Form/Container.php b/app/code/Magento/Backend/Block/Widget/Form/Container.php
index ec3aa2de942..a2494e34954 100644
--- a/app/code/Magento/Backend/Block/Widget/Form/Container.php
+++ b/app/code/Magento/Backend/Block/Widget/Form/Container.php
@@ -84,7 +84,7 @@ class Container extends \Magento\Backend\Block\Widget\Container
     /**
      * Create form block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Form/Element/Dependence.php b/app/code/Magento/Backend/Block/Widget/Form/Element/Dependence.php
index 898ee8d4130..8d9d9de344b 100644
--- a/app/code/Magento/Backend/Block/Widget/Form/Element/Dependence.php
+++ b/app/code/Magento/Backend/Block/Widget/Form/Element/Dependence.php
@@ -78,18 +78,18 @@ class Dependence extends \Magento\Backend\Block\AbstractBlock
      */
     protected $_fieldFactory;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Backend\Model\Config\Structure\Element\Dependency\FieldFactory $fieldFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Config\Structure\Element\Dependency\FieldFactory $fieldFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Backend\Model\Config\Structure\Element\Dependency\FieldFactory $fieldFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Config\Structure\Element\Dependency\FieldFactory $fieldFactory,
+        array $data = array()
+    ) {
         $this->_coreData = $coreData;
         $this->_fieldFactory = $fieldFactory;
         parent::__construct($context, $data);
diff --git a/app/code/Magento/Backend/Block/Widget/Form/Generic.php b/app/code/Magento/Backend/Block/Widget/Form/Generic.php
index 8cee1231e12..713f3e12161 100644
--- a/app/code/Magento/Backend/Block/Widget/Form/Generic.php
+++ b/app/code/Magento/Backend/Block/Widget/Form/Generic.php
@@ -47,22 +47,22 @@ class Generic extends \Magento\Backend\Block\Widget\Form
      */
     protected $_coreRegistry;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_formFactory = $formFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid.php b/app/code/Magento/Backend/Block/Widget/Grid.php
index 582288bc398..1ccbc22101f 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid.php
@@ -109,11 +109,6 @@ class Grid extends \Magento\Backend\Block\Widget
 
     protected $_template = 'Magento_Backend::widget/grid.phtml';
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\Url
      */
@@ -125,23 +120,20 @@ class Grid extends \Magento\Backend\Block\Widget
     protected $_backendSession;
 
     /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Url $urlModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Url $urlModel,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_urlModel = $urlModel;
         $this->_backendSession = $context->getBackendSession();
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
@@ -216,7 +208,7 @@ class Grid extends \Magento\Backend\Block\Widget
      * Retrieve export block
      *
      * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getExportBlock()
     {
@@ -250,7 +242,7 @@ class Grid extends \Magento\Backend\Block\Widget
      * Retrieve column by id
      *
      * @param string $columnId
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getColumn($columnId)
     {
@@ -412,7 +404,7 @@ class Grid extends \Magento\Backend\Block\Widget
     /**
      * Get massaction block
      *
-     * @return bool|\Magento\Core\Block\AbstractBlock
+     * @return bool|\Magento\View\Block\AbstractBlock
      */
     public function getMassactionBlock()
     {
@@ -444,7 +436,7 @@ class Grid extends \Magento\Backend\Block\Widget
     /**
      * Initialize grid before rendering
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Extended.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Extended.php
index 0dccc13fc7f..4351f21f1ad 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Extended.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Extended.php
@@ -25,22 +25,22 @@ namespace Magento\Backend\Block\Widget\Grid\Column;
 
 class Extended extends \Magento\Backend\Block\Widget\Grid\Column
 {
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        array $data = array()
+    ) {
         $this->_rendererTypes['options'] = 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Extended';
         $this->_filterTypes['options'] = 'Magento\Backend\Block\Widget\Grid\Column\Filter\Select\Extended';
         $this->_rendererTypes['select'] = 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Select\Extended';
         $this->_rendererTypes['checkbox'] = 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Checkboxes\Extended';
         $this->_rendererTypes['radio'] = 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Radio\Extended';
 
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Filter/Date.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Filter/Date.php
index 016098c1020..478e5e43de2 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Filter/Date.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Filter/Date.php
@@ -32,31 +32,23 @@ namespace Magento\Backend\Block\Widget\Grid\Column\Filter;
 class Date
     extends \Magento\Backend\Block\Widget\Grid\Column\Filter\AbstractFilter
 {
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Math\Random
      */
     protected $mathRandom;
 
     /**
-     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
      * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
      * @param \Magento\Math\Random $mathRandom
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Resource\Helper $resourceHelper,
         \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\Core\Model\Resource\Helper $resourceHelper,
         \Magento\Math\Random $mathRandom,
         array $data = array()
     ) {
-        $this->_locale = $locale;
         $this->mathRandom = $mathRandom;
         parent::__construct($context, $resourceHelper, $data);
     }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php
index 1580a87eb70..848a262308c 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Multistore.php
@@ -36,26 +36,16 @@ namespace Magento\Backend\Block\Widget\Grid\Column;
 class Multistore extends \Magento\Backend\Block\Widget\Grid\Column
 {
     /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_storeManager = $storeManager;
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/AbstractRenderer.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/AbstractRenderer.php
index 2ecd1b4578a..7e4902de200 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/AbstractRenderer.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/AbstractRenderer.php
@@ -35,7 +35,8 @@
 namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
 
 abstract class AbstractRenderer
-    extends \Magento\Backend\Block\AbstractBlock implements \Magento\Backend\Block\Widget\Grid\Column\Renderer\RendererInterface
+    extends \Magento\Backend\Block\AbstractBlock
+    implements \Magento\Backend\Block\Widget\Grid\Column\Renderer\RendererInterface
 {
     protected $_defaultWidth;
     protected $_column;
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Action.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Action.php
index f054a26bd2c..8c88e4caf3b 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Action.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Action.php
@@ -44,16 +44,16 @@ class Action
      */
     protected $_coreData = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        array $data = array()
+    ) {
         $this->_coreData = $coreData;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Country.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Country.php
index b89e009ccff..6c2c6988620 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Country.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Country.php
@@ -32,25 +32,6 @@ namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
 class Country
     extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
 {
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($context, $data);
-    }
-
     /**
      * Render country grid column
      *
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 6ffbd69dcc4..90272e8d55d 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
@@ -47,7 +47,7 @@ class Currency
     /**
      * Application object
      *
-     * @var \Magento\Core\Model\App
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -66,24 +66,20 @@ class Currency
     /**
      * @param \Magento\Backend\Block\Context $context
      * @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\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Directory\Model\Currency\DefaultLocator $currencyLocator,
         array $data = array()
     ) {
         parent::__construct($context, $data);
         $this->_storeManager = $storeManager;
-        $this->_locale = $locale;
         $this->_currencyLocator = $currencyLocator;
     }
 
-
     /**
      * Renders grid column
      *
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Date.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Date.php
index a28975c7375..03b9c3467ae 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Date.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Date.php
@@ -38,25 +38,6 @@ class Date
      */
     protected static $_format = null;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($context, $data);
-    }
-
     /**
      * Retrieve date format
      *
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Datetime.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Datetime.php
index 6eb6c5bf23e..ce4a4bae9da 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Datetime.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Datetime.php
@@ -37,25 +37,6 @@ class Datetime
      */
     protected static $_format = null;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($context, $data);
-    }
-
     /**
      * Retrieve datetime format
      *
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Longtext.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Longtext.php
index f1521180522..587e04e9a59 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Longtext.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Longtext.php
@@ -31,27 +31,6 @@ namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
  */
 class Longtext extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer
 {
-    /**
-     * Core string
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Filter\FilterManager $filter
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Block\Context $context,
-        \Magento\Filter\FilterManager $filter,
-        array $data = array()
-    ) {
-        $this->filter = $filter;
-        parent::__construct($context, $data);
-    }
-
     /**
      * Render contents as a long text
      *
@@ -71,7 +50,7 @@ class Longtext extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Abstra
         if ($this->getColumn()->getTruncate()) {
             $truncateLength = $this->getColumn()->getTruncate();
         }
-        $text = $this->filter->truncate(parent::_getValue($row), array('length' => $truncateLength));
+        $text = $this->filterManager->truncate(parent::_getValue($row), array('length' => $truncateLength));
         if ($this->getColumn()->getEscape()) {
             $text = $this->escapeHtml($text);
         }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Price.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Price.php
index 81b89f2365d..63b249785c5 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Price.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Price.php
@@ -38,25 +38,6 @@ class Price
      */
     protected static $_currencies = array();
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($context, $data);
-    }
-
     /**
      * Renders grid column
      *
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/ColumnSet.php b/app/code/Magento/Backend/Block/Widget/Grid/ColumnSet.php
index 19c2c124541..20771cbace8 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/ColumnSet.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/ColumnSet.php
@@ -34,7 +34,7 @@ namespace Magento\Backend\Block\Widget\Grid;
 /**
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class ColumnSet extends \Magento\Core\Block\Template
+class ColumnSet extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Backend\Model\Widget\Grid\Row\UrlGenerator
@@ -120,17 +120,16 @@ class ColumnSet extends \Magento\Core\Block\Template
     protected $_totals = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory
-     * $generatorFactory
+     * @param \Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory $generatorFactory
      * @param \Magento\Backend\Model\Widget\Grid\SubTotals $subtotals
      * @param \Magento\Backend\Model\Widget\Grid\Totals $totals
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory $generatorFactory,
         \Magento\Backend\Model\Widget\Grid\SubTotals $subtotals,
         \Magento\Backend\Model\Widget\Grid\Totals $totals,
@@ -150,7 +149,7 @@ class ColumnSet extends \Magento\Core\Block\Template
             array_key_exists('filter_visibility', $data) ? (bool) $data['filter_visibility'] : true
         );
 
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
 
         $this->setEmptyText(__(
             isset($data['empty_text'])? $data['empty_text'] : 'We couldn\'t find any records.'
@@ -243,7 +242,7 @@ class ColumnSet extends \Magento\Core\Block\Template
     /**
      * Prepare block for rendering
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Export.php b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
index 67bf75f7c95..1c7ea433520 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Export.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
@@ -64,20 +64,20 @@ class Export
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Data\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Data\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Data\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
@@ -157,7 +157,7 @@ class Export
     /**
      * Prepare export button
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
index 72bdd253523..277948d3139 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
@@ -190,7 +190,7 @@ class Extended
     /**
      * Initialize child blocks
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -223,7 +223,7 @@ class Extended
     /**
      * Retrieve column set block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getColumnSet()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Additional.php b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Additional.php
index 69ccd8cb849..5695da8fee3 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Additional.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Additional.php
@@ -44,23 +44,23 @@ class Additional extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_handlerFactory;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Layout\Argument\HandlerFactory $handlerFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Layout\Argument\HandlerFactory $handlerFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Layout\Argument\HandlerFactory $handlerFactory,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Layout\Argument\HandlerFactory $handlerFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
 
         $this->_handlerFactory = $handlerFactory;
     }
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Extended.php b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Extended.php
index 9d439f94933..f706254a356 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Extended.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Extended.php
@@ -59,20 +59,20 @@ class Extended extends \Magento\Backend\Block\Widget
      */
     protected $_backendData = null;
 
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Helper\Data $backendData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Helper\Data $backendData,
+        array $data = array()
+    ) {
         $this->_backendData = $backendData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -92,7 +92,7 @@ class Extended extends \Magento\Backend\Block\Widget
      *      'complete' => string, // Only for ajax enabled grid (optional)
      *      'url'      => string,
      *      'confirm'  => string, // text of confirmation of this action (optional)
-     *      'additional' => string|array|\Magento\Core\Block\AbstractBlock // (optional)
+     *      'additional' => string|array|\Magento\View\Block\AbstractBlock // (optional)
      * );
      *
      * @param string $itemId
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Item.php b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Item.php
index 1f2515a119b..742edfbfb54 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Item.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Massaction/Item.php
@@ -64,7 +64,7 @@ class Item extends \Magento\Backend\Block\Widget
     /**
      * Set additional action block for this item
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
+     * @param string|\Magento\View\Block\AbstractBlock $block
      * @return \Magento\Backend\Block\Widget\Grid\Massaction\Item
      * @throws \Magento\Core\Exception
      */
@@ -74,7 +74,7 @@ class Item extends \Magento\Backend\Block\Widget
             $block = $this->getLayout()->createBlock($block);
         } elseif (is_array($block)) {
             $block = $this->_createFromConfig($block);
-        } elseif (!($block instanceof \Magento\Core\Block\AbstractBlock)) {
+        } elseif (!($block instanceof \Magento\View\Block\AbstractBlock)) {
             throw new \Magento\Core\Exception('Unknown block type');
         }
 
@@ -99,7 +99,7 @@ class Item extends \Magento\Backend\Block\Widget
     /**
      * Retrive additional action block for this item
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getAdditionalActionBlock()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Serializer.php b/app/code/Magento/Backend/Block/Widget/Grid/Serializer.php
index c1201d0471e..c28b6ef2cdc 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Serializer.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Serializer.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Block\Widget\Grid;
 
-class Serializer extends \Magento\Core\Block\Template
+class Serializer extends \Magento\View\Block\Template
 {
     /**
      * Preparing global layout
diff --git a/app/code/Magento/Backend/Block/Widget/Tabs.php b/app/code/Magento/Backend/Block/Widget/Tabs.php
index cfcd8cf2833..076d838ef9a 100644
--- a/app/code/Magento/Backend/Block/Widget/Tabs.php
+++ b/app/code/Magento/Backend/Block/Widget/Tabs.php
@@ -60,20 +60,20 @@ class Tabs extends \Magento\Backend\Block\Widget
      */
     protected $_authSession;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        array $data = array()
+    ) {
         $this->_authSession = $authSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/AbstractAction.php b/app/code/Magento/Backend/Controller/AbstractAction.php
deleted file mode 100644
index f5969a7cf01..00000000000
--- a/app/code/Magento/Backend/Controller/AbstractAction.php
+++ /dev/null
@@ -1,587 +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)
- */
-
-namespace Magento\Backend\Controller;
-
-/**
- * Generic backend controller
- *
- * @SuppressWarnings(PHPMD.NumberOfChildren)
- */
-abstract class AbstractAction extends \Magento\Core\Controller\Varien\Action
-{
-    /**
-     * Name of "is URLs checked" flag
-     */
-    const FLAG_IS_URLS_CHECKED = 'check_url_settings';
-
-    /**
-     * Session namespace to refer in other places
-     */
-    const SESSION_NAMESPACE = 'adminhtml';
-
-    /**
-     * Array of actions which can be processed without secret key validation
-     *
-     * @var array
-     */
-    protected $_publicActions = array();
-
-    /**
-     * Namespace for session.
-     *
-     * @var string
-     */
-    protected $_sessionNamespace = self::SESSION_NAMESPACE;
-
-    /**
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_helper;
-
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_session;
-
-    /**
-     * @var \Magento\AuthorizationInterface
-     */
-    protected $_authorization;
-
-    /**
-     * @var \Magento\Core\Model\Translate
-     */
-    protected $_translator;
-
-    /**
-     * @var \Magento\Backend\Model\Auth
-     */
-    protected $_auth;
-
-    /**
-     * @var \Magento\Backend\Model\Url
-     */
-    protected $_backendUrl;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @var bool
-     */
-    protected $_canUseBaseUrl;
-
-    /**
-     * @param \Magento\Backend\Controller\Context $context
-     */
-    public function __construct(\Magento\Backend\Controller\Context $context)
-    {
-        parent::__construct($context);
-        $this->_helper = $context->getHelper();
-        $this->_session = $context->getSession();
-        $this->_authorization = $context->getAuthorization();
-        $this->_translator = $context->getTranslator();
-        $this->_auth = $context->getAuth();
-        $this->_backendUrl = $context->getBackendUrl();
-        $this->_locale = $context->getLocale();
-        $this->_canUseBaseUrl = $context->getCanUseBaseUrl();
-    }
-
-    protected function _isAllowed()
-    {
-        return true;
-    }
-
-    /**
-     * Retrieve adminhtml session model object
-     *
-     * @return \Magento\Backend\Model\Session
-     */
-    protected function _getSession()
-    {
-        return $this->_session;
-    }
-
-    /**
-     * Retrieve base adminhtml helper
-     *
-     * @return \Magento\Backend\Helper\Data
-     */
-    protected function _getHelper()
-    {
-        return $this->_helper;
-    }
-
-    /**
-     * Define active menu item in menu block
-     * @param string $itemId current active menu item
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _setActiveMenu($itemId)
-    {
-        /** @var $menuBlock \Magento\Backend\Block\Menu */
-        $menuBlock = $this->getLayout()->getBlock('menu');
-        $menuBlock->setActive($itemId);
-        $parents = $menuBlock->getMenuModel()->getParentItems($itemId);
-        $parents = array_reverse($parents);
-        foreach ($parents as $item) {
-            /** @var $item \Magento\Backend\Model\Menu\Item */
-            array_unshift($this->_titles, $item->getTitle());
-        }
-        return $this;
-    }
-
-    /**
-     * @param $label
-     * @param $title
-     * @param null $link
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _addBreadcrumb($label, $title, $link=null)
-    {
-        $this->getLayout()->getBlock('breadcrumbs')->addLink($label, $title, $link);
-        return $this;
-    }
-
-    /**
-     * @param \Magento\Core\Block\AbstractBlock $block
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _addContent(\Magento\Core\Block\AbstractBlock $block)
-    {
-        return $this->_moveBlockToContainer($block, 'content');
-    }
-
-    /**
-     * @param \Magento\Core\Block\AbstractBlock $block
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _addLeft(\Magento\Core\Block\AbstractBlock $block)
-    {
-        return $this->_moveBlockToContainer($block, 'left');
-    }
-
-    /**
-     * @param \Magento\Core\Block\AbstractBlock $block
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _addJs(\Magento\Core\Block\AbstractBlock $block)
-    {
-        return $this->_moveBlockToContainer($block, 'js');
-    }
-
-    /**
-     * Set specified block as an anonymous child to specified container
-     *
-     * The block will be moved to the container from previous parent after all other elements
-     *
-     * @param \Magento\Core\Block\AbstractBlock $block
-     * @param string $containerName
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    private function _moveBlockToContainer(\Magento\Core\Block\AbstractBlock $block, $containerName)
-    {
-        $this->getLayout()->setChild($containerName, $block->getNameInLayout(), '');
-        return $this;
-    }
-
-    /**
-     * Controller predispatch method
-     *
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    public function preDispatch()
-    {
-        /** @var $storeManager \Magento\Core\Model\StoreManager */
-        $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-        $storeManager->setCurrentStore('admin');
-
-        $this->_eventManager->dispatch('adminhtml_controller_action_predispatch_start', array());
-        parent::preDispatch();
-        if (!$this->_processUrlKeys()) {
-            return $this;
-        }
-
-        if ($this->getRequest()->isDispatched()
-            && $this->getRequest()->getActionName() !== 'denied'
-            && !$this->_isAllowed()) {
-            $this->_forward('denied');
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return $this;
-        }
-
-        if ($this->_isUrlChecked()) {
-            $this->setFlag('', self::FLAG_IS_URLS_CHECKED, true);
-        }
-
-        $this->_processLocaleSettings();
-
-        return $this;
-    }
-
-    /**
-     * Check whether url is checked
-     *
-     * @return bool
-     */
-    protected function _isUrlChecked()
-    {
-        return !$this->getFlag('', self::FLAG_IS_URLS_CHECKED)
-            && !$this->getRequest()->getParam('forwarded')
-            && !$this->_getSession()->getIsUrlNotice(true)
-            && !$this->_canUseBaseUrl;
-    }
-
-    /**
-     * Check url keys. If non valid - redirect
-     *
-     * @return bool
-     */
-    public function _processUrlKeys()
-    {
-        $_isValidFormKey = true;
-        $_isValidSecretKey = true;
-        $_keyErrorMsg = '';
-        if ($this->_auth->isLoggedIn()) {
-            if ($this->getRequest()->isPost()) {
-                $_isValidFormKey = $this->_validateFormKey();
-                $_keyErrorMsg = __('Invalid Form Key. Please refresh the page.');
-            } elseif ($this->_backendUrl->useSecretKey()) {
-                $_isValidSecretKey = $this->_validateSecretKey();
-                $_keyErrorMsg = __('You entered an invalid Secret Key. Please refresh the page.');
-            }
-        }
-        if (!$_isValidFormKey || !$_isValidSecretKey) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
-            if ($this->getRequest()->getQuery('isAjax', false) || $this->getRequest()->getQuery('ajax', false)) {
-                $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(array(
-                    'error' => true,
-                    'message' => $_keyErrorMsg
-                )));
-            } else {
-                $this->_redirect($this->_backendUrl->getStartupPageUrl());
-            }
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Set session locale,
-     * process force locale set through url params
-     *
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _processLocaleSettings()
-    {
-        $forceLocale = $this->getRequest()->getParam('locale', null);
-        if ($this->_objectManager->get('Magento\Core\Model\Locale\Validator')->isValid($forceLocale)) {
-            $this->_getSession()->setSessionLocale($forceLocale);
-        }
-
-        if (is_null($this->_getSession()->getLocale())) {
-            $this->_getSession()->setLocale($this->_locale->getLocaleCode());
-        }
-
-        return $this;
-    }
-
-    /**
-     * Fire predispatch events, execute extra logic after predispatch
-     */
-    protected function _firePreDispatchEvents()
-    {
-        $this->_initAuthentication();
-        parent::_firePreDispatchEvents();
-    }
-
-    /**
-     * Start authentication process
-     *
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _initAuthentication()
-    {
-        $request = $this->getRequest();
-        $requestedActionName = $request->getActionName();
-        $openActions = array(
-            'forgotpassword',
-            'resetpassword',
-            'resetpasswordpost',
-            'logout',
-            'refresh' // captcha refresh
-        );
-        if (in_array($requestedActionName, $openActions)) {
-            $request->setDispatched(true);
-        } else {
-            if ($this->_auth->getUser()) {
-                $this->_auth->getUser()->reload();
-            }
-            if (!$this->_auth->isLoggedIn()) {
-                $this->_processNotLoggedInUser($request);
-            }
-        }
-        $this->_auth->getAuthStorage()->refreshAcl();
-        return $this;
-    }
-
-    /**
-     * Process not logged in user data
-     *
-     * @param \Magento\App\RequestInterface $request
-     */
-    protected function _processNotLoggedInUser(\Magento\App\RequestInterface $request)
-    {
-        $isRedirectNeeded = false;
-        if ($request->getPost('login') && $this->_performLogin()) {
-            $isRedirectNeeded = $this->_redirectIfNeededAfterLogin();
-        }
-        if (!$isRedirectNeeded && !$request->getParam('forwarded')) {
-            if ($request->getParam('isIframe')) {
-                $request->setParam('forwarded', true)
-                    ->setRouteName('adminhtml')
-                    ->setControllerName('auth')
-                    ->setActionName('deniedIframe')
-                    ->setDispatched(false);
-            } elseif ($request->getParam('isAjax')) {
-                $request->setParam('forwarded', true)
-                    ->setRouteName('adminhtml')
-                    ->setControllerName('auth')
-                    ->setActionName('deniedJson')
-                    ->setDispatched(false);
-            } else {
-                $request->setParam('forwarded', true)
-                    ->setRouteName('adminhtml')
-                    ->setControllerName('auth')
-                    ->setActionName('login')
-                    ->setDispatched(false);
-            }
-        }
-    }
-
-    /**
-     * Performs login, if user submitted login form
-     *
-     * @return boolean
-     */
-    protected function _performLogin()
-    {
-        $outputValue = true;
-        $postLogin  = $this->getRequest()->getPost('login');
-        $username   = isset($postLogin['username']) ? $postLogin['username'] : '';
-        $password   = isset($postLogin['password']) ? $postLogin['password'] : '';
-        $this->getRequest()->setPost('login', null);
-
-        try {
-            $this->_auth->login($username, $password);
-        } catch (\Magento\Backend\Model\Auth\Exception $e) {
-            if (!$this->getRequest()->getParam('messageSent')) {
-                $this->_session->addError($e->getMessage());
-                $this->getRequest()->setParam('messageSent', true);
-                $outputValue = false;
-            }
-        }
-        return $outputValue;
-    }
-
-    /**
-     * Checks, whether Magento requires redirection after successful admin login, and redirects user, if needed
-     *
-     * @return bool
-     */
-    protected function _redirectIfNeededAfterLogin()
-    {
-        $requestUri = null;
-
-        // Checks, whether secret key is required for admin access or request uri is explicitly set
-        if ($this->_backendUrl->useSecretKey()) {
-            $requestUri = $this->_backendUrl->getUrl('*/*/*', array('_current' => true));
-        } elseif ($this->getRequest()) {
-            $requestUri = $this->getRequest()->getRequestUri();
-        }
-
-        if (!$requestUri) {
-            return false;
-        }
-
-        $this->getResponse()->setRedirect($requestUri);
-        $this->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
-        return true;
-    }
-
-    public function deniedAction()
-    {
-        $this->getResponse()->setHeader('HTTP/1.1', '403 Forbidden');
-        if (!$this->_auth->isLoggedIn()) {
-            $this->_redirect('*/auth/login');
-            return;
-        }
-        $this->loadLayout(array('default', 'adminhtml_denied'));
-        $this->renderLayout();
-    }
-
-    /**
-     * Load layout by handles and verify user ACL
-     *
-     * @param string|null|bool|array $ids
-     * @param bool $generateBlocks
-     * @param bool $generateXml
-     * @return \Magento\Backend\Controller\AbstractAction|\Magento\Core\Controller\Varien\Action
-     */
-    public function loadLayout($ids = null, $generateBlocks = true, $generateXml = true)
-    {
-        parent::loadLayout($ids, false, $generateXml);
-        $this->_objectManager->get('Magento\Core\Model\Layout\Filter\Acl')
-            ->filterAclNodes($this->getLayout()->getNode());
-        if ($generateBlocks) {
-            $this->generateLayoutBlocks();
-            $this->_isLayoutLoaded = true;
-        }
-        $this->_initLayoutMessages('Magento\Backend\Model\Session');
-        return $this;
-    }
-
-    /**
-     * No route action
-     *
-     * @param null $coreRoute
-     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
-     */
-    public function norouteAction($coreRoute = null)
-    {
-        $this->getResponse()->setHeader('HTTP/1.1', '404 Not Found');
-        $this->getResponse()->setHeader('Status', '404 File not found');
-        $this->loadLayout(array('default', 'adminhtml_noroute'));
-        $this->renderLayout();
-    }
-
-    /**
-     * Set referrer url for redirect in response
-     *
-     * Is overridden here to set defaultUrl to admin url
-     *
-     * @param   string $defaultUrl
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _redirectReferer($defaultUrl = null)
-    {
-        $defaultUrl = empty($defaultUrl) ? $this->getUrl('*') : $defaultUrl;
-        parent::_redirectReferer($defaultUrl);
-        return $this;
-    }
-
-    /**
-     * Set redirect into response
-     *
-     * @param   string $path
-     * @param   array $arguments
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _redirect($path, $arguments=array())
-    {
-        $this->_getSession()->setIsUrlNotice($this->getFlag('', self::FLAG_IS_URLS_CHECKED));
-        $this->getResponse()->setRedirect($this->getUrl($path, $arguments));
-        return $this;
-    }
-
-    protected function _forward($action, $controller = null, $module = null, array $params = null)
-    {
-        $this->_getSession()->setIsUrlNotice($this->getFlag('', self::FLAG_IS_URLS_CHECKED));
-        return parent::_forward($action, $controller, $module, $params);
-    }
-
-    /**
-     * Generate url by route and parameters
-     *
-     * @param   string $route
-     * @param   array $params
-     * @return  string
-     */
-    public function getUrl($route = '', $params=array())
-    {
-        return $this->_getHelper()->getUrl($route, $params);
-    }
-
-    /**
-     * Validate Secret Key
-     *
-     * @return bool
-     */
-    protected function _validateSecretKey()
-    {
-        if (is_array($this->_publicActions) && in_array($this->getRequest()->getActionName(), $this->_publicActions)) {
-            return true;
-        }
-
-        $secretKey = $this->getRequest()->getParam(\Magento\Backend\Model\Url::SECRET_KEY_PARAM_NAME, null);
-        if (!$secretKey || $secretKey != $this->_backendUrl->getSecretKey()) {
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Render specified template
-     *
-     * @param string $tplName
-     * @param array $data parameters required by template
-     */
-    protected function _outTemplate($tplName, $data = array())
-    {
-        $this->_initLayoutMessages('Magento\Backend\Model\Session');
-        $block = $this->getLayout()->createBlock('Magento\Backend\Block\Template')->setTemplate("{$tplName}.phtml");
-        foreach ($data as $index => $value) {
-            $block->assign($index, $value);
-        }
-        $html = $block->toHtml();
-        $this->_objectManager->get('Magento\Core\Model\Translate')->processResponseBody($html);
-        $this->getResponse()->setBody($html);
-    }
-
-    /**
-     * Declare headers and content file in response for file download
-     *
-     * @param string $fileName
-     * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
-     * that case
-     * @param string $contentType
-     * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
-     * @return \Magento\Backend\Controller\AbstractAction
-     */
-    protected function _prepareDownloadResponse($fileName, $content, $contentType = 'application/octet-stream',
-        $contentLength = null
-    ) {
-        if ($this->_auth->getAuthStorage()->isFirstPageAfterLogin()) {
-            $this->_redirect($this->_backendUrl->getStartupPageUrl());
-            return $this;
-        }
-        return parent::_prepareDownloadResponse($fileName, $content, $contentType, $contentLength);
-    }
-}
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Ajax.php b/app/code/Magento/Backend/Controller/Adminhtml/Ajax.php
index a8ff8da09e0..174eb6e4501 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Ajax.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Ajax.php
@@ -23,7 +23,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml;
 
-class Ajax extends \Magento\Backend\Controller\Adminhtml\Action
+class Ajax extends \Magento\Backend\App\Action
 {
     /**
      * Ajax action for inline translation
@@ -36,6 +36,6 @@ class Ajax extends \Magento\Backend\Controller\Adminhtml\Action
         $translationHelper = $this->_objectManager->get('Magento\Core\Helper\Translate');
         $response = $translationHelper->apply($translationParams, $area);
         $this->getResponse()->setBody($response);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
     }
 }
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Auth.php b/app/code/Magento/Backend/Controller/Adminhtml/Auth.php
index 9e711ea79e0..513ac3505ff 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Auth.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Auth.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml;
 
-class Auth extends \Magento\Backend\Controller\AbstractAction
+class Auth extends \Magento\Backend\App\AbstractAction
 {
     /**
      * Administrator login action
@@ -43,8 +43,8 @@ class Auth extends \Magento\Backend\Controller\AbstractAction
             $this->_redirect($this->_backendUrl->getStartupPageUrl());
             return;
         }
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Cache.php b/app/code/Magento/Backend/Controller/Adminhtml/Cache.php
index 003fedf1b47..51c97b9f6e3 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Cache.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Cache.php
@@ -26,7 +26,9 @@
 
 namespace Magento\Backend\Controller\Adminhtml;
 
-class Cache extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Cache extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\App\Cache\TypeListInterface
@@ -44,13 +46,13 @@ class Cache extends \Magento\Backend\Controller\Adminhtml\Action
     private $_cacheFrontendPool;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param Action\Context $context
      * @param \Magento\App\Cache\TypeListInterface $cacheTypeList
      * @param \Magento\App\Cache\StateInterface $cacheState
      * @param \Magento\App\Cache\Frontend\Pool $cacheFrontendPool
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        Action\Context $context,
         \Magento\App\Cache\TypeListInterface $cacheTypeList,
         \Magento\App\Cache\StateInterface $cacheState,
         \Magento\App\Cache\Frontend\Pool $cacheFrontendPool
@@ -76,11 +78,11 @@ class Cache extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Cache Management'));
+        $this->_title->add(__('Cache Management'));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Adminhtml::system_cache')
-            ->renderLayout();
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Adminhtml::system_cache');
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Dashboard.php b/app/code/Magento/Backend/Controller/Adminhtml/Dashboard.php
index 859a2eb70bd..ae450db148e 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Dashboard.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Dashboard.php
@@ -33,16 +33,24 @@
  */
 namespace Magento\Backend\Controller\Adminhtml;
 
-class Dashboard extends \Magento\Backend\Controller\Adminhtml\Action
+class Dashboard extends \Magento\Backend\App\Action
 {
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     */
+    public function __construct(\Magento\Backend\App\Action\Context $context)
+    {
+        parent::__construct($context);
+    }
+
     public function indexAction()
     {
-        $this->_title(__('Dashboard'));
+        $this->_title->add(__('Dashboard'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Adminhtml::dashboard');
         $this->_addBreadcrumb(__('Dashboard'), __('Dashboard'));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -51,8 +59,8 @@ class Dashboard extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function productsViewedAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -61,8 +69,8 @@ class Dashboard extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function customersNewestAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -71,8 +79,8 @@ class Dashboard extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function customersMostAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     public function ajaxBlockAction()
@@ -85,7 +93,7 @@ class Dashboard extends \Magento\Backend\Controller\Adminhtml\Action
             ucwords(str_replace('_', ' ', $blockTab))
         );
         if (in_array($blockTab, array('tab_orders', 'tab_amounts', 'totals'))) {
-            $output = $this->getLayout()->createBlock('Magento\\Backend\\Block\\Dashboard\\' . $blockClassSuffix)
+            $output = $this->_view->getLayout()->createBlock('Magento\\Backend\\Block\\Dashboard\\' . $blockClassSuffix)
                 ->toHtml();
         }
         $this->getResponse()->setBody($output);
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Index.php b/app/code/Magento/Backend/Controller/Adminhtml/Index.php
index a9893978394..86347b3a4cd 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/Index.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Index.php
@@ -29,7 +29,9 @@
  */
 namespace Magento\Backend\Controller\Adminhtml;
 
-class Index extends \Magento\Backend\Controller\AbstractAction
+use Magento\App\Action\NotFoundException;
+
+class Index extends \Magento\Backend\App\AbstractAction
 {
     /**
      * Search modules list
@@ -39,11 +41,11 @@ class Index extends \Magento\Backend\Controller\AbstractAction
     protected $_searchModules;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param array $searchModules
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         array $searchModules = array()
     ) {
         $this->_searchModules = $searchModules;
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/Noroute.php b/app/code/Magento/Backend/Controller/Adminhtml/Noroute.php
new file mode 100644
index 00000000000..e1a69164759
--- /dev/null
+++ b/app/code/Magento/Backend/Controller/Adminhtml/Noroute.php
@@ -0,0 +1,39 @@
+<?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\Controller\Adminhtml;
+
+class Noroute extends \Magento\Backend\App\Action
+{
+    /**
+     * Noroute action
+     */
+    public function indexAction()
+    {
+        $this->getResponse()->setHeader('HTTP/1.1', '404 Not Found');
+        $this->getResponse()->setHeader('Status', '404 File not found');
+        $this->_view->loadLayout(array('default', 'adminhtml_noroute'));
+        $this->_view->renderLayout();
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System.php b/app/code/Magento/Backend/Controller/Adminhtml/System.php
index 3239b98f15b..3e47135ccfa 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System.php
@@ -33,17 +33,17 @@
  */
 namespace Magento\Backend\Controller\Adminhtml;
 
-class System extends \Magento\Backend\Controller\AbstractAction
+class System extends \Magento\Backend\App\AbstractAction
 {
     public function indexAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Adminhtml::system');
         $this->_addBreadcrumb(
             __('System'),
             __('System')
         );
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function setStoreAction()
@@ -52,7 +52,7 @@ class System extends \Magento\Backend\Controller\AbstractAction
         if ($storeId) {
             $this->_session->setStoreId($storeId);
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/AbstractConfig.php b/app/code/Magento/Backend/Controller/Adminhtml/System/AbstractConfig.php
index b85f4cdb54b..0f61f779381 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/AbstractConfig.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/AbstractConfig.php
@@ -29,7 +29,9 @@
  */
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-abstract class AbstractConfig extends \Magento\Backend\Controller\AbstractAction
+use Magento\App\Action\NotFoundException;
+
+abstract class AbstractConfig extends \Magento\Backend\App\AbstractAction
 {
     /**
      * @var \Magento\Backend\Model\Config\Structure
@@ -37,11 +39,11 @@ abstract class AbstractConfig extends \Magento\Backend\Controller\AbstractAction
     protected $_configStructure;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Backend\Model\Config\Structure $configStructure
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Backend\Model\Config\Structure $configStructure
     ) {
         parent::__construct($context);
@@ -49,23 +51,21 @@ abstract class AbstractConfig extends \Magento\Backend\Controller\AbstractAction
     }
 
     /**
-     * Controller pre-dispatch method
      * Check if current section is found and is allowed
      *
-     * @return \Magento\Backend\Controller\AbstractAction
+     * @param \Magento\App\RequestInterface $request
+     * @return $this|mixed
      */
-    public function preDispatch()
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
-        parent::preDispatch();
-
         $section = null;
-        if (!$this->getRequest()->getParam('section')) {
+        if (!$request->getParam('section')) {
             $section = $this->_configStructure->getFirstSection();
-            $this->getRequest()->setParam('section', $section->getId());
+            $request->setParam('section', $section->getId());
         } else {
-            $this->_isSectionAllowed($this->getRequest()->getParam('section'));
+            $this->_isSectionAllowed($request->getParam('section'));
         }
-        return $this;
+        return parent::dispatch($request);
     }
 
     /**
@@ -86,6 +86,7 @@ abstract class AbstractConfig extends \Magento\Backend\Controller\AbstractAction
      * @param string $sectionId
      * @throws \Exception
      * @return bool
+     * @throws NotFoundException
      */
     protected function _isSectionAllowed($sectionId)
     {
@@ -95,12 +96,10 @@ abstract class AbstractConfig extends \Magento\Backend\Controller\AbstractAction
             }
             return true;
         } catch (\Zend_Acl_Exception $e) {
-            $this->norouteAction();
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return false;
+            throw new NotFoundException();
         } catch (\Exception $e) {
             $this->deniedAction();
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             return false;
         }
     }
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Account.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Account.php
index 1a425ff8dab..6bab53bc587 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Account.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Account.php
@@ -34,14 +34,14 @@
 
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-class Account extends \Magento\Backend\Controller\Adminhtml\Action
+class Account extends \Magento\Backend\App\Action
 {
     public function indexAction()
     {
-        $this->_title(__('My Account'));
+        $this->_title->add(__('My Account'));
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Backup.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Backup.php
index d0359eaf83f..0bea7de8156 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Backup.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Backup.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-class Backup extends \Magento\Backend\Controller\Adminhtml\Action
+class Backup extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -48,17 +48,25 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_backupFactory;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Backup\Factory $backupFactory
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Backup\Factory $backupFactory
+        \Magento\Backup\Factory $backupFactory,
+        \Magento\App\Response\Http\FileFactory $fileFactory
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_backupFactory = $backupFactory;
+        $this->_fileFactory = $fileFactory;
         parent::__construct($context);
     }
 
@@ -67,20 +75,20 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Backups'));
+        $this->_title->add(__('Backups'));
 
         if ($this->getRequest()->getParam('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Backup::system_tools_backup');
         $this->_addBreadcrumb(__('System'), __('System'));
         $this->_addBreadcrumb(__('Tools'), __('Tools'));
         $this->_addBreadcrumb(__('Backups'), __('Backup'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -89,13 +97,13 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
     public function gridAction()
     {
         $this->renderLayot(false);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
      * Create backup action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     public function createAction()
     {
@@ -179,7 +187,7 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
     /**
      * Download backup action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     public function downloadAction()
     {
@@ -196,9 +204,9 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
         $fileName = $this->_objectManager->get('Magento\Backup\Helper\Data')
             ->generateBackupDownloadName($backup);
 
-        $this->_prepareDownloadResponse($fileName, null, 'application/octet-stream', $backup->getSize());
+        $response = $this->_fileFactory->create($fileName, null, 'application/octet-stream', $backup->getSize());
 
-        $this->getResponse()->sendHeaders();
+        $response->sendHeaders();
 
         $backup->output();
         exit();
@@ -207,7 +215,7 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
     /**
      * Rollback Action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     public function rollbackAction()
     {
@@ -325,7 +333,7 @@ class Backup extends \Magento\Backend\Controller\Adminhtml\Action
     /**
      * Delete backups mass action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     public function massDeleteAction()
     {
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Config.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Config.php
index 7ee8fb21bd0..0a3b13f40e2 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Config.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Config.php
@@ -31,22 +31,30 @@ namespace Magento\Backend\Controller\Adminhtml\System;
 
 class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
     /**
      * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Backend\Model\Config\Structure $configStructure
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Backend\Model\Config\Structure $configStructure,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_storeManager = $storeManager;
+        $this->_fileFactory = $fileFactory;
         parent::__construct($context, $configStructure);
     }
 
@@ -65,7 +73,7 @@ class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
      */
     public function editAction()
     {
-        $this->_title(__('Configuration'));
+        $this->_title->add(__('Configuration'));
 
         $current = $this->getRequest()->getParam('section');
         $website = $this->getRequest()->getParam('website');
@@ -77,10 +85,10 @@ class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
             return $this->_redirect('adminhtml/*/', array('website' => $website, 'store' => $store));
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Adminhtml::system_config');
-        $this->getLayout()->getBlock('menu')->setAdditionalCacheKeyInfo(array($current));
+        $this->_view->getLayout()->getBlock('menu')->setAdditionalCacheKeyInfo(array($current));
 
         $this->_addBreadcrumb(
             __('System'),
@@ -88,7 +96,7 @@ class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
             $this->getUrl('*\/system')
         );
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -114,7 +122,8 @@ class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
     {
         $fileName = 'tablerates.csv';
         /** @var $gridBlock \Magento\Adminhtml\Block\Shipping\Carrier\Tablerate\Grid */
-        $gridBlock = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Shipping\Carrier\Tablerate\Grid');
+        $gridBlock = $this->_view->getLayout()
+            ->createBlock('Magento\Adminhtml\Block\Shipping\Carrier\Tablerate\Grid');
         $website = $this->_storeManager->getWebsite($this->getRequest()->getParam('website'));
         if ($this->getRequest()->getParam('conditionName')) {
             $conditionName = $this->getRequest()->getParam('conditionName');
@@ -123,6 +132,6 @@ class Config extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
         }
         $gridBlock->setWebsiteId($website->getId())->setConditionName($conditionName);
         $content = $gridBlock->getCsvFile();
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 }
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Config/Save.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Config/Save.php
index e2794d4d203..ec6a87db567 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Config/Save.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Config/Save.php
@@ -57,14 +57,14 @@ class Save extends \Magento\Backend\Controller\Adminhtml\System\AbstractConfig
     protected $string;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Backend\Model\Config\Structure $configStructure
      * @param \Magento\Backend\Model\Config\Factory $configFactory
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\Stdlib\String $string
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Backend\Model\Config\Structure $configStructure,
         \Magento\Backend\Model\Config\Factory $configFactory,
         \Magento\Cache\FrontendInterface $cache,
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Config/System/Storage.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Config/System/Storage.php
index 74067e8c961..caebd1ee742 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Config/System/Storage.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Config/System/Storage.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml\System\Config\System;
 
-class Storage extends \Magento\Backend\Controller\Adminhtml\Action
+class Storage extends \Magento\Backend\App\Action
 {
     /**
      * Return file storage singleton
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Design.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Design.php
index 71293d03c95..74e55caa5e7 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Design.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Design.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-class Design extends \Magento\Backend\Controller\Adminhtml\Action
+class Design extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -36,11 +36,11 @@ class Design extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -49,16 +49,16 @@ class Design extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Store Design'));
-        $this->loadLayout();
+        $this->_title->add(__('Store Design'));
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Adminhtml::system_design_schedule');
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -68,11 +68,11 @@ class Design extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Store Design'));
+        $this->_title->add(__('Store Design'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Adminhtml::system_design_schedule');
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
 
         $id  = (int)$this->getRequest()->getParam('id');
         $design    = $this->_objectManager->create('Magento\Core\Model\Design');
@@ -81,14 +81,14 @@ class Design extends \Magento\Backend\Controller\Adminhtml\Action
             $design->load($id);
         }
 
-        $this->_title($design->getId() ? __('Edit Store Design Change') : __('New Store Design Change'));
+        $this->_title->add($design->getId() ? __('Edit Store Design Change') : __('New Store Design Change'));
 
         $this->_coreRegistry->register('design', $design);
 
-        $this->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Design\Edit'));
-        $this->_addLeft($this->getLayout()->createBlock('Magento\Backend\Block\System\Design\Edit\Tabs', 'design_tabs'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Design\Edit'));
+        $this->_addLeft($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Design\Edit\Tabs', 'design_tabs'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php
index 36fabb88e2e..d6ae70931e1 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Store.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-class Store extends \Magento\Backend\Controller\Adminhtml\Action
+class Store extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -48,12 +48,12 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
     protected $filterManager;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Filter\FilterManager $filterManager
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Filter\FilterManager $filterManager
     ) {
@@ -70,8 +70,8 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _initAction()
     {
         // load layout, set active menu and breadcrumbs
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Adminhtml::system_store')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Adminhtml::system_store')
             ->_addBreadcrumb(__('System'), __('System'))
             ->_addBreadcrumb(__('Manage Stores'), __('Manage Stores'));
         return $this;
@@ -79,9 +79,9 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Stores'));
-        $this->_initAction()
-            ->renderLayout();
+        $this->_title->add(__('Stores'));
+        $this->_initAction();
+        $this->_view->renderLayout();
     }
 
     public function newWebsiteAction()
@@ -119,7 +119,7 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editStoreAction()
     {
-        $this->_title(__('Stores'));
+        $this->_title->add(__('Stores'));
 
         $session = $this->_getSession();
         if ($session->getPostData()) {
@@ -165,9 +165,9 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_coreRegistry->register('store_data', $model);
 
             if ($this->_coreRegistry->registry('store_action') == 'add') {
-                $this->_title(__('New ') . $title);
+                $this->_title->add(__('New ') . $title);
             } else {
-                $this->_title($model->getName());
+                $this->_title->add($model->getName());
             }
 
             if ($this->_coreRegistry->registry('store_action') == 'edit' && $codeBase && !$model->isReadOnly()) {
@@ -175,8 +175,8 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
             }
 
             $this->_initAction()
-                ->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Store\Edit'))
-                ->renderLayout();
+                ->_addContent($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Store\Edit'));
+            $this->_view->renderLayout();
         } else {
             $session->addError($notExists);
             $this->_redirect('adminhtml/*/');
@@ -263,7 +263,7 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
                 $session->addException($e, __('An error occurred while saving. Please review the error log.'));
                 $session->setPostData($postData);
             }
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
             return;
         }
         $this->_redirect('adminhtml/*/');
@@ -271,7 +271,7 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function deleteWebsiteAction()
     {
-        $this->_title(__('Delete Web Site'));
+        $this->_title->add(__('Delete Web Site'));
 
         $session = $this->_getSession();
         $itemId = $this->getRequest()->getParam('item_id', null);
@@ -290,18 +290,18 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction()
             ->_addBreadcrumb(__('Delete Web Site'), __('Delete Web Site'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
                 ->setFormActionUrl($this->getUrl('adminhtml/*/deleteWebsitePost'))
                 ->setBackUrl($this->getUrl('adminhtml/*/editWebsite', array('website_id' => $itemId)))
                 ->setStoreTypeTitle(__('Web Site'))
                 ->setDataObject($model)
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function deleteGroupAction()
     {
-        $this->_title(__('Delete Store'));
+        $this->_title->add(__('Delete Store'));
 
         $session = $this->_getSession();
         $itemId = $this->getRequest()->getParam('item_id', null);
@@ -320,18 +320,18 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction()
             ->_addBreadcrumb(__('Delete Store'), __('Delete Store'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
                 ->setFormActionUrl($this->getUrl('adminhtml/*/deleteGroupPost'))
                 ->setBackUrl($this->getUrl('adminhtml/*/editGroup', array('group_id' => $itemId)))
                 ->setStoreTypeTitle(__('Store'))
                 ->setDataObject($model)
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function deleteStoreAction()
     {
-        $this->_title(__('Delete Store View'));
+        $this->_title->add(__('Delete Store View'));
 
         $session = $this->_getSession();
         $itemId = $this->getRequest()->getParam('item_id', null);
@@ -350,13 +350,13 @@ class Store extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction()
             ->_addBreadcrumb(__('Delete Store View'), __('Delete Store View'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Store\Delete')
                 ->setFormActionUrl($this->getUrl('adminhtml/*/deleteStorePost'))
                 ->setBackUrl($this->getUrl('adminhtml/*/editStore', array('store_id' => $itemId)))
                 ->setStoreTypeTitle(__('Store View'))
                 ->setDataObject($model)
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function deleteWebsitePostAction()
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Variable.php b/app/code/Magento/Backend/Controller/Adminhtml/System/Variable.php
index 1ddee1bd032..47cba7c717e 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Variable.php
+++ b/app/code/Magento/Backend/Controller/Adminhtml/System/Variable.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller\Adminhtml\System;
 
-class Variable extends \Magento\Backend\Controller\Adminhtml\Action
+class Variable extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -61,8 +61,8 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initLayout()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Adminhtml::system_variable')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Adminhtml::system_variable')
             ->_addBreadcrumb(__('Custom Variables'), __('Custom Variables'));
         return $this;
     }
@@ -74,11 +74,11 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initVariable()
     {
-        $this->_title(__('Custom Variables'));
+        $this->_title->add(__('Custom Variables'));
 
         $variableId = $this->getRequest()->getParam('variable_id', null);
         $storeId = (int)$this->getRequest()->getParam('store', 0);
-        /* @var $emailVariable \Magento\Core\Model\Variable */
+        /* @var $variable \Magento\Core\Model\Variable */
         $variable = $this->_objectManager->create('Magento\Core\Model\Variable');
         if ($variableId) {
             $variable->setStoreId($storeId)
@@ -93,10 +93,10 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Custom Variables'));
+        $this->_title->add(__('Custom Variables'));
 
         $this->_initLayout();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -114,14 +114,16 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $variable = $this->_initVariable();
 
-        $this->_title($variable->getId() ? $variable->getCode() : __('New Custom Variable'));
+        $this->_title->add($variable->getId() ? $variable->getCode() : __('New Custom Variable'));
 
         $this->_initLayout()
-            ->_addContent($this->getLayout()->createBlock('Magento\Backend\Block\System\Variable\Edit'))
-            ->_addJs($this->getLayout()->createBlock('Magento\Core\Block\Template', '', array(
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Backend\Block\System\Variable\Edit')
+            )
+            ->_addJs($this->_view->getLayout()->createBlock('Magento\View\Block\Template', '', array(
                 'data' => array('template' => 'Magento_Backend::system/variable/js.phtml')
-            )))
-            ->renderLayout();
+            )));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -135,9 +137,9 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
         $result = $variable->validate();
         if ($result !== true && is_string($result)) {
             $this->_getSession()->addError($result);
-            $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+            $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
             $response->setError(true);
-            $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+            $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
         }
         $this->getResponse()->setBody($response->toJson());
     }
@@ -202,7 +204,7 @@ class Variable extends \Magento\Backend\Controller\Adminhtml\Action
     public function wysiwygPluginAction()
     {
         $customVariables = $this->_objectManager->create('Magento\Core\Model\Variable')->getVariablesOptionArray(true);
-        $storeContactVariabls = $this->_objectManager->create('Magento\Core\Model\Source\Email\Variables')->toOptionArray(true);
+        $storeContactVariabls = $this->_objectManager->create('Magento\Email\Model\Source\Variables')->toOptionArray(true);
         $variables = array($storeContactVariabls, $customVariables);
         $this->getResponse()->setBody(\Zend_Json::encode($variables));
     }
diff --git a/app/code/Magento/Backend/Helper/Dashboard/Data.php b/app/code/Magento/Backend/Helper/Dashboard/Data.php
index b8f0a758abe..c565f996d50 100644
--- a/app/code/Magento/Backend/Helper/Dashboard/Data.php
+++ b/app/code/Magento/Backend/Helper/Dashboard/Data.php
@@ -41,18 +41,18 @@ class Data extends \Magento\Core\Helper\Data
     protected $_installDate;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param $installDate
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         $installDate,
diff --git a/app/code/Magento/Backend/Helper/Dashboard/Order.php b/app/code/Magento/Backend/Helper/Dashboard/Order.php
index d232dac346e..3e1ce6b0af7 100644
--- a/app/code/Magento/Backend/Helper/Dashboard/Order.php
+++ b/app/code/Magento/Backend/Helper/Dashboard/Order.php
@@ -36,18 +36,18 @@ class Order extends \Magento\Backend\Helper\Dashboard\AbstractDashboard
     protected $_orderCollection;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Reports\Model\Resource\Order\Collection $orderCollection
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Reports\Model\Resource\Order\Collection $orderCollection,
diff --git a/app/code/Magento/Backend/Helper/Data.php b/app/code/Magento/Backend/Helper/Data.php
index 5f0eaed22c8..4a0e86758ba 100644
--- a/app/code/Magento/Backend/Helper/Data.php
+++ b/app/code/Magento/Backend/Helper/Data.php
@@ -29,7 +29,7 @@ namespace Magento\Backend\Helper;
 /**
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_USE_CUSTOM_ADMIN_URL         = 'admin/url/use_custom';
 
@@ -66,7 +66,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $mathRandom;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\App\Route\Config $routeConfig
      * @param \Magento\Core\Model\AppInterface $app
      * @param \Magento\Backend\Model\Url $backendUrl
@@ -75,7 +75,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Math\Random $mathRandom
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\App\Route\Config $routeConfig,
         \Magento\Core\Model\AppInterface $app,
         \Magento\Backend\Model\Url $backendUrl,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custom.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custom.php
index 15a79417093..9f1e1caf5a4 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custom.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custom.php
@@ -54,7 +54,7 @@ class Custom extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\Storage\WriterInterface $configWriter
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -64,7 +64,7 @@ class Custom extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\Storage\WriterInterface $configWriter,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
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 1da5b648850..43ab9de7865 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
@@ -44,7 +44,7 @@ class Robots extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\App\Dir $dir
@@ -55,7 +55,7 @@ class Robots extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
         \Magento\App\Dir $dir,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustom.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustom.php
index 5291d8ef5f1..0211d4338bf 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustom.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustom.php
@@ -42,7 +42,7 @@ class Usecustom extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\Storage\WriterInterface $configWriter
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -52,7 +52,7 @@ class Usecustom extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\Storage\WriterInterface $configWriter,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usesecretkey.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usesecretkey.php
index c081f8ef311..5dcea3010bb 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usesecretkey.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usesecretkey.php
@@ -39,7 +39,7 @@ class Usesecretkey extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -49,7 +49,7 @@ class Usesecretkey extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Baseurl.php b/app/code/Magento/Backend/Model/Config/Backend/Baseurl.php
index 93d8f6ab429..b8e152f1627 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Baseurl.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Baseurl.php
@@ -33,7 +33,7 @@ class Baseurl extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Page\Asset\MergeService $mergeService
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -43,7 +43,7 @@ class Baseurl extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Page\Asset\MergeService $mergeService,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Currency/AbstractCurrency.php b/app/code/Magento/Backend/Model/Config/Backend/Currency/AbstractCurrency.php
index f446a33e46d..2e009ec3444 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Currency/AbstractCurrency.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Currency/AbstractCurrency.php
@@ -50,7 +50,7 @@ abstract class AbstractCurrency extends \Magento\Core\Model\Config\Value
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -60,7 +60,7 @@ abstract class AbstractCurrency extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Currency/Allow.php b/app/code/Magento/Backend/Model/Config/Backend/Currency/Allow.php
index a60491743f6..7b0b566cad3 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Currency/Allow.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Currency/Allow.php
@@ -40,7 +40,7 @@ class Allow extends \Magento\Backend\Model\Config\Backend\Currency\AbstractCurre
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -51,7 +51,7 @@ class Allow extends \Magento\Backend\Model\Config\Backend\Currency\AbstractCurre
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Currency/Cron.php b/app/code/Magento/Backend/Model/Config/Backend/Currency/Cron.php
index 3ed511db858..d1f9a0da4b7 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Currency/Cron.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Currency/Cron.php
@@ -41,7 +41,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -51,7 +51,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Encrypted.php b/app/code/Magento/Backend/Model/Config/Backend/Encrypted.php
index d2a2f9ad9f8..4d356830cc5 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Encrypted.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Encrypted.php
@@ -39,7 +39,7 @@ class Encrypted
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Encryption\EncryptorInterface $encryptor
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -49,7 +49,7 @@ class Encrypted
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Encryption\EncryptorInterface $encryptor,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/File.php b/app/code/Magento/Backend/Model/Config/Backend/File.php
index 0c09afff08b..ad53e13aa4c 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/File.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/File.php
@@ -64,7 +64,7 @@ class File extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\File\UploaderFactory $uploaderFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData
      * @param \Magento\Filesystem $filesystem
@@ -79,7 +79,7 @@ class File extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\File\UploaderFactory $uploaderFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Locale.php b/app/code/Magento/Backend/Model/Config/Backend/Locale.php
index c9a73d48c8c..22298756e3c 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Locale.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Locale.php
@@ -54,7 +54,7 @@ class Locale extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\Config\Data\CollectionFactory $configsFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -69,7 +69,7 @@ class Locale extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\Config\Data\CollectionFactory $configsFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Log/Cron.php b/app/code/Magento/Backend/Model/Config/Backend/Log/Cron.php
index 17d86acf504..76cdcf29c6c 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Log/Cron.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Log/Cron.php
@@ -47,7 +47,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -58,7 +58,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Storage/Media/Database.php b/app/code/Magento/Backend/Model/Config/Backend/Storage/Media/Database.php
index a743893c6fc..ec624916431 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Storage/Media/Database.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Storage/Media/Database.php
@@ -40,7 +40,7 @@ class Database extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Helper\File\Storage $coreFileStorage
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -50,7 +50,7 @@ class Database extends \Magento\Core\Model\Config\Value
         \Magento\Core\Helper\File\Storage $coreFileStorage,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Translate.php b/app/code/Magento/Backend/Model/Config/Backend/Translate.php
index 7baf77350a4..7a1a877b2fe 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Translate.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Translate.php
@@ -55,7 +55,7 @@ class Translate extends \Magento\Core\Model\Config\Value
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\App\Cache\TypeListInterface $cacheTypeList
@@ -66,7 +66,7 @@ class Translate extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\App\Cache\TypeListInterface $cacheTypeList,
diff --git a/app/code/Magento/Backend/Model/Config/Source/Email/Template.php b/app/code/Magento/Backend/Model/Config/Source/Email/Template.php
index 876d2e8013c..2fbe58567cb 100644
--- a/app/code/Magento/Backend/Model/Config/Source/Email/Template.php
+++ b/app/code/Magento/Backend/Model/Config/Source/Email/Template.php
@@ -32,25 +32,25 @@ class Template extends \Magento\Object
     private $_coreRegistry;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config
+     * @var \Magento\Email\Model\Template\Config
      */
     private $_emailConfig;
 
     /**
-     * @var \Magento\Core\Model\Resource\Email\Template\CollectionFactory
+     * @var \Magento\Email\Model\Resource\Template\CollectionFactory
      */
     protected $_templatesFactory;
 
     /**
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\Resource\Email\Template\CollectionFactory $templatesFactory
-     * @param \Magento\Core\Model\Email\Template\Config $emailConfig
+     * @param \Magento\Email\Model\Resource\Template\CollectionFactory $templatesFactory
+     * @param \Magento\Email\Model\Template\Config $emailConfig
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\Resource\Email\Template\CollectionFactory $templatesFactory,
-        \Magento\Core\Model\Email\Template\Config $emailConfig,
+        \Magento\Email\Model\Resource\Template\CollectionFactory $templatesFactory,
+        \Magento\Email\Model\Template\Config $emailConfig,
         array $data = array()
     ) {
         parent::__construct($data);
@@ -66,7 +66,7 @@ class Template extends \Magento\Object
      */
     public function toOptionArray()
     {
-        /** @var $collection \Magento\Core\Model\Resource\Email\Template\Collection */
+        /** @var $collection \Magento\Email\Model\Resource\Template\Collection */
         if (!$collection = $this->_coreRegistry->registry('config_system_email_template')) {
             $collection = $this->_templatesFactory->create();
             $collection->load();
diff --git a/app/code/Magento/Backend/Model/Locale.php b/app/code/Magento/Backend/Model/Locale.php
index daf6c5259eb..f79c42fb435 100644
--- a/app/code/Magento/Backend/Model/Locale.php
+++ b/app/code/Magento/Backend/Model/Locale.php
@@ -62,7 +62,7 @@ class Locale extends \Magento\Core\Model\Locale
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\App\State $appState
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Stdlib\DateTime $dateTime
@@ -80,7 +80,7 @@ class Locale extends \Magento\Core\Model\Locale
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\App\State $appState,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
         \Magento\Stdlib\DateTime $dateTime,
diff --git a/app/code/Magento/Backend/Model/Menu/Item.php b/app/code/Magento/Backend/Model/Menu/Item.php
index bade2870d2e..7b3e40b6392 100644
--- a/app/code/Magento/Backend/Model/Menu/Item.php
+++ b/app/code/Magento/Backend/Model/Menu/Item.php
@@ -50,7 +50,7 @@ class Item
     /**
      * Module of menu item
      *
-     * @var \Magento\Core\Helper\AbstractHelper
+     * @var \Magento\App\Helper\AbstractHelper
      */
     protected $_moduleHelper;
 
@@ -171,7 +171,7 @@ class Item
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\Backend\Model\MenuFactory $menuFactory
      * @param \Magento\Backend\Model\Url $urlModel
-     * @param \Magento\Core\Helper\AbstractHelper $helper
+     * @param \Magento\App\Helper\AbstractHelper $helper
      * @param \Magento\Module\ModuleListInterface $moduleList
      * @param array $data
      */
@@ -181,7 +181,7 @@ class Item
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\Backend\Model\MenuFactory $menuFactory,
         \Magento\Backend\Model\Url $urlModel,
-        \Magento\Core\Helper\AbstractHelper $helper,
+        \Magento\App\Helper\AbstractHelper $helper,
         \Magento\Module\ModuleListInterface $moduleList,
         array $data = array()
     ) {
@@ -371,11 +371,11 @@ class Item
     /**
      * Set Item module
      *
-     * @param \Magento\Core\Helper\AbstractHelper $helper
+     * @param \Magento\App\Helper\AbstractHelper $helper
      * @return \Magento\Backend\Model\Menu\Item
      * @throws \InvalidArgumentException
      */
-    public function setModuleHelper(\Magento\Core\Helper\AbstractHelper $helper)
+    public function setModuleHelper(\Magento\App\Helper\AbstractHelper $helper)
     {
         $this->_validator->validateParam('module', $helper);
         $this->_moduleHelper = $helper;
diff --git a/app/code/Magento/Backend/Model/Menu/Item/Factory.php b/app/code/Magento/Backend/Model/Menu/Item/Factory.php
index 96644749e16..e9200060fb9 100644
--- a/app/code/Magento/Backend/Model/Menu/Item/Factory.php
+++ b/app/code/Magento/Backend/Model/Menu/Item/Factory.php
@@ -33,17 +33,17 @@ class Factory
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Factory\Helper $helperFactory
+        \Magento\App\Helper\HelperFactory $helperFactory
     ) {
         $this->_objectManager = $objectManager;
         $this->_helperFactory = $helperFactory;
diff --git a/app/code/Magento/Backend/Model/Observer.php b/app/code/Magento/Backend/Model/Observer.php
index 6f8e5428160..9540ef8df74 100644
--- a/app/code/Magento/Backend/Model/Observer.php
+++ b/app/code/Magento/Backend/Model/Observer.php
@@ -79,22 +79,6 @@ class Observer
         return $this;
     }
 
-    /**
-     * Prepare mass action separated data
-     *
-     * @return \Magento\Backend\Model\Observer
-     */
-    public function massactionPrepareKey()
-    {
-        $key = $this->_request->getPost('massaction_prepare_key');
-        if ($key) {
-            $postData = $this->_request->getPost($key);
-            $value = is_array($postData) ? $postData : explode(',', $postData);
-            $this->_request->setPost($key, $value ? $value : null);
-        }
-        return $this;
-    }
-
     /**
      * Clear result of configuration files access level verification in system cache
      *
diff --git a/app/code/Magento/Backend/Model/Url.php b/app/code/Magento/Backend/Model/Url.php
index f55622f52b0..240914ab0d2 100644
--- a/app/code/Magento/Backend/Model/Url.php
+++ b/app/code/Magento/Backend/Model/Url.php
@@ -94,13 +94,13 @@ class Url extends \Magento\Core\Model\Url
     /**
      * @param \Magento\App\Route\ConfigInterface $routeConfig
      * @param \Magento\App\RequestInterface $request
-     * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
+     * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Backend\Helper\Data $backendHelper
      * @param \Magento\Core\Model\Session $session
      * @param Menu\Config $menuConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\App\CacheInterface $cache
      * @param Auth\Session $authSession
      * @param \Magento\Encryption\EncryptorInterface $encryptor
@@ -110,13 +110,13 @@ class Url extends \Magento\Core\Model\Url
     public function __construct(
         \Magento\App\Route\ConfigInterface $routeConfig,
         \Magento\App\RequestInterface $request,
-        \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
+        \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Backend\Helper\Data $backendHelper,
         \Magento\Core\Model\Session $session,
         \Magento\Backend\Model\Menu\Config $menuConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\App\CacheInterface $cache,
         \Magento\Backend\Model\Auth\Session $authSession,
         \Magento\Encryption\EncryptorInterface $encryptor,
@@ -125,7 +125,7 @@ class Url extends \Magento\Core\Model\Url
     ) {
         $this->_encryptor = $encryptor;
         parent::__construct(
-            $routeConfig, $request, $securityInfo, $coreStoreConfig,
+            $routeConfig, $request, $urlSecurityInfo, $coreStoreConfig,
             $app, $storeManager, $session, $areaCode, $data
         );
         $this->_startupMenuItemId = $coreStoreConfig->getConfig(self::XML_PATH_STARTUP_MENU_ITEM);
diff --git a/app/code/Magento/Backend/Model/View.php b/app/code/Magento/Backend/Model/View.php
new file mode 100644
index 00000000000..394ae973d1e
--- /dev/null
+++ b/app/code/Magento/Backend/Model/View.php
@@ -0,0 +1,74 @@
+<?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 View extends \Magento\App\View
+{
+    /**
+     * @var \Magento\Core\Model\Layout\Filter\Acl
+     */
+    protected $_aclFilter;
+
+    /**
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
+     * @param \Magento\Config\ScopeInterface $configScope
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\Core\Model\Translate $translator
+     * @param \Magento\App\ActionFlag $actionFlag
+     * @param \Magento\Core\Model\Layout\Filter\Acl $aclFilter
+     */
+    public function __construct(
+        \Magento\View\LayoutInterface $layout,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
+        \Magento\Config\ScopeInterface $configScope,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\Core\Model\Translate $translator,
+        \Magento\App\ActionFlag $actionFlag,
+        \Magento\Core\Model\Layout\Filter\Acl $aclFilter
+    ) {
+        $this->_aclFilter = $aclFilter;
+        parent::__construct($layout, $request, $response, $configScope, $eventManager, $translator, $actionFlag);
+    }
+
+
+    /**
+     * {@inheritdoc}
+     */
+    public function loadLayout($handles = null, $generateBlocks = true, $generateXml = true)
+    {
+        parent::loadLayout($handles, false, $generateXml);
+        $this->_aclFilter->filterAclNodes($this->getLayout()->getNode());
+        if ($generateBlocks) {
+            $this->generateLayoutBlocks();
+            $this->_isLayoutLoaded = true;
+        }
+        $this->getLayout()->initMessages('Magento\Backend\Model\Session');
+        return $this;
+    }
+
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Backend/etc/adminhtml/di.xml b/app/code/Magento/Backend/etc/adminhtml/di.xml
index ab4b298d5a8..57d29fca271 100644
--- a/app/code/Magento/Backend/etc/adminhtml/di.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/di.xml
@@ -27,13 +27,20 @@
     <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\Controller\Varien\Action\Context" type="Magento\Backend\Controller\Context" />
+    <preference for="Magento\App\Action\Context" type="Magento\Backend\App\Action\Context" />
     <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" />
     <preference for="Magento\Acl\Resource\ProviderInterface" type="Magento\Acl\Resource\Provider" />
     <preference for="Magento\App\DefaultPathInterface" type="Magento\Backend\App\DefaultPath" />
+    <preference for="Magento\App\Response\Http\FileFactory" type="Magento\Backend\App\Response\Http\FileFactory" />
+    <preference for="Magento\App\View" type="Magento\Backend\Model\View" />
+    <type name="Magento\Backend\App\Action\Context">
+        <param name="helper">
+            <instance type="Magento\Backend\Helper\Data" />
+        </param>
+    </type>
     <type name="Magento\Backend\Model\Auth\Session">
         <param name="backendUrl">
             <instance type="Magento\Backend\Model\Url\Proxy" />
@@ -124,4 +131,19 @@
             </value>
         </param>
     </type>
+    <type name="Magento\Core\App\Action\Plugin\Session">
+        <param name="sessionNamespace">
+            <value type="const">Magento\Backend\App\AbstractAction::SESSION_NAMESPACE</value>
+        </param>
+    </type>
+    <type name="Magento\Backend\App\AbstractAction">
+        <plugin name="adminAuthentication" type="Magento\Backend\App\Action\Plugin\Authentication" sortOrder="100" />
+        <plugin name="adminStore" type="Magento\Backend\App\Action\Plugin\Store" sortOrder="10" />
+        <plugin name="adminMassactionKey" type="Magento\Backend\App\Action\Plugin\MassactionKey" sortOrder="11" />
+    </type>
+    <type name="Magento\Core\App\Response\Redirect">
+        <param name="canUseSessionIdInParam">
+            <value type="bool">false</value>
+        </param>
+    </type>
 </config>
diff --git a/app/code/Magento/Backend/etc/adminhtml/menu.xml b/app/code/Magento/Backend/etc/adminhtml/menu.xml
index 126f3323af4..b054038fd6c 100644
--- a/app/code/Magento/Backend/etc/adminhtml/menu.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/menu.xml
@@ -29,7 +29,6 @@
     <menu>
         <add id="Magento_Adminhtml::system_design_schedule" title="Schedule" module="Magento_Adminhtml" sortOrder="30" parent="Magento_Adminhtml::system_design" action="adminhtml/system_design" resource="Magento_Adminhtml::schedule"/>
         <add id="Magento_Adminhtml::system_currency" title="Currency" module="Magento_Adminhtml" sortOrder="30" parent="Magento_Adminhtml::stores" action="adminhtml/system_currency" resource="Magento_CurrencySymbol::system_currency"/>
-        <add id="Magento_Adminhtml::system_email_template" title="Email Templates" module="Magento_Adminhtml" sortOrder="10" parent="Magento_Adminhtml::marketing_communications" action="adminhtml/system_email_template" resource="Magento_Adminhtml::email_template"/>
         <add id="Magento_Adminhtml::system_variable" title="Custom Variables" module="Magento_Adminhtml" sortOrder="20" parent="Magento_Adminhtml::system_other_settings" action="adminhtml/system_variable" resource="Magento_Adminhtml::variable"/>
         <add id="Magento_Adminhtml::system_store" title="All Stores" module="Magento_Core" sortOrder="10" parent="Magento_Adminhtml::stores_settings" action="adminhtml/system_store/" resource="Magento_Adminhtml::store"/>
         <add id="Magento_Adminhtml::system_config" title="Configuration" module="Magento_Adminhtml" sortOrder="20" parent="Magento_Adminhtml::stores_settings" action="adminhtml/system_config" resource="Magento_Adminhtml::config"/>
diff --git a/app/code/Magento/Backend/etc/di.xml b/app/code/Magento/Backend/etc/di.xml
index 927fd0ad1fd..25a442ebb20 100644
--- a/app/code/Magento/Backend/etc/di.xml
+++ b/app/code/Magento/Backend/etc/di.xml
@@ -36,11 +36,6 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Backend\Controller\Context">
-        <param name="translator">
-            <instance type="Magento\Core\Model\Translate\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Backend\App\Router\DefaultRouter">
         <param name="routerId">
             <value>admin</value>
diff --git a/app/code/Magento/Backend/view/adminhtml/admin/login.phtml b/app/code/Magento/Backend/view/adminhtml/admin/login.phtml
index 1c295f207b9..5a63d7d2737 100644
--- a/app/code/Magento/Backend/view/adminhtml/admin/login.phtml
+++ b/app/code/Magento/Backend/view/adminhtml/admin/login.phtml
@@ -38,9 +38,8 @@
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/base.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/elements.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/form.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/admin.css') ?>" media="all" />
+    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/styles.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/utils.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/debug.css') ?>" media="all" />
 
 
     <script src="<?php echo $this->getViewFileUrl('jquery/jquery.js') ?>"></script>
diff --git a/app/code/Magento/Backup/Helper/Data.php b/app/code/Magento/Backup/Helper/Data.php
index 9a4b3614acb..88f8134bf35 100644
--- a/app/code/Magento/Backup/Helper/Data.php
+++ b/app/code/Magento/Backup/Helper/Data.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Backup\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Backup type constant for database backup
@@ -64,11 +64,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_authorization;
 
-    /**
-     * @var \Magento\Cache\ConfigInterface
-     */
-    protected $_cacheConfig;
-
     /**
      * @var \Magento\App\Cache\TypeListInterface
      */
@@ -91,19 +86,17 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Construct
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Cache\ConfigInterface $cacheConfig
      * @param \Magento\App\Cache\TypeListInterface $cacheTypeList
      * @param \Magento\App\Dir $dir
      * @param \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Filesystem $filesystem,
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Cache\ConfigInterface $cacheConfig,
         \Magento\App\Cache\TypeListInterface $cacheTypeList,
         \Magento\App\Dir $dir,
         \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
@@ -111,7 +104,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         parent::__construct($context);
         $this->_authorization = $authorization;
         $this->_filesystem = $filesystem;        
-        $this->_cacheConfig = $cacheConfig;
         $this->_cacheTypeList = $cacheTypeList;
         $this->_dir = $dir;
     }
diff --git a/app/code/Magento/Backup/Model/Config/Backend/Cron.php b/app/code/Magento/Backup/Model/Config/Backend/Cron.php
index 783b49ebb6e..486d39ab74b 100644
--- a/app/code/Magento/Backup/Model/Config/Backend/Cron.php
+++ b/app/code/Magento/Backup/Model/Config/Backend/Cron.php
@@ -51,7 +51,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -62,7 +62,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php
index 13f44331cf2..bb9c7224275 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.php
@@ -46,20 +46,20 @@ class Extend
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php
index ca30197c635..fd4b662c7ca 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle.php
@@ -47,20 +47,20 @@ class Bundle extends \Magento\Adminhtml\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getTabUrl()
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php
index 93546494311..d0637627f18 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php
@@ -74,11 +74,6 @@ class Option extends \Magento\Backend\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Bundle\Model\Source\Option\Type
      */
@@ -90,28 +85,25 @@ class Option extends \Magento\Backend\Block\Widget
     protected $_yesno;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Model\Config\Source\Yesno $yesno
      * @param \Magento\Bundle\Model\Source\Option\Type $optionTypes
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Model\Config\Source\Yesno $yesno,
         \Magento\Bundle\Model\Source\Option\Type $optionTypes,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        $this->_storeManager = $storeManager;
         $this->_optionTypes = $optionTypes;
         $this->_yesno = $yesno;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php
index 2abcf375ae4..b7cf851e8b8 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid.php
@@ -48,27 +48,25 @@ class Grid
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Bundle\Helper\Data $bundleData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Bundle\Helper\Data $bundleData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Bundle\Helper\Data $bundleData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Bundle\Helper\Data $bundleData,
+        array $data = array()
+    ) {
         $this->_bundleData = $bundleData;
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php
index 65e6b9ce0ad..e546a892100 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Selection.php
@@ -62,29 +62,29 @@ class Selection
      */
     protected $_yesno;
 
-    /**
-     * @param \Magento\Backend\Model\Config\Source\Yesno $yesno
-     * @param \Magento\Bundle\Model\Source\Option\Selection\Price\Type $priceType
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Config\Source\Yesno $yesno
+     * @param \Magento\Bundle\Model\Source\Option\Selection\Price\Type $priceType
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Config\Source\Yesno $yesno,
-        \Magento\Bundle\Model\Source\Option\Selection\Price\Type $priceType,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Config\Source\Yesno $yesno,
+        \Magento\Bundle\Model\Source\Option\Selection\Price\Type $priceType,
+        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_catalogData = $catalogData;
         $this->_coreRegistry = $registry;
         $this->_priceType = $priceType;
         $this->_yesno = $yesno;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php b/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php
index df74c4341ae..9d6ff7d2c3a 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/Items/Renderer.php
@@ -31,33 +31,6 @@ namespace Magento\Bundle\Block\Adminhtml\Sales\Order\Items;
  */
 class Renderer extends \Magento\Sales\Block\Adminhtml\Items\Renderer\DefaultRenderer
 {
-    /**
-     * Filter manager
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Filter\FilterManager $filter
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Filter\FilterManager $filter,
-        array $data = array()
-    ) {
-        $this->filter = $filter;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
-    }
-
     /**
      * Truncate string
      *
@@ -70,7 +43,7 @@ class Renderer extends \Magento\Sales\Block\Adminhtml\Items\Renderer\DefaultRend
      */
     public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
     {
-        return $this->filter->truncate($value, array(
+        return $this->filterManager->truncate($value, array(
             'length' => $length,
             'etc' => $etc,
             'remainder' => $remainder,
diff --git a/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php b/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php
index 8a232551c3d..bf4b2d54b99 100644
--- a/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php
+++ b/app/code/Magento/Bundle/Block/Adminhtml/Sales/Order/View/Items/Renderer.php
@@ -31,33 +31,6 @@ namespace Magento\Bundle\Block\Adminhtml\Sales\Order\View\Items;
  */
 class Renderer extends \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer
 {
-    /**
-     * Core string
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Filter\FilterManager $filter
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Filter\FilterManager $filter,
-        array $data = array()
-    ) {
-        $this->filter = $filter;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
-    }
-
     /**
      * Truncate string
      *
@@ -70,7 +43,7 @@ class Renderer extends \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\
      */
     public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
     {
-        return $this->filter->truncate($value, array(
+        return $this->filterManager->truncate($value, array(
             'length' => $length,
             'etc' => $etc,
             'remainder' => $remainder,
diff --git a/app/code/Magento/Bundle/Block/Catalog/Product/Price.php b/app/code/Magento/Bundle/Block/Catalog/Product/Price.php
index e1a517d51e4..1ab8e943a7b 100644
--- a/app/code/Magento/Bundle/Block/Catalog/Product/Price.php
+++ b/app/code/Magento/Bundle/Block/Catalog/Product/Price.php
@@ -41,11 +41,10 @@ class Price extends \Magento\Catalog\Block\Product\Price
     protected $_taxCalc;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Math\Random $mathRandom
@@ -53,28 +52,17 @@ class Price extends \Magento\Catalog\Block\Product\Price
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Tax\Helper\Data $taxData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Stdlib\String $string,
         \Magento\Math\Random $mathRandom,
         \Magento\Tax\Model\Calculation $taxCalc,
         array $data = array()
     ) {
-        parent::__construct(
-            $storeManager,
-            $catalogData,
-            $taxData,
-            $coreData,
-            $context,
-            $registry,
-            $string,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogData, $taxData, $registry, $string, $mathRandom, $data);
         $this->_taxCalc = $taxCalc;
     }
 
diff --git a/app/code/Magento/Bundle/Block/Catalog/Product/View/Type/Bundle.php b/app/code/Magento/Bundle/Block/Catalog/Product/View/Type/Bundle.php
index 15fbec6ea4d..59eb3b11820 100644
--- a/app/code/Magento/Bundle/Block/Catalog/Product/View/Type/Bundle.php
+++ b/app/code/Magento/Bundle/Block/Catalog/Product/View/Type/Bundle.php
@@ -58,55 +58,40 @@ class Bundle extends \Magento\Catalog\Block\Product\View\AbstractView
     protected $_productPrice;
 
     /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Stdlib\ArrayUtils $arrayUtils
      * @param \Magento\Catalog\Helper\Product $catalogProduct
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Bundle\Model\Product\PriceFactory $productPrice
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Stdlib\ArrayUtils $arrayUtils,
         \Magento\Catalog\Helper\Product $catalogProduct,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Bundle\Model\Product\PriceFactory $productPrice,
         array $data = array()
     ) {
         $this->_catalogProduct = $catalogProduct;
         $this->_productPrice = $productPrice;
-        $this->_locale = $locale;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $arrayUtils,
             $data
diff --git a/app/code/Magento/Bundle/Block/Checkout/Cart/Item/Renderer.php b/app/code/Magento/Bundle/Block/Checkout/Cart/Item/Renderer.php
index 121adb787aa..07f609cfde2 100644
--- a/app/code/Magento/Bundle/Block/Checkout/Cart/Item/Renderer.php
+++ b/app/code/Magento/Bundle/Block/Checkout/Cart/Item/Renderer.php
@@ -45,23 +45,23 @@ class Renderer extends \Magento\Checkout\Block\Cart\Item\Renderer
     protected $_bundleProdConfigur = null;
 
     /**
-     * @param \Magento\Catalog\Helper\Product\Configuration $ctlgProdConfigur
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Product\Configuration $productConfig
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Bundle\Helper\Catalog\Product\Configuration $bundleProdConfigur
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Product\Configuration $ctlgProdConfigur,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Product\Configuration $productConfig,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Bundle\Helper\Catalog\Product\Configuration $bundleProdConfigur,
         array $data = array()
     ) {
         $this->_bundleProdConfigur = $bundleProdConfigur;
-        parent::__construct($ctlgProdConfigur, $coreData, $context, $checkoutSession, $data);
+        parent::__construct($context, $coreData, $productConfig, $checkoutSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Product/Edit.php b/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Product/Edit.php
index 7ac58a5e53d..c4e233917c3 100644
--- a/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Product/Edit.php
+++ b/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Product/Edit.php
@@ -39,7 +39,7 @@ class Edit extends \Magento\Catalog\Controller\Adminhtml\Product
     {
         $product = $this->_initProduct();
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Bundle\Block\Adminhtml\Catalog\Product\Edit\Tab\Bundle',
                     'admin.product.bundle.items')
                 ->setProductId($product->getId())
diff --git a/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Selection.php b/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Selection.php
index 5821cd8790c..3d32189f63f 100644
--- a/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Selection.php
+++ b/app/code/Magento/Bundle/Controller/Adminhtml/Bundle/Selection.php
@@ -33,12 +33,12 @@
  */
 namespace Magento\Bundle\Controller\Adminhtml\Bundle;
 
-class Selection extends \Magento\Backend\Controller\Adminhtml\Action
+class Selection extends \Magento\Backend\App\Action
 {
     public function searchAction()
     {
         return $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Bundle\Block\Adminhtml\Catalog\Product\Edit\Tab\Bundle\Option\Search')
                 ->setIndex($this->getRequest()->getParam('index'))
                 ->setFirstShow(true)
@@ -49,7 +49,7 @@ class Selection extends \Magento\Backend\Controller\Adminhtml\Action
     public function gridAction()
     {
         return $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Bundle\Block\Adminhtml\Catalog\Product\Edit\Tab\Bundle\Option\Search\Grid',
                     'adminhtml.catalog.product.edit.tab.bundle.option.search.grid')
                 ->setIndex($this->getRequest()->getParam('index'))
diff --git a/app/code/Magento/Bundle/Helper/Catalog/Product/Configuration.php b/app/code/Magento/Bundle/Helper/Catalog/Product/Configuration.php
index 8cdd59bb709..5e15017a597 100644
--- a/app/code/Magento/Bundle/Helper/Catalog/Product/Configuration.php
+++ b/app/code/Magento/Bundle/Helper/Catalog/Product/Configuration.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Bundle\Helper\Catalog\Product;
 
-class Configuration extends \Magento\Core\Helper\AbstractHelper
+class Configuration extends \Magento\App\Helper\AbstractHelper
     implements \Magento\Catalog\Helper\Product\Configuration\ConfigurationInterface
 {
     /**
@@ -58,13 +58,13 @@ class Configuration extends \Magento\Core\Helper\AbstractHelper
     /**
      * @param \Magento\Catalog\Helper\Product\Configuration $ctlgProdConfigur
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Escaper $escaper
      */
     public function __construct(
         \Magento\Catalog\Helper\Product\Configuration $ctlgProdConfigur,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Escaper $escaper
     ) {
         $this->_ctlgProdConfigur = $ctlgProdConfigur;
diff --git a/app/code/Magento/Bundle/Helper/Data.php b/app/code/Magento/Bundle/Helper/Data.php
index 75494e422e3..9a05a8c0e37 100644
--- a/app/code/Magento/Bundle/Helper/Data.php
+++ b/app/code/Magento/Bundle/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Bundle\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Catalog\Model\ProductTypes\ConfigInterface
@@ -41,11 +41,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_config;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
     ) {
         $this->_config = $config;
diff --git a/app/code/Magento/Bundle/Model/Option.php b/app/code/Magento/Bundle/Model/Option.php
index f3779afbd43..f54b1b858b4 100644
--- a/app/code/Magento/Bundle/Model/Option.php
+++ b/app/code/Magento/Bundle/Model/Option.php
@@ -74,10 +74,8 @@ class Option extends \Magento\Core\Model\AbstractModel
         if (!$selection) {
             return false;
         }
-        if (!$selections = $this->getData('selections')) {
-            $selections = array();
-        }
-        array_push($selections, $selection);
+        $selections = $this->getDataSetDefault('selections', array());
+        $selections[] = $selection;
         $this->setSelections($selections);
         return $this;
     }
diff --git a/app/code/Magento/Bundle/Model/Price/Index.php b/app/code/Magento/Bundle/Model/Price/Index.php
index dc2d778e9a8..1cd7e914e5c 100644
--- a/app/code/Magento/Bundle/Model/Price/Index.php
+++ b/app/code/Magento/Bundle/Model/Price/Index.php
@@ -53,12 +53,12 @@ class Index extends \Magento\Core\Model\AbstractModel
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -67,7 +67,7 @@ class Index extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Bundle/Model/Product/Type.php b/app/code/Magento/Bundle/Model/Product/Type.php
index 8cb10c5d352..f5a80005dd3 100644
--- a/app/code/Magento/Bundle/Model/Product/Type.php
+++ b/app/code/Magento/Bundle/Model/Product/Type.php
@@ -848,10 +848,10 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType
                 ->addFilterByRequiredOptions()
                 ->setSelectionIdsFilter($selectionIds);
 
-                if (!$this->_catalogData->isPriceGlobal() && $storeId) {
+            if (!$this->_catalogData->isPriceGlobal() && $storeId) {
                     $websiteId = $this->_storeManager->getStore($storeId)->getWebsiteId();
                     $usedSelections->joinPrices($websiteId);
-                }
+            }
             $product->setData($this->_keyUsedSelections, $usedSelections);
             $product->setData($this->_keyUsedSelectionsIds, $selectionIds);
         }
diff --git a/app/code/Magento/Captcha/Block/Captcha.php b/app/code/Magento/Captcha/Block/Captcha.php
index 3b6128c8818..7b5596960bf 100644
--- a/app/code/Magento/Captcha/Block/Captcha.php
+++ b/app/code/Magento/Captcha/Block/Captcha.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Captcha\Block;
 
-class Captcha extends \Magento\Core\Block\Template
+class Captcha extends \Magento\View\Block\Template
 {
     /**
      * Captcha data
@@ -43,19 +43,19 @@ class Captcha extends \Magento\Core\Block\Template
     protected $_captchaData = null;
 
     /**
-     * @param \Magento\Captcha\Helper\Data $captchaData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Captcha\Helper\Data $captchaData
      * @param array $data
      */
     public function __construct(
-        \Magento\Captcha\Helper\Data $captchaData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Captcha\Helper\Data $captchaData,
         array $data = array()
     ) {
         $this->_captchaData = $captchaData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Captcha/Block/Captcha/DefaultCaptcha.php b/app/code/Magento/Captcha/Block/Captcha/DefaultCaptcha.php
index 280f1e8398d..d351063c5d9 100644
--- a/app/code/Magento/Captcha/Block/Captcha/DefaultCaptcha.php
+++ b/app/code/Magento/Captcha/Block/Captcha/DefaultCaptcha.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Captcha\Block\Captcha;
 
-class DefaultCaptcha extends \Magento\Core\Block\Template
+class DefaultCaptcha extends \Magento\View\Block\Template
 {
     protected $_template = 'default.phtml';
 
@@ -48,27 +48,19 @@ class DefaultCaptcha extends \Magento\Core\Block\Template
     protected $_captchaData;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Captcha\Helper\Data $captchaData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Captcha\Helper\Data $captchaData
      * @param array $data
      */
     public function __construct(
-        \Magento\Captcha\Helper\Data $captchaData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Captcha\Helper\Data $captchaData,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_captchaData = $captchaData;
-        $this->_storeManager = $storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Captcha/Controller/Adminhtml/Refresh.php b/app/code/Magento/Captcha/Controller/Adminhtml/Refresh.php
index 62e7149993f..cb474b8933f 100644
--- a/app/code/Magento/Captcha/Controller/Adminhtml/Refresh.php
+++ b/app/code/Magento/Captcha/Controller/Adminhtml/Refresh.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Captcha\Controller\Adminhtml;
 
-class Refresh extends \Magento\Backend\Controller\Adminhtml\Action
+class Refresh extends \Magento\Backend\App\Action
 {
     /**
      * Refreshes captcha and returns JSON encoded URL to image (AJAX action)
@@ -45,8 +45,12 @@ class Refresh extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $formId = $this->getRequest()->getPost('formId');
         $captchaModel = $this->_objectManager->get('Magento\Captcha\Helper\Data')->getCaptcha($formId);
-        $this->getLayout()->createBlock($captchaModel->getBlockName())->setFormId($formId)->setIsAjax(true)->toHtml();
+        $this->_view->getLayout()
+            ->createBlock($captchaModel->getBlockName())
+            ->setFormId($formId)
+            ->setIsAjax(true)
+            ->toHtml();
         $this->getResponse()->setBody(json_encode(array('imgSrc' => $captchaModel->getImgSrc())));
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
     }
 }
diff --git a/app/code/Magento/Captcha/Controller/Refresh.php b/app/code/Magento/Captcha/Controller/Refresh.php
index 85853acf470..ee85eb4fca2 100644
--- a/app/code/Magento/Captcha/Controller/Refresh.php
+++ b/app/code/Magento/Captcha/Controller/Refresh.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Captcha\Controller;
 
-class Refresh extends \Magento\Core\Controller\Front\Action
+class Refresh extends \Magento\App\Action\Action
 {
     /**
      * Refreshes captcha and returns JSON encoded URL to image (AJAX action)
@@ -45,8 +45,12 @@ class Refresh extends \Magento\Core\Controller\Front\Action
     {
         $formId = $this->getRequest()->getPost('formId');
         $captchaModel = $this->_objectManager->get('Magento\Captcha\Helper\Data')->getCaptcha($formId);
-        $this->getLayout()->createBlock($captchaModel->getBlockName())->setFormId($formId)->setIsAjax(true)->toHtml();
+        $this->_view->getLayout()
+            ->createBlock($captchaModel->getBlockName())
+            ->setFormId($formId)
+            ->setIsAjax(true)
+            ->toHtml();
         $this->getResponse()->setBody(json_encode(array('imgSrc' => $captchaModel->getImgSrc())));
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
     }
 }
diff --git a/app/code/Magento/Captcha/Helper/Data.php b/app/code/Magento/Captcha/Helper/Data.php
index e045e0d151a..5c0e6ddaa00 100644
--- a/app/code/Magento/Captcha/Helper/Data.php
+++ b/app/code/Magento/Captcha/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Captcha\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Used for "name" attribute of captcha's input field
@@ -82,7 +82,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_dirs = null;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -92,17 +92,17 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_factory;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\App\Dir $dirs
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Captcha\Model\CaptchaFactory $factory
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\App\Dir $dirs,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
         \Magento\Captcha\Model\CaptchaFactory $factory
diff --git a/app/code/Magento/Captcha/Model/Observer.php b/app/code/Magento/Captcha/Model/Observer.php
index 225083f4a26..28c0ece35a8 100644
--- a/app/code/Magento/Captcha/Model/Observer.php
+++ b/app/code/Magento/Captcha/Model/Observer.php
@@ -74,7 +74,7 @@ class Observer
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -94,7 +94,12 @@ class Observer
     protected $_resLogFactory;
 
     /**
-     * @param \Magento\Captcha\Model\Resource\LogFactory $resLogFactory
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @param Resource\LogFactory $resLogFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Checkout\Model\Type\Onepage $typeOnepage
      * @param \Magento\Core\Helper\Data $coreData
@@ -103,7 +108,8 @@ class Observer
      * @param \Magento\Core\Model\Url $urlManager
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\App\RequestInterface $request
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\ActionFlag $actionFlag
      */
     public function __construct(
         \Magento\Captcha\Model\Resource\LogFactory $resLogFactory,
@@ -115,7 +121,8 @@ class Observer
         \Magento\Core\Model\Url $urlManager,
         \Magento\Filesystem $filesystem,
         \Magento\App\RequestInterface $request,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\App\ActionFlag $actionFlag
     ) {
         $this->_resLogFactory = $resLogFactory;
         $this->_session = $session;
@@ -127,6 +134,7 @@ class Observer
         $this->_filesystem = $filesystem;
         $this->_request = $request;
         $this->_storeManager = $storeManager;
+        $this->_actionFlag = $actionFlag;
     }
 
     /**
@@ -140,10 +148,11 @@ class Observer
         $formId = 'user_forgotpassword';
         $captchaModel = $this->_helper->getCaptcha($formId);
         if ($captchaModel->isRequired()) {
+            /** @var \Magento\App\Action\Action $controller */
             $controller = $observer->getControllerAction();
             if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
                 $this->_session->addError(__('Incorrect CAPTCHA'));
-                $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                 $controller->getResponse()->setRedirect($this->_urlManager->getUrl('*/*/forgotpassword'));
             }
         }
@@ -163,7 +172,7 @@ class Observer
             $controller = $observer->getControllerAction();
             if (!$captcha->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
                 $this->_session->addError(__('Incorrect CAPTCHA.'));
-                $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                 $controller->getResponse()->setRedirect($this->_urlManager->getUrl('contacts/index/index'));
             }
         }
@@ -186,7 +195,7 @@ class Observer
             $word = $this->_getCaptchaString($controller->getRequest(), $formId);
             if (!$captchaModel->isCorrect($word)) {
                 $this->_session->addError(__('Incorrect CAPTCHA'));
-                $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                 $this->_session->setUsername($login);
                 $beforeUrl = $this->_session->getBeforeAuthUrl();
                 $url =  $beforeUrl ? $beforeUrl : $this->_customerData->getLoginUrl();
@@ -211,7 +220,7 @@ class Observer
             $controller = $observer->getControllerAction();
             if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
                 $this->_session->addError(__('Incorrect CAPTCHA'));
-                $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                 $this->_session->setCustomerFormData($controller->getRequest()->getPost());
                 $controller->getResponse()->setRedirect($this->_urlManager->getUrl('*/*/create'));
             }
@@ -234,7 +243,7 @@ class Observer
             if ($captchaModel->isRequired()) {
                 $controller = $observer->getControllerAction();
                 if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
-                    $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                    $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                     $result = array('error' => 1, 'message' => __('Incorrect CAPTCHA'));
                     $controller->getResponse()->setBody($this->_coreData->jsonEncode($result));
                 }
@@ -258,7 +267,7 @@ class Observer
             if ($captchaModel->isRequired()) {
                 $controller = $observer->getControllerAction();
                 if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
-                    $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                    $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                     $result = array('error' => 1, 'message' => __('Incorrect CAPTCHA'));
                     $controller->getResponse()->setBody($this->_coreData->jsonEncode($result));
                 }
@@ -309,7 +318,7 @@ class Observer
             if ($captchaModel->isRequired()) {
                 if (!$captchaModel->isCorrect($this->_getCaptchaString($controller->getRequest(), $formId))) {
                     $this->_session->setEmail((string) $controller->getRequest()->getPost('email'));
-                    $controller->setFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+                    $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
                     $this->_session->addError(__('Incorrect CAPTCHA'));
                     $controller->getResponse()
                         ->setRedirect($controller->getUrl('*/*/forgotpassword', array('_nosecret' => true)));
diff --git a/app/code/Magento/Captcha/etc/events.xml b/app/code/Magento/Captcha/etc/events.xml
index dc8c1435292..1f10660d1a4 100644
--- a/app/code/Magento/Captcha/etc/events.xml
+++ b/app/code/Magento/Captcha/etc/events.xml
@@ -30,6 +30,9 @@
     <event name="controller_action_predispatch_customer_account_createpost">
         <observer name="captcha" instance="Magento\Captcha\Model\Observer" method="checkUserCreate" />
     </event>
+    <event name="controller_action_predispatch_customer_account_forgotpasswordpost">
+        <observer name="captcha" instance="Magento\Captcha\Model\Observer" method="checkForgotpassword"/>
+    </event>
     <event name="admin_user_authenticate_before">
         <observer name="captcha" instance="Magento\Captcha\Model\Observer" method="checkUserLoginBackend" />
     </event>
diff --git a/app/code/Magento/Captcha/view/adminhtml/default.phtml b/app/code/Magento/Captcha/view/adminhtml/default.phtml
index 74546ec24f7..fbed441fcf8 100644
--- a/app/code/Magento/Captcha/view/adminhtml/default.phtml
+++ b/app/code/Magento/Captcha/view/adminhtml/default.phtml
@@ -18,14 +18,13 @@
  * 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_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 $captcha \Magento\Captcha\Model\DefaultModel */ ?>
+<?php /* @var $this \Magento\Captcha\Block\Captcha\DefaultCaptcha */ ?>
 <?php $captcha = $this->getCaptchaModel() ?>
-<?php /* @var $this \Magento\Core\Block_Captcha_Default */ ?>
 <div class="clear"></div>
 <div class="captcha">
     <div class="captcha-input input-box input-left">
diff --git a/app/code/Magento/Captcha/view/frontend/default.phtml b/app/code/Magento/Captcha/view/frontend/default.phtml
index 86746491042..0972ed6b57f 100644
--- a/app/code/Magento/Captcha/view/frontend/default.phtml
+++ b/app/code/Magento/Captcha/view/frontend/default.phtml
@@ -23,9 +23,8 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
+<?php /* @var $captcha \Magento\Captcha\Model\DefaultModel */ ?>
 <?php /* @var $this \Magento\Captcha\Block\Captcha\DefaultCaptcha */ ?>
-
-<?php /* @var $captcha \Magento\Captcha\Model\ModelInterface */ ?>
 <?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>
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/AbstractCategory.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/AbstractCategory.php
index 19d4b52f364..19db3f966ca 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/AbstractCategory.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/AbstractCategory.php
@@ -47,23 +47,23 @@ class AbstractCategory extends \Magento\Backend\Block\Template
      */
     protected $_categoryTree;
 
-    /**
-     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_categoryTree = $categoryTree;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/Helper/Image.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/Helper/Image.php
index cc5e2ffd7fa..1164f299018 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/Helper/Image.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/Helper/Image.php
@@ -36,12 +36,12 @@ namespace Magento\Catalog\Block\Adminhtml\Category\Helper;
 class Image extends \Magento\Data\Form\Element\Image
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Escaper $escaper
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
@@ -49,7 +49,7 @@ class Image extends \Magento\Data\Form\Element\Image
      * @param array $attributes
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Escaper $escaper,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php
index 4b5167e61b5..6ff20d407ae 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Attributes.php
@@ -41,24 +41,24 @@ class Attributes extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Product.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Product.php
index 402212ca660..e073a3782af 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Product.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tab/Product.php
@@ -47,27 +47,25 @@ class Product extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tabs.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tabs.php
index d3bf8962556..3c8f365f731 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tabs.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tabs.php
@@ -59,28 +59,28 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory
-     * @param \Magento\Catalog\Helper\Catalog $helperCatalog
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory
+     * @param \Magento\Catalog\Helper\Catalog $helperCatalog
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory,
-        \Magento\Catalog\Helper\Catalog $helperCatalog,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory,
+        \Magento\Catalog\Helper\Catalog $helperCatalog,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_coreRegistry = $registry;
         $this->_helperCatalog = $helperCatalog;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tree.php b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tree.php
index 02a82ea70de..8d50e246bb5 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Category/Tree.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Category/Tree.php
@@ -55,30 +55,30 @@ class Tree extends \Magento\Catalog\Block\Adminhtml\Category\AbstractCategory
      */
     protected $_helperPool;
 
-    /**
-     * @param \Magento\Core\Model\Resource\HelperPool $helperPool
-     * @param \Magento\Backend\Model\Auth\Session $backendSession
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Resource\Category\Tree $categoryTree
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Core\Model\Resource\HelperPool $helperPool
+     * @param \Magento\Backend\Model\Auth\Session $backendSession
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Resource\HelperPool $helperPool,
-        \Magento\Backend\Model\Auth\Session $backendSession,
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Resource\Category\Tree $categoryTree,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Core\Model\Resource\HelperPool $helperPool,
+        \Magento\Backend\Model\Auth\Session $backendSession,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        array $data = array()
+    ) {
         $this->_helperPool = $helperPool;
         $this->_backendSession = $backendSession;
         $this->_categoryFactory = $categoryFactory;
-        parent::__construct($categoryTree, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $categoryTree, $registry, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Form/Renderer/Attribute/Urlkey.php b/app/code/Magento/Catalog/Block/Adminhtml/Form/Renderer/Attribute/Urlkey.php
index 2f1c035d736..a1cf464d6d0 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Form/Renderer/Attribute/Urlkey.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Form/Renderer/Attribute/Urlkey.php
@@ -50,23 +50,23 @@ class Urlkey
      */
     protected $_elementFactory;
 
-    /**
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        \Magento\Catalog\Helper\Data $catalogData,
+        array $data = array()
+    ) {
         $this->_elementFactory = $elementFactory;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getElementHtml()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Helper/Form/Wysiwyg/Content.php b/app/code/Magento/Catalog/Block/Adminhtml/Helper/Form/Wysiwyg/Content.php
index 1f7482f935b..c5b898f710d 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Helper/Form/Wysiwyg/Content.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Helper/Form/Wysiwyg/Content.php
@@ -41,24 +41,24 @@ class Content
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product.php b/app/code/Magento/Catalog/Block/Adminhtml/Product.php
index 3fccf671cb5..f7aac690456 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product.php
@@ -47,24 +47,24 @@ class Product extends \Magento\Adminhtml\Block\Widget\Container
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\TypeFactory $typeFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\TypeFactory $typeFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\TypeFactory $typeFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\TypeFactory $typeFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
         $this->_typeFactory = $typeFactory;
 
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php
index a4f227816cc..b4f277ec399 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit.php
@@ -46,20 +46,20 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php
index 2201dece316..baa0d5a08c1 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php
@@ -49,27 +49,27 @@ class Advanced
      */
     protected $_yesNo;
 
-    /**
-     * @param \Magento\Backend\Model\Config\Source\Yesno $yesNo
-     * @param \Magento\Eav\Helper\Data $eavData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Backend\Model\Config\Source\Yesno $yesNo
+     * @param \Magento\Eav\Helper\Data $eavData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Config\Source\Yesno $yesNo,
-        \Magento\Eav\Helper\Data $eavData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Backend\Model\Config\Source\Yesno $yesNo,
+        \Magento\Eav\Helper\Data $eavData,
+        array $data = array()
+    ) {
         $this->_yesNo = $yesNo;
         $this->_eavData = $eavData;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php
index c9cf6f1571e..dc181e25774 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php
@@ -42,24 +42,24 @@ class Front
      */
     protected $_yesNo;
 
-    /**
-     * @param \Magento\Backend\Model\Config\Source\Yesno $yesNo
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Backend\Model\Config\Source\Yesno $yesNo
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Config\Source\Yesno $yesNo,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Backend\Model\Config\Source\Yesno $yesNo,
+        array $data = array()
+    ) {
         $this->_yesNo = $yesNo;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Grid.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Grid.php
index 3ddc8d33263..b53a3bf69a6 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Grid.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Grid.php
@@ -40,25 +40,23 @@ class Grid extends \Magento\Eav\Block\Adminhtml\Attribute\Grid\AbstractGrid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_module = 'catalog';
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Created.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Created.php
index ef822d317db..cc3d422af24 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Created.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Created.php
@@ -55,26 +55,26 @@ class Created extends \Magento\Backend\Block\Widget
      */
     protected $_setFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
-     * @param \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
+     * @param \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
-        \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
+        \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_setFactory = $setFactory;
         $this->_attributeFactory = $attributeFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php
index 97c20a3d2b5..5b12d724600 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main.php
@@ -71,35 +71,35 @@ class Main extends \Magento\Backend\Block\Template
      */
     protected $_attributeFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\TypeFactory $typeFactory
-     * @param \Magento\Eav\Model\Entity\Attribute\GroupFactory $groupFactory
-     * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable\AttributeFactory $attributeFactory
-     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
-     * @param \Magento\Catalog\Helper\Product $catalogProduct
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Eav\Model\Entity\TypeFactory $typeFactory
+     * @param \Magento\Eav\Model\Entity\Attribute\GroupFactory $groupFactory
+     * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable\AttributeFactory $attributeFactory
+     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
+     * @param \Magento\Catalog\Helper\Product $catalogProduct
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\TypeFactory $typeFactory,
-        \Magento\Eav\Model\Entity\Attribute\GroupFactory $groupFactory,
-        \Magento\Catalog\Model\Resource\Product\Type\Configurable\AttributeFactory $attributeFactory,
-        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
-        \Magento\Catalog\Helper\Product $catalogProduct,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Eav\Model\Entity\TypeFactory $typeFactory,
+        \Magento\Eav\Model\Entity\Attribute\GroupFactory $groupFactory,
+        \Magento\Catalog\Model\Resource\Product\Type\Configurable\AttributeFactory $attributeFactory,
+        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
+        \Magento\Catalog\Helper\Product $catalogProduct,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_typeFactory = $typeFactory;
         $this->_groupFactory = $groupFactory;
         $this->_attributeFactory = $attributeFactory;
         $this->_collectionFactory = $collectionFactory;
         $this->_coreRegistry = $registry;
         $this->_catalogProduct = $catalogProduct;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formgroup.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formgroup.php
index e283eb0ff09..59a0ab8609e 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formgroup.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formgroup.php
@@ -40,24 +40,24 @@ class Formgroup
      */
     protected $_typeFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\TypeFactory $typeFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Eav\Model\Entity\TypeFactory $typeFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\TypeFactory $typeFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Eav\Model\Entity\TypeFactory $typeFactory,
+        array $data = array()
+    ) {
         $this->_typeFactory = $typeFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formset.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formset.php
index b7d1f94d04d..0828ebbab78 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formset.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Main/Formset.php
@@ -34,24 +34,24 @@ class Formset
      */
     protected $_setFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
+        array $data = array()
+    ) {
         $this->_setFactory = $setFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main/Filter.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main/Filter.php
index 31f542e8be6..2cf4226a935 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main/Filter.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main/Filter.php
@@ -40,24 +40,24 @@ class Filter
      */
     protected $_setFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Eav\Model\Entity\Attribute\SetFactory $setFactory,
+        array $data = array()
+    ) {
         $this->_setFactory = $setFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Configure.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Configure.php
index 667e8196b35..2dc36feddfb 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Configure.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Configure.php
@@ -54,23 +54,23 @@ class Configure extends \Magento\Adminhtml\Block\Widget
      */
     protected $_catalogProduct;
 
-    /**
-     * @param \Magento\Catalog\Model\Product $product
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product $product
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product $product,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product $product,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_catalogProduct = $product;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Error.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Error.php
index 7bab6937961..d005b863478 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Error.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Error.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Composite;
 
-class Error extends \Magento\Core\Block\Template
+class Error extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -42,20 +42,20 @@ class Error extends \Magento\Core\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset.php
index 55f915ebac8..bb81640b271 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Composite;
 
-class Fieldset extends \Magento\Core\Block\Text\ListText
+class Fieldset extends \Magento\View\Block\Text\ListText
 {
     /**
      *
@@ -47,7 +47,7 @@ class Fieldset extends \Magento\Core\Block\Text\ListText
         $total = count($children);
         $i = 0;
         $this->setText('');
-        /** @var $block \Magento\Core\Block\AbstractBlock  */
+        /** @var $block \Magento\View\Block\AbstractBlock  */
         foreach ($children as $block) {
             $i++;
             $block->setIsLastFieldset($i == $total);
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Grouped.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Grouped.php
index 57dd6fe48ba..ed712a68f64 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Grouped.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Grouped.php
@@ -40,26 +40,24 @@ class Grouped
     protected $_priceBlockDefaultTemplate = 'catalog/product/price.phtml';
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Stdlib\ArrayUtils $arrayUtils
      * @param \Magento\Tax\Model\Calculation $taxCalculation
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Stdlib\ArrayUtils $arrayUtils,
         \Magento\Tax\Model\Calculation $taxCalculation,
@@ -67,16 +65,7 @@ class Grouped
     ) {
         $this->_taxCalculation = $taxCalculation;
         parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $arrayUtils,
-            $data
+            $context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $arrayUtils, $data
         );
     }
 
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Qty.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Qty.php
index 5ad377bfe6a..10318696be4 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Qty.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/Qty.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Composite\Fieldset;
 
-class Qty extends \Magento\Core\Block\Template
+class Qty extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -38,20 +38,20 @@ class Qty extends \Magento\Core\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Update/Result.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Update/Result.php
index 34d75a06bbd..dde58155e80 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Update/Result.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Composite/Update/Result.php
@@ -35,7 +35,7 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Composite\Update;
 
-class Result extends \Magento\Core\Block\Template
+class Result extends \Magento\View\Block\Template
 {
     /**
      * Adminhtml js
@@ -51,23 +51,23 @@ class Result extends \Magento\Core\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Adminhtml\Helper\Js $adminhtmlJs
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Helper\Js $adminhtmlJs
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Helper\Js $adminhtmlJs,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Helper\Js $adminhtmlJs,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_adminhtmlJs = $adminhtmlJs;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Created.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Created.php
index 9f593f53a85..94993e6faf3 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Created.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Created.php
@@ -48,20 +48,20 @@ class Created extends \Magento\Adminhtml\Block\Widget
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php
index fefd6246b43..3f4a8026e08 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit.php
@@ -49,23 +49,23 @@ class Edit extends \Magento\Backend\Block\Widget
      */
     protected $_attributeSetFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $attributeSetFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Eav\Model\Entity\Attribute\SetFactory $attributeSetFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Entity\Attribute\SetFactory $attributeSetFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Eav\Model\Entity\Attribute\SetFactory $attributeSetFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_attributeSetFactory = $attributeSetFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute.php
index 35cc3d1dd58..a3518827035 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute.php
@@ -44,20 +44,20 @@ class Attribute extends \Magento\Adminhtml\Block\Widget
      */
     protected $_helperActionAttribute = null;
 
-    /**
-     * @param \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helperActionAttribute
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helperActionAttribute
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helperActionAttribute,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helperActionAttribute,
+        array $data = array()
+    ) {
         $this->_helperActionAttribute = $helperActionAttribute;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.php
index 63a3b96a442..bbf5f15c66d 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.php
@@ -43,24 +43,24 @@ class Attributes
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Inventory.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Inventory.php
index 85cb43ba9dc..16707d06ac9 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Inventory.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Inventory.php
@@ -42,20 +42,20 @@ class Inventory
      */
     protected $_backorders;
 
-    /**
-     * @param \Magento\CatalogInventory\Model\Source\Backorders $backorders
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\CatalogInventory\Model\Source\Backorders $backorders
+     * @param array $data
      */
-    public function __construct(
-        \Magento\CatalogInventory\Model\Source\Backorders $backorders,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\CatalogInventory\Model\Source\Backorders $backorders,
+        array $data = array()
+    ) {
         $this->_backorders = $backorders;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/AttributeSet.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/AttributeSet.php
index a6a76c898ab..480a1f8e60f 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/AttributeSet.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/AttributeSet.php
@@ -42,20 +42,20 @@ class AttributeSet extends \Magento\Backend\Block\Widget\Form
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Js.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Js.php
index 4888ebc2875..f18d195891e 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Js.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Js.php
@@ -35,20 +35,20 @@ class Js extends \Magento\Adminhtml\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/NewCategory.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/NewCategory.php
index 4045d0db1f7..ce1b092e0ab 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/NewCategory.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/NewCategory.php
@@ -38,23 +38,23 @@ namespace Magento\Catalog\Block\Adminhtml\Product\Edit;
  */
 class NewCategory extends \Magento\Backend\Block\Widget\Form\Generic
 {
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->setUseContainer(true);
         $this->_categoryFactory = $categoryFactory;
     }
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php
index 044371b0654..9e62dda5b00 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Ajax/Serializer.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Ajax;
 
-class Serializer extends \Magento\Core\Block\Template
+class Serializer extends \Magento\View\Block\Template
 {
     public function _construct()
     {
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Price.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Price.php
index 3c0bdf702a9..e705bb1ceb3 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Price.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Price.php
@@ -48,27 +48,25 @@ class Price extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_priceFactory;
 
-    /**
-     * @param \Magento\ProductAlert\Model\PriceFactory $priceFactory
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\ProductAlert\Model\PriceFactory $priceFactory
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\ProductAlert\Model\PriceFactory $priceFactory,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\ProductAlert\Model\PriceFactory $priceFactory,
+        \Magento\Catalog\Helper\Data $catalogData,
+        array $data = array()
+    ) {
         $this->_priceFactory = $priceFactory;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Stock.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Stock.php
index ff9081f8f5c..7460e9d1fbb 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Stock.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Alerts/Stock.php
@@ -48,27 +48,25 @@ class Stock extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_stockFactory;
 
-    /**
-     * @param \Magento\ProductAlert\Model\StockFactory $stockFactory
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\ProductAlert\Model\StockFactory $stockFactory
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\ProductAlert\Model\StockFactory $stockFactory,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\ProductAlert\Model\StockFactory $stockFactory,
+        \Magento\Catalog\Helper\Data $catalogData,
+        array $data = array()
+    ) {
         $this->_stockFactory = $stockFactory;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php
index d00d21075d6..f2960deaa20 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php
@@ -47,27 +47,27 @@ class Attributes extends \Magento\Catalog\Block\Adminhtml\Form
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
         $this->_catalogData = $catalogData;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes/Search.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes/Search.php
index ceebf65883d..9fa51ea9b55 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes/Search.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes/Search.php
@@ -52,26 +52,26 @@ class Search extends \Magento\Backend\Block\Widget
      */
     protected $_helperPool;
 
-    /**
-     * @param \Magento\Core\Model\Resource\HelperPool $helperPool
-     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Resource\HelperPool $helperPool
+     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Resource\HelperPool $helperPool,
-        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Resource\HelperPool $helperPool,
+        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_helperPool = $helperPool;
         $this->_collectionFactory = $collectionFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php
index f4cd6aedeac..f5220902e9b 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Crosssell.php
@@ -72,36 +72,32 @@ class Crosssell extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_visibility;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\Product\Type $type
-     * @param \Magento\Catalog\Model\Product\Status $status
-     * @param \Magento\Catalog\Model\Product\Visibility $visibility
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\Product\Type $type
+     * @param \Magento\Catalog\Model\Product\Status $status
+     * @param \Magento\Catalog\Model\Product\Visibility $visibility
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\Product\Type $type,
-        \Magento\Catalog\Model\Product\Status $status,
-        \Magento\Catalog\Model\Product\Visibility $visibility,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\Product\Type $type,
+        \Magento\Catalog\Model\Product\Status $status,
+        \Magento\Catalog\Model\Product\Visibility $visibility,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_linkFactory = $linkFactory;
         $this->_setsFactory = $setsFactory;
         $this->_productFactory = $productFactory;
@@ -109,7 +105,7 @@ class Crosssell extends \Magento\Adminhtml\Block\Widget\Grid
         $this->_status = $status;
         $this->_visibility = $visibility;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
index 9a7a7dd7d6d..613b4b31b2d 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Inventory.php
@@ -42,11 +42,6 @@ class Inventory extends \Magento\Adminhtml\Block\Widget
      */
     protected $_catalogData = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Core\Helper\Data $coreData
@@ -66,32 +61,29 @@ class Inventory extends \Magento\Adminhtml\Block\Widget
      */
     protected $_backorders;
 
-    /**
-     * @param \Magento\CatalogInventory\Model\Source\Backorders $backorders
-     * @param \Magento\CatalogInventory\Model\Source\Stock $stock
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\CatalogInventory\Model\Source\Backorders $backorders
+     * @param \Magento\CatalogInventory\Model\Source\Stock $stock
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\CatalogInventory\Model\Source\Backorders $backorders,
-        \Magento\CatalogInventory\Model\Source\Stock $stock,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\CatalogInventory\Model\Source\Backorders $backorders,
+        \Magento\CatalogInventory\Model\Source\Stock $stock,
+        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_stock = $stock;
         $this->_backorders = $backorders;
         $this->_catalogData = $catalogData;
         $this->_coreRegistry = $coreRegistry;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getBackordersOption()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Option.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Option.php
index b10e34625fd..288e9b82163 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Option.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Option.php
@@ -66,32 +66,32 @@ class Option extends \Magento\Adminhtml\Block\Widget
      */
     protected $_optionType;
 
-    /**
-     * @param \Magento\Backend\Model\Config\Source\Yesno $configYesNo
-     * @param \Magento\Catalog\Model\Config\Source\Product\Options\Type $optionType
-     * @param \Magento\Catalog\Model\Product $product
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Catalog\Model\ProductOptions\ConfigInterface $productOptionConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Config\Source\Yesno $configYesNo
+     * @param \Magento\Catalog\Model\Config\Source\Product\Options\Type $optionType
+     * @param \Magento\Catalog\Model\Product $product
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Catalog\Model\ProductOptions\ConfigInterface $productOptionConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Config\Source\Yesno $configYesNo,
-        \Magento\Catalog\Model\Config\Source\Product\Options\Type $optionType,
-        \Magento\Catalog\Model\Product $product,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Catalog\Model\ProductOptions\ConfigInterface $productOptionConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Config\Source\Yesno $configYesNo,
+        \Magento\Catalog\Model\Config\Source\Product\Options\Type $optionType,
+        \Magento\Catalog\Model\Product $product,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Catalog\Model\ProductOptions\ConfigInterface $productOptionConfig,
+        array $data = array()
+    ) {
         $this->_optionType = $optionType;
         $this->_configYesNo = $configYesNo;
         $this->_product = $product;
         $this->_productOptionConfig = $productOptionConfig;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Type/AbstractType.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Type/AbstractType.php
index d8b94b774f7..7d0065a0ac2 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Type/AbstractType.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Type/AbstractType.php
@@ -43,20 +43,20 @@ class AbstractType extends \Magento\Adminhtml\Block\Widget
      */
     protected $_optionPrice;
 
-    /**
-     * @param \Magento\Catalog\Model\Config\Source\Product\Options\Price $optionPrice
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Config\Source\Product\Options\Price $optionPrice
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Config\Source\Product\Options\Price $optionPrice,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Config\Source\Product\Options\Price $optionPrice,
+        array $data = array()
+    ) {
         $this->_optionPrice = $optionPrice;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Group/AbstractGroup.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Group/AbstractGroup.php
index 33352b03936..a834234f542 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Group/AbstractGroup.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Group/AbstractGroup.php
@@ -82,29 +82,29 @@ abstract class AbstractGroup
      */
     protected $_groupFactory;
 
-    /**
-     * @param \Magento\Customer\Model\GroupFactory $groupFactory
-     * @param \Magento\Directory\Helper\Data $directoryHelper
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\GroupFactory $groupFactory
+     * @param \Magento\Directory\Helper\Data $directoryHelper
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\GroupFactory $groupFactory,
-        \Magento\Directory\Helper\Data $directoryHelper,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\GroupFactory $groupFactory,
+        \Magento\Directory\Helper\Data $directoryHelper,
+        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_groupFactory = $groupFactory;
         $this->_directoryHelper = $directoryHelper;
         $this->_catalogData = $catalogData;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Recurring.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Recurring.php
index be02daf35d7..8d6a526a33e 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Recurring.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Price/Recurring.php
@@ -39,20 +39,20 @@ class Recurring
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php
index 84f15aff751..118da106ba3 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Related.php
@@ -72,36 +72,32 @@ class Related extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_visibility;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\Product\Type $type
-     * @param \Magento\Catalog\Model\Product\Status $status
-     * @param \Magento\Catalog\Model\Product\Visibility $visibility
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\Product\Type $type
+     * @param \Magento\Catalog\Model\Product\Status $status
+     * @param \Magento\Catalog\Model\Product\Visibility $visibility
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\Product\Type $type,
-        \Magento\Catalog\Model\Product\Status $status,
-        \Magento\Catalog\Model\Product\Visibility $visibility,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\Product\Type $type,
+        \Magento\Catalog\Model\Product\Status $status,
+        \Magento\Catalog\Model\Product\Visibility $visibility,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_linkFactory = $linkFactory;
         $this->_setsFactory = $setsFactory;
         $this->_productFactory = $productFactory;
@@ -109,7 +105,7 @@ class Related extends \Magento\Adminhtml\Block\Widget\Grid
         $this->_status = $status;
         $this->_visibility = $visibility;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config.php
index 4e7c7a1b709..90bb3fd6c7e 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config.php
@@ -46,16 +46,6 @@ class Config
      */
     protected $_catalogData = null;
 
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_storeManager;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * Core registry
      *
@@ -69,31 +59,25 @@ class Config
     protected $_configurableType;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Product\Type\Configurable $configurableType
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Product\Type\Configurable $configurableType,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Model\App $app,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
         $this->_configurableType = $configurableType;
         $this->_coreRegistry = $coreRegistry;
         $this->_catalogData = $catalogData;
-        $this->_storeManager = $app;
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -165,20 +149,6 @@ class Config
         ));
         $this->addChild('super_settings', 'Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Super\Settings');
 
-// @todo: Remove unused code and blocks
-//        if ($this->getProduct()->getId()) {
-//            $this->setChild('simple',
-//                $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Super\Config\Simple',
-//                    'catalog.product.edit.tab.super.config.simple')
-//            );
-//
-//            $this->addChild('create_from_configurable', 'Magento\Adminhtml\Block\Widget\Button', array(
-//                'label' => __('Copy From Configurable'),
-//                'class' => 'add',
-//                'onclick' => 'superProduct.createNewProduct()'
-//            ));
-//        }
-
         $this->addChild(
             'generate',
             'Magento\Backend\Block\Widget\Button',
@@ -489,7 +459,7 @@ class Config
      */
     public function getApp()
     {
-        return $this->_storeManager;
+        return $this->_app;
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Grid/Renderer/Checkbox.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Grid/Renderer/Checkbox.php
index 5da7411049b..d5a2e2e2da6 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Grid/Renderer/Checkbox.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Grid/Renderer/Checkbox.php
@@ -43,18 +43,18 @@ class Checkbox extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Chec
      */
     protected $_coreData = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Backend\Block\Widget\Grid\Column\Renderer\Options\Converter $converter,
+        \Magento\Core\Helper\Data $coreData,
+        array $data = array()
+    ) {
         $this->_coreData = $coreData;
         parent::__construct($context, $converter, $data);
     }
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Matrix.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Matrix.php
index e1dcda84f92..f8bc14458e7 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Matrix.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Matrix.php
@@ -36,12 +36,6 @@ namespace Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Super\Config;
 class Matrix
     extends \Magento\Backend\Block\Template
 {
-    /** @var \Magento\Core\Model\App */
-    protected $_application;
-
-    /** @var \Magento\Core\Model\LocaleInterface */
-    protected $_locale;
-
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * Core registry
@@ -65,35 +59,29 @@ class Matrix
      */
     protected $_config;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\Type\Configurable $configurableType
-     * @param \Magento\Catalog\Model\Config $config
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\Type\Configurable $configurableType
+     * @param \Magento\Catalog\Model\Config $config
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\Type\Configurable $configurableType,
-        \Magento\Catalog\Model\Config $config,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\Type\Configurable $configurableType,
+        \Magento\Catalog\Model\Config $config,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_configurableType = $configurableType;
         $this->_productFactory = $productFactory;
         $this->_config = $config;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $data);
-        $this->_application = $application;
-        $this->_locale = $locale;
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -104,7 +92,7 @@ class Matrix
      */
     public function renderPrice($price)
     {
-        return $this->_locale->currency($this->_application->getBaseCurrencyCode())->toCurrency(sprintf('%f', $price));
+        return $this->_locale->currency($this->_app->getBaseCurrencyCode())->toCurrency(sprintf('%f', $price));
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Simple.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Simple.php
index 0f7993bcc1f..54c0fa632e8 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Simple.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/Simple.php
@@ -48,28 +48,28 @@ class Simple
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
-        parent::__construct($wysiwygConfig, $formFactory, $catalogData, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $wysiwygConfig, $catalogData, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Settings.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Settings.php
index 192a12d363f..977eb645793 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Settings.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Settings.php
@@ -40,24 +40,24 @@ class Settings extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_configurableType;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\Type\Configurable $configurableType
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Catalog\Model\Product\Type\Configurable $configurableType
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\Type\Configurable $configurableType,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Catalog\Model\Product\Type\Configurable $configurableType,
+        array $data = array()
+    ) {
         $this->_configurableType = $configurableType;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php
index ddecd88716b..1b983bc8448 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Upsell.php
@@ -72,36 +72,32 @@ class Upsell extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_visibility;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\Product\Type $type
-     * @param \Magento\Catalog\Model\Product\Status $status
-     * @param \Magento\Catalog\Model\Product\Visibility $visibility
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\Product\LinkFactory $linkFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\Product\Type $type
+     * @param \Magento\Catalog\Model\Product\Status $status
+     * @param \Magento\Catalog\Model\Product\Visibility $visibility
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\Product\Type $type,
-        \Magento\Catalog\Model\Product\Status $status,
-        \Magento\Catalog\Model\Product\Visibility $visibility,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\Product\LinkFactory $linkFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\Product\Type $type,
+        \Magento\Catalog\Model\Product\Status $status,
+        \Magento\Catalog\Model\Product\Visibility $visibility,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_linkFactory = $linkFactory;
         $this->_setsFactory = $setsFactory;
         $this->_productFactory = $productFactory;
@@ -109,7 +105,7 @@ class Upsell extends \Magento\Adminhtml\Block\Widget\Grid
         $this->_status = $status;
         $this->_visibility = $visibility;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Websites.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Websites.php
index ea8e21ac25c..0091dc7b01d 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Websites.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Websites.php
@@ -46,32 +46,26 @@ class Websites extends \Magento\Backend\Block\Store\Switcher
      */
     protected $_coreRegistry = null;
 
-    /**
-     * Constructor
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\Website\Factory $websiteFactory
-     * @param \Magento\Core\Model\Store\Group\Factory $storeGroupFactory
-     * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Website\Factory $websiteFactory
+     * @param \Magento\Core\Model\Store\Group\Factory $storeGroupFactory
+     * @param \Magento\Core\Model\StoreFactory $storeFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\Website\Factory $websiteFactory,
-        \Magento\Core\Model\Store\Group\Factory $storeGroupFactory,
-        \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Website\Factory $websiteFactory,
+        \Magento\Core\Model\Store\Group\Factory $storeGroupFactory,
+        \Magento\Core\Model\StoreFactory $storeFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct(
-            $coreData, $context, $application, $websiteFactory, $storeGroupFactory, $storeFactory, $data
-        );
+        parent::__construct($context, $coreData, $websiteFactory, $storeGroupFactory, $storeFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tabs.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tabs.php
index 0ce48e8f4c6..915f01943f0 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tabs.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tabs.php
@@ -66,31 +66,31 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory
-     * @param \Magento\Catalog\Helper\Catalog $helperCatalog
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory
+     * @param \Magento\Catalog\Helper\Catalog $helperCatalog
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory,
-        \Magento\Catalog\Helper\Catalog $helperCatalog,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Group\CollectionFactory $collectionFactory,
+        \Magento\Catalog\Helper\Catalog $helperCatalog,
+        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_helperCatalog = $helperCatalog;
         $this->_catalogData = $catalogData;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Frontend/Product/Watermark.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Frontend/Product/Watermark.php
index e0fe599ae81..e18930377ac 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Frontend/Product/Watermark.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Frontend/Product/Watermark.php
@@ -57,22 +57,22 @@ class Watermark
      */
     protected $_imageTypes;
 
-    /**
-     * @param \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition
-     * @param \Magento\Backend\Block\System\Config\Form\Field $formField
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $imageTypes
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition
+     * @param \Magento\Backend\Block\System\Config\Form\Field $formField
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param array $data
+     * @param array $imageTypes
      */
-    public function __construct(
-        \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition,
-        \Magento\Backend\Block\System\Config\Form\Field $formField,
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Backend\Block\Context $context,
-        array $imageTypes = array(),
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Catalog\Model\Config\Source\Watermark\Position $watermarkPosition,
+        \Magento\Backend\Block\System\Config\Form\Field $formField,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        array $data = array(),
+        array $imageTypes = array()
+    ) {
         $this->_watermarkPosition = $watermarkPosition;
         $this->_formField = $formField;
         $this->_elementFactory = $elementFactory;
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php
index 1d7683e4829..306e7bff497 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Grid.php
@@ -72,36 +72,32 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_websiteFactory;
 
-    /**
-     * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\Product\Type $type
-     * @param \Magento\Catalog\Model\Product\Status $status
-     * @param \Magento\Catalog\Model\Product\Visibility $visibility
-     * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\Product\Type $type
+     * @param \Magento\Catalog\Model\Product\Status $status
+     * @param \Magento\Catalog\Model\Product\Visibility $visibility
+     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\WebsiteFactory $websiteFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\Product\Type $type,
-        \Magento\Catalog\Model\Product\Status $status,
-        \Magento\Catalog\Model\Product\Visibility $visibility,
-        \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Core\Model\WebsiteFactory $websiteFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setsFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\Product\Type $type,
+        \Magento\Catalog\Model\Product\Status $status,
+        \Magento\Catalog\Model\Product\Visibility $visibility,
+        \Magento\Catalog\Helper\Data $catalogData,
+        array $data = array()
+    ) {
         $this->_websiteFactory = $websiteFactory;
         $this->_setsFactory = $setsFactory;
         $this->_productFactory = $productFactory;
@@ -109,7 +105,7 @@ class Grid extends \Magento\Backend\Block\Widget\Grid\Extended
         $this->_status = $status;
         $this->_visibility = $visibility;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery.php
index 45bb07ea552..98e85e6076e 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery.php
@@ -37,7 +37,7 @@ namespace Magento\Catalog\Block\Adminhtml\Product\Helper\Form;
 class Gallery extends \Magento\Data\Form\Element\AbstractElement
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -48,7 +48,7 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
 
     /**
      * @param \Magento\View\LayoutInterface $layout
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Escaper $escaper
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
@@ -56,7 +56,7 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
      */
     public function __construct(
         \Magento\View\LayoutInterface $layout,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Escaper $escaper,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
index bed0f7f9245..51c2f9046c1 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
@@ -45,20 +45,20 @@ class Content extends \Magento\Backend\Block\Widget
      */
     protected $_mediaConfig;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\Media\Config $mediaConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\Media\Config $mediaConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\Media\Config $mediaConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\Media\Config $mediaConfig,
+        array $data = array()
+    ) {
         $this->_mediaConfig = $mediaConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Price.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Price.php
index d3c52d75425..c4c19bab144 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Price.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Price.php
@@ -53,7 +53,7 @@ class Price extends \Magento\Data\Form\Element\Text
     protected $_locale;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Escaper $escaper
      * @param \Magento\Data\Form\Element\Factory $factoryElement
@@ -62,7 +62,7 @@ class Price extends \Magento\Data\Form\Element\Text
      * @param array $attributes
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Escaper $escaper,
         \Magento\Data\Form\Element\Factory $factoryElement,
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Options/Ajax.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Options/Ajax.php
index c8bfb58fc85..477426fa370 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Options/Ajax.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Options/Ajax.php
@@ -54,20 +54,20 @@ class Ajax extends \Magento\Backend\Block\AbstractBlock
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_coreData = $coreData;
         $this->_productFactory = $productFactory;
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Widget/Chooser.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Widget/Chooser.php
index 72fee202370..79cdc85bc81 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Widget/Chooser.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Widget/Chooser.php
@@ -57,33 +57,31 @@ class Chooser extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_categoryFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $collectionFactory
-     * @param \Magento\Catalog\Model\Resource\Category $resourceCategory
-     * @param \Magento\Catalog\Model\Resource\Product $resourceProduct
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
+     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $collectionFactory
+     * @param \Magento\Catalog\Model\Resource\Category $resourceCategory
+     * @param \Magento\Catalog\Model\Resource\Product $resourceProduct
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Catalog\Model\Resource\Product\CollectionFactory $collectionFactory,
-        \Magento\Catalog\Model\Resource\Category $resourceCategory,
-        \Magento\Catalog\Model\Resource\Product $resourceProduct,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\CategoryFactory $categoryFactory,
+        \Magento\Catalog\Model\Resource\Product\CollectionFactory $collectionFactory,
+        \Magento\Catalog\Model\Resource\Category $resourceCategory,
+        \Magento\Catalog\Model\Resource\Product $resourceProduct,
+        array $data = array()
+    ) {
         $this->_categoryFactory = $categoryFactory;
         $this->_collectionFactory = $collectionFactory;
         $this->_resourceCategory = $resourceCategory;
         $this->_resourceProduct = $resourceProduct;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit.php b/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit.php
index 02738604f83..d5e8538e586 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit/Form.php b/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit/Form.php
index 739307f6723..e1eb0d9aac5 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit/Form.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Search/Edit/Form.php
@@ -41,24 +41,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Breadcrumbs.php b/app/code/Magento/Catalog/Block/Breadcrumbs.php
index b9434101fde..f2a9fb0b0d3 100644
--- a/app/code/Magento/Catalog/Block/Breadcrumbs.php
+++ b/app/code/Magento/Catalog/Block/Breadcrumbs.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block;
 
-class Breadcrumbs extends \Magento\Core\Block\Template
+class Breadcrumbs extends \Magento\View\Block\Template
 {
     /**
      * Catalog data
@@ -43,31 +43,19 @@ class Breadcrumbs extends \Magento\Core\Block\Template
     protected $_catalogData = null;
 
     /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Category/View.php b/app/code/Magento/Catalog/Block/Category/View.php
index 60a8d233fa2..e7434c4d782 100644
--- a/app/code/Magento/Catalog/Block/Category/View.php
+++ b/app/code/Magento/Catalog/Block/Category/View.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Category;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -50,34 +50,22 @@ class View extends \Magento\Core\Block\Template
     protected $_catalogLayer;
 
     /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Catalog\Model\Layer $catalogLayer
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Catalog\Model\Layer $catalogLayer,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Model\Layer $catalogLayer,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_catalogLayer = $catalogLayer;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Category/Widget/Link.php b/app/code/Magento/Catalog/Block/Category/Widget/Link.php
index ef7cbf1ed6e..a89e445717e 100644
--- a/app/code/Magento/Catalog/Block/Category/Widget/Link.php
+++ b/app/code/Magento/Catalog/Block/Category/Widget/Link.php
@@ -38,24 +38,20 @@ class Link
     extends \Magento\Catalog\Block\Widget\Link
 {
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite
      * @param \Magento\Catalog\Model\Resource\Category $resourceCategory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite,
         \Magento\Catalog\Model\Resource\Category $resourceCategory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
-        parent::__construct($urlRewrite, $storeManager, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $urlRewrite, $data);
         $this->_entityResource = $resourceCategory;
     }
 }
diff --git a/app/code/Magento/Catalog/Block/Layer/Filter/AbstractFilter.php b/app/code/Magento/Catalog/Block/Layer/Filter/AbstractFilter.php
index cfe62c714e2..69f5eda44bf 100644
--- a/app/code/Magento/Catalog/Block/Layer/Filter/AbstractFilter.php
+++ b/app/code/Magento/Catalog/Block/Layer/Filter/AbstractFilter.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Layer\Filter;
 
-abstract class AbstractFilter extends \Magento\Core\Block\Template
+abstract class AbstractFilter extends \Magento\View\Block\Template
 {
     /**
      * Catalog Layer Filter Attribute model
@@ -77,24 +77,22 @@ abstract class AbstractFilter extends \Magento\Core\Block\Template
     protected $_layerFilterFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Model\Layer\Filter\Factory $layerFilterFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Model\Layer\Filter\Factory $layerFilterFactory,
         array $data = array()
     ) {
         $this->_catalogData = $catalogData;
         $this->_layerFilterFactory = $layerFilterFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Layer/State.php b/app/code/Magento/Catalog/Block/Layer/State.php
index 0dc30be6f23..095bb937851 100644
--- a/app/code/Magento/Catalog/Block/Layer/State.php
+++ b/app/code/Magento/Catalog/Block/Layer/State.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Layer;
 
-class State extends \Magento\Core\Block\Template
+class State extends \Magento\View\Block\Template
 {
     protected $_template = 'layer/state.phtml';
 
@@ -45,21 +45,19 @@ class State extends \Magento\Core\Block\Template
     protected $_catalogLayer;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Catalog\Model\Layer $catalogLayer
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Model\Layer $catalogLayer,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Model\Layer $catalogLayer,
         array $data = array()
     ) {
         $this->_catalogLayer = $catalogLayer;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Layer/View.php b/app/code/Magento/Catalog/Block/Layer/View.php
index a1b6c7cd26a..6be814a2a5d 100644
--- a/app/code/Magento/Catalog/Block/Layer/View.php
+++ b/app/code/Magento/Catalog/Block/Layer/View.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Layer;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * State block name
@@ -78,21 +78,19 @@ class View extends \Magento\Core\Block\Template
     protected $_catalogLayer;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Catalog\Model\Layer $catalogLayer
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Model\Layer $catalogLayer,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Model\Layer $catalogLayer,
         array $data = array()
     ) {
         $this->_catalogLayer = $catalogLayer;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Navigation.php b/app/code/Magento/Catalog/Block/Navigation.php
index 04ee7fa90c8..1554da667a3 100644
--- a/app/code/Magento/Catalog/Block/Navigation.php
+++ b/app/code/Magento/Catalog/Block/Navigation.php
@@ -31,7 +31,7 @@ namespace Magento\Catalog\Block;
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Navigation extends \Magento\Core\Block\Template
+class Navigation extends \Magento\View\Block\Template
 {
     protected $_categoryInstance = null;
 
@@ -82,13 +82,6 @@ class Navigation extends \Magento\Core\Block\Template
      */
     protected $_catalogLayer;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Product collection factory
      *
@@ -97,42 +90,37 @@ class Navigation extends \Magento\Core\Block\Template
     protected $_productCollectionFactory;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat
      * @param \Magento\Catalog\Helper\Category $catalogCategory
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Layer $catalogLayer,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat,
         \Magento\Catalog\Helper\Category $catalogCategory,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_productCollectionFactory = $productCollectionFactory;
-        $this->_storeManager = $storeManager;
         $this->_catalogLayer = $catalogLayer;
         $this->_customerSession = $customerSession;
         $this->_catalogCategoryFlat = $catalogCategoryFlat;
         $this->_catalogCategory = $catalogCategory;
         $this->_registry = $registry;
         $this->_categoryInstance = $categoryFactory->create();
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Catalog/Block/Product.php b/app/code/Magento/Catalog/Block/Product.php
index 891a183dcf1..e104a80f49d 100644
--- a/app/code/Magento/Catalog/Block/Product.php
+++ b/app/code/Magento/Catalog/Block/Product.php
@@ -24,10 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Catalog\Block;
 
-class Product extends \Magento\Core\Block\Template
+class Product extends \Magento\View\Block\Template
 {
     protected $_finalPrice = array();
 
@@ -39,21 +38,19 @@ class Product extends \Magento\Core\Block\Template
     protected $_productFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
         array $data = array()
     ) {
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getProduct()
diff --git a/app/code/Magento/Catalog/Block/Product/AbstractProduct.php b/app/code/Magento/Catalog/Block/Product/AbstractProduct.php
index bf01e61be60..502efcdf9d0 100644
--- a/app/code/Magento/Catalog/Block/Product/AbstractProduct.php
+++ b/app/code/Magento/Catalog/Block/Product/AbstractProduct.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product;
 
-abstract class AbstractProduct extends \Magento\Core\Block\Template
+abstract class AbstractProduct extends \Magento\View\Block\Template
 {
     protected $_priceBlock = array();
 
@@ -109,49 +109,37 @@ abstract class AbstractProduct extends \Magento\Core\Block\Template
      */
     protected $_catalogConfig;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Math\Random
      */
     protected $mathRandom;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_catalogConfig = $catalogConfig;
-        $this->_coreRegistry = $coreRegistry;
+        $this->_coreRegistry = $registry;
         $this->_taxData = $taxData;
         $this->_catalogData = $catalogData;
         $this->mathRandom = $mathRandom;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -267,7 +255,7 @@ abstract class AbstractProduct extends \Magento\Core\Block\Template
      * Prepares and returns block to render some product type
      *
      * @param string $productType
-     * @return \Magento\Core\Block\Template
+     * @return \Magento\View\Block\Template
      */
     public function _preparePriceRenderer($productType)
     {
diff --git a/app/code/Magento/Catalog/Block/Product/Compare/AbstractCompare.php b/app/code/Magento/Catalog/Block/Product/Compare/AbstractCompare.php
index 5cf07ba9f17..4fb668446a6 100644
--- a/app/code/Magento/Catalog/Block/Product/Compare/AbstractCompare.php
+++ b/app/code/Magento/Catalog/Block/Product/Compare/AbstractCompare.php
@@ -44,41 +44,29 @@ abstract class AbstractCompare extends \Magento\Catalog\Block\Product\AbstractPr
     protected $_catalogProductCompare = null;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Helper\Product\Compare $catalogProductCompare
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Helper\Product\Compare $catalogProductCompare,
         array $data = array()
     ) {
         $this->_catalogProductCompare = $catalogProductCompare;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php b/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php
index fea4805604a..41aa1b04033 100644
--- a/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php
+++ b/app/code/Magento/Catalog/Block/Product/Compare/ListCompare.php
@@ -100,13 +100,12 @@ class ListCompare extends \Magento\Catalog\Block\Product\Compare\AbstractCompare
     protected $_itemCollectionFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Helper\Product\Compare $catalogProductCompare
      * @param \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemCollectionFactory
@@ -116,13 +115,12 @@ class ListCompare extends \Magento\Catalog\Block\Product\Compare\AbstractCompare
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Helper\Product\Compare $catalogProductCompare,
         \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemCollectionFactory,
@@ -136,13 +134,12 @@ class ListCompare extends \Magento\Catalog\Block\Product\Compare\AbstractCompare
         $this->_logVisitor = $logVisitor;
         $this->_customerSession = $customerSession;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $catalogProductCompare,
             $data
@@ -158,7 +155,7 @@ class ListCompare extends \Magento\Catalog\Block\Product\Compare\AbstractCompare
     public function getAddToWishlistUrl($product)
     {
         $continueUrl    = $this->_coreData->urlEncode($this->getUrl('customer/account'));
-        $urlParamName   = \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED;
+        $urlParamName   = \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED;
 
         $params = array(
             $urlParamName   => $continueUrl
diff --git a/app/code/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSet.php b/app/code/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSet.php
index c2dbc46494e..db7c4a8f099 100644
--- a/app/code/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSet.php
+++ b/app/code/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSet.php
@@ -55,8 +55,8 @@ class ColumnSet
     protected $_productType;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory $generatorFactory
      * @param \Magento\Backend\Model\Widget\Grid\SubTotals $subtotals
      * @param \Magento\Backend\Model\Widget\Grid\Totals $totals
@@ -65,8 +65,8 @@ class ColumnSet
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory $generatorFactory,
         \Magento\Backend\Model\Widget\Grid\SubTotals $subtotals,
         \Magento\Backend\Model\Widget\Grid\Totals $totals,
@@ -74,7 +74,7 @@ class ColumnSet
         \Magento\Core\Model\Registry $registryManager,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $generatorFactory, $subtotals, $totals, $data);
+        parent::__construct($context, $coreData, $generatorFactory, $subtotals, $totals, $data);
 
         $this->_registryManager = $registryManager;
         $this->_productType = $productType;
diff --git a/app/code/Magento/Catalog/Block/Product/Configurable/AttributeSelector.php b/app/code/Magento/Catalog/Block/Product/Configurable/AttributeSelector.php
index 83d510c0702..e39b31cc2ac 100644
--- a/app/code/Magento/Catalog/Block/Product/Configurable/AttributeSelector.php
+++ b/app/code/Magento/Catalog/Block/Product/Configurable/AttributeSelector.php
@@ -47,25 +47,23 @@ class AttributeSelector extends \Magento\Backend\Block\Template
      */
     protected $_resourceHelper;
 
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $attributeColFactory
-     * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $attributeColFactory
+     * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $attributeColFactory,
-        \Magento\Catalog\Model\Resource\Helper $resourceHelper,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $attributeColFactory,
+        \Magento\Catalog\Model\Resource\Helper $resourceHelper,
+        array $data = array()
+    ) {
         $this->_attributeColFactory = $attributeColFactory;
         $this->_resourceHelper = $resourceHelper;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/Gallery.php b/app/code/Magento/Catalog/Block/Product/Gallery.php
index d3166820fa4..077d15f1f87 100644
--- a/app/code/Magento/Catalog/Block/Product/Gallery.php
+++ b/app/code/Magento/Catalog/Block/Product/Gallery.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Product;
 
-class Gallery extends \Magento\Core\Block\Template
+class Gallery extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -43,19 +43,19 @@ class Gallery extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Catalog/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php b/app/code/Magento/Catalog/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php
index af825348494..8a540fbfbb5 100644
--- a/app/code/Magento/Catalog/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php
+++ b/app/code/Magento/Catalog/Block/Product/Grouped/AssociatedProducts/ListAssociatedProducts.php
@@ -35,13 +35,6 @@ namespace Magento\Catalog\Block\Product\Grouped\AssociatedProducts;
 
 class ListAssociatedProducts extends \Magento\Backend\Block\Template
 {
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * Registry
      *
@@ -49,22 +42,19 @@ class ListAssociatedProducts extends \Magento\Backend\Block\Template
      */
     protected $_registry;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_storeManager = $storeManager;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_registry = $registry;
     }
 
diff --git a/app/code/Magento/Catalog/Block/Product/Image.php b/app/code/Magento/Catalog/Block/Product/Image.php
index a39de763905..7489db03a24 100644
--- a/app/code/Magento/Catalog/Block/Product/Image.php
+++ b/app/code/Magento/Catalog/Block/Product/Image.php
@@ -46,7 +46,7 @@ namespace Magento\Catalog\Block\Product;
  * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Image extends \Magento\Core\Block\Template
+class Image extends \Magento\View\Block\Template
 {
     /**
      * Template image only
@@ -68,19 +68,19 @@ class Image extends \Magento\Core\Block\Template
     protected $_productImageView;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Catalog\Model\Product\Image\View $productImageView
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Catalog\Model\Product\Image\View $productImageView,
         array $data = array()
     ) {
         $this->_productImageView = $productImageView;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/ListProduct.php b/app/code/Magento/Catalog/Block/Product/ListProduct.php
index 091d98690af..ab704a3459a 100644
--- a/app/code/Magento/Catalog/Block/Product/ListProduct.php
+++ b/app/code/Magento/Catalog/Block/Product/ListProduct.php
@@ -65,26 +65,24 @@ class ListProduct extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_categoryFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Catalog\Model\Layer $catalogLayer,
@@ -92,17 +90,7 @@ class ListProduct extends \Magento\Catalog\Block\Product\AbstractProduct
     ) {
         $this->_categoryFactory = $categoryFactory;
         $this->_catalogLayer = $catalogLayer;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/NewProduct.php b/app/code/Magento/Catalog/Block/Product/NewProduct.php
index 88b192da14b..34e581214ba 100644
--- a/app/code/Magento/Catalog/Block/Product/NewProduct.php
+++ b/app/code/Magento/Catalog/Block/Product/NewProduct.php
@@ -59,13 +59,6 @@ class NewProduct extends \Magento\Catalog\Block\Product\AbstractProduct
      */
     protected $_catalogProductVisibility;
 
-    /**
-     * Locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * Product collection factory
      *
@@ -74,52 +67,35 @@ class NewProduct extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_productCollectionFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_productCollectionFactory = $productCollectionFactory;
-        $this->_locale = $locale;
         $this->_catalogProductVisibility = $catalogProductVisibility;
         $this->_customerSession = $customerSession;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
@@ -205,7 +181,7 @@ class NewProduct extends \Magento\Catalog\Block\Product\AbstractProduct
     /**
      * Prepare collection with new products
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Catalog/Block/Product/Price.php b/app/code/Magento/Catalog/Block/Product/Price.php
index dd7f339d969..4bd748c9f2a 100644
--- a/app/code/Magento/Catalog/Block/Product/Price.php
+++ b/app/code/Magento/Catalog/Block/Product/Price.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Block\Product;
 
-class Price extends \Magento\Core\Block\Template
+class Price extends \Magento\View\Block\Template
 {
     protected $_priceDisplayType = null;
     protected $_idSuffix = '';
@@ -59,13 +59,6 @@ class Price extends \Magento\Core\Block\Template
      */
     protected $_catalogData = null;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Stdlib\String
      */
@@ -77,36 +70,31 @@ class Price extends \Magento\Core\Block\Template
     protected $mathRandom;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Math\Random $mathRandom
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Tax\Helper\Data $taxData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Stdlib\String $string,
         \Magento\Math\Random $mathRandom,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_coreRegistry = $registry;
         $this->_catalogData = $catalogData;
         $this->_taxData = $taxData;
         $this->string = $string;
         $this->mathRandom = $mathRandom;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/Price/Template.php b/app/code/Magento/Catalog/Block/Product/Price/Template.php
index 284b103e375..5e349ea57fb 100644
--- a/app/code/Magento/Catalog/Block/Product/Price/Template.php
+++ b/app/code/Magento/Catalog/Block/Product/Price/Template.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\Price;
 
-class Template extends \Magento\Core\Block\AbstractBlock
+class Template extends \Magento\View\Block\AbstractBlock
 {
     /**
      * Product Price block types cache
diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Promotion.php b/app/code/Magento/Catalog/Block/Product/ProductList/Promotion.php
index 71097bd8b7c..5467c63158c 100644
--- a/app/code/Magento/Catalog/Block/Product/ProductList/Promotion.php
+++ b/app/code/Magento/Catalog/Block/Product/ProductList/Promotion.php
@@ -42,13 +42,12 @@ class Promotion extends \Magento\Catalog\Block\Product\ListProduct
     protected $_layerFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Catalog\Model\Layer $catalogLayer
@@ -57,13 +56,12 @@ class Promotion extends \Magento\Catalog\Block\Product\ListProduct
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Catalog\Model\Layer $catalogLayer,
@@ -74,13 +72,12 @@ class Promotion extends \Magento\Catalog\Block\Product\ListProduct
         $this->_layerFactory = $layerFactory;
         $this->_productCollectionFactory = $productCollectionFactory;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $categoryFactory,
             $catalogLayer,
@@ -94,7 +91,7 @@ class Promotion extends \Magento\Catalog\Block\Product\ListProduct
             /** @var \Magento\Catalog\Model\Resource\Product\Collection $collection */
             $collection = $this->_productCollectionFactory->create();
             $this->_layerFactory->create()->prepareProductCollection($collection);
-// your custom filter
+
             $collection->addAttributeToFilter('promotion', 1)
                 ->addStoreFilter();
 
diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Random.php b/app/code/Magento/Catalog/Block/Product/ProductList/Random.php
index 51a99f2d973..d14df1a7d4b 100644
--- a/app/code/Magento/Catalog/Block/Product/ProductList/Random.php
+++ b/app/code/Magento/Catalog/Block/Product/ProductList/Random.php
@@ -48,13 +48,12 @@ class Random extends \Magento\Catalog\Block\Product\ListProduct
     protected $_layerFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Catalog\Model\Layer $catalogLayer
@@ -63,13 +62,12 @@ class Random extends \Magento\Catalog\Block\Product\ListProduct
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Catalog\Model\Layer $catalogLayer,
@@ -80,13 +78,12 @@ class Random extends \Magento\Catalog\Block\Product\ListProduct
         $this->_layerFactory = $layerFactory;
         $this->_productCollectionFactory = $productCollectionFactory;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $categoryFactory,
             $catalogLayer,
diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Related.php b/app/code/Magento/Catalog/Block/Product/ProductList/Related.php
index 8d0ee404e5f..cbbbefec796 100644
--- a/app/code/Magento/Catalog/Block/Product/ProductList/Related.php
+++ b/app/code/Magento/Catalog/Block/Product/ProductList/Related.php
@@ -64,28 +64,25 @@ class Related extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_checkoutCart;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Checkout\Model\Resource\Cart $checkoutCart
      * @param \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Checkout\Model\Resource\Cart $checkoutCart,
         \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility,
@@ -95,17 +92,7 @@ class Related extends \Magento\Catalog\Block\Product\AbstractProduct
         $this->_checkoutCart = $checkoutCart;
         $this->_catalogProductVisibility = $catalogProductVisibility;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     protected function _prepareData()
diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php b/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php
index c3849bc439f..b5c72df453a 100644
--- a/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php
+++ b/app/code/Magento/Catalog/Block/Product/ProductList/Toolbar.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\ProductList;
 
-class Toolbar extends \Magento\Core\Block\Template
+class Toolbar extends \Magento\View\Block\Template
 {
     /**
      * Products collection
@@ -158,24 +158,22 @@ class Toolbar extends \Magento\Core\Block\Template
     protected $_catalogSession;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Session $catalogSession
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Session $catalogSession,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_catalogSession = $catalogSession;
         $this->_catalogConfig = $catalogConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/ProductList/Upsell.php b/app/code/Magento/Catalog/Block/Product/ProductList/Upsell.php
index f8a15b19145..8e53a409ae0 100644
--- a/app/code/Magento/Catalog/Block/Product/ProductList/Upsell.php
+++ b/app/code/Magento/Catalog/Block/Product/ProductList/Upsell.php
@@ -70,47 +70,37 @@ class Upsell extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_checkoutCart;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Checkout\Model\Resource\Cart $checkoutCart
      * @param \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Checkout\Model\Resource\Cart $checkoutCart,
         \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility,
         \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
         $this->_checkoutCart = $checkoutCart;
         $this->_catalogProductVisibility = $catalogProductVisibility;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     protected function _prepareData()
diff --git a/app/code/Magento/Catalog/Block/Product/Send.php b/app/code/Magento/Catalog/Block/Product/Send.php
index c86c541b6b5..35d31e0bcef 100644
--- a/app/code/Magento/Catalog/Block/Product/Send.php
+++ b/app/code/Magento/Catalog/Block/Product/Send.php
@@ -44,41 +44,29 @@ class Send extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/TemplateSelector.php b/app/code/Magento/Catalog/Block/Product/TemplateSelector.php
index c2a3524f14b..758c6c51e9e 100644
--- a/app/code/Magento/Catalog/Block/Product/TemplateSelector.php
+++ b/app/code/Magento/Catalog/Block/Product/TemplateSelector.php
@@ -31,7 +31,7 @@ namespace Magento\Catalog\Block\Product;
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class TemplateSelector extends \Magento\Core\Block\Template
+class TemplateSelector extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -55,19 +55,17 @@ class TemplateSelector extends \Magento\Core\Block\Template
     protected $_resourceHelper;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setColFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setColFactory
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
      * @param array $data
      */
     public function __construct(
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setColFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $setColFactory,
         \Magento\Core\Model\Registry $registry,
         \Magento\Catalog\Model\Resource\Helper $resourceHelper,
         array $data = array()
@@ -75,7 +73,7 @@ class TemplateSelector extends \Magento\Core\Block\Template
         $this->_setColFactory = $setColFactory;
         $this->_coreRegistry = $registry;
         $this->_resourceHelper = $resourceHelper;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/View.php b/app/code/Magento/Catalog/Block/Product/View.php
index 8323b9cc02d..91c0c05399b 100644
--- a/app/code/Magento/Catalog/Block/Product/View.php
+++ b/app/code/Magento/Catalog/Block/Product/View.php
@@ -52,13 +52,6 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
      */
     protected $_taxCalculation;
 
-    /**
-     * Locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * Product factory
      *
@@ -67,52 +60,35 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_productFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Tax\Model\Calculation $taxCalculation
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Stdlib\String $string
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Tax\Model\Calculation $taxCalculation
+     * @param \Magento\Stdlib\String $string
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Tax\Model\Calculation $taxCalculation,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Stdlib\String $string,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Tax\Model\Calculation $taxCalculation,
+        \Magento\Stdlib\String $string,
         array $data = array()
     ) {
         $this->_productFactory = $productFactory;
-        $this->_locale = $locale;
         $this->_taxCalculation = $taxCalculation;
         $this->string = $string;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
@@ -208,7 +184,7 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
             $additional['wishlist_next'] = 1;
         }
 
-        $addUrlKey = \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED;
+        $addUrlKey = \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED;
         $addUrlValue = $this->_urlBuilder->getUrl('*/*/*', array('_use_rewrite' => true, '_current' => true));
         $additional[$addUrlKey] = $this->_coreData->urlEncode($addUrlValue);
 
diff --git a/app/code/Magento/Catalog/Block/Product/View/AbstractView.php b/app/code/Magento/Catalog/Block/Product/View/AbstractView.php
index 7543e612f48..0d684a721a8 100644
--- a/app/code/Magento/Catalog/Block/Product/View/AbstractView.php
+++ b/app/code/Magento/Catalog/Block/Product/View/AbstractView.php
@@ -41,43 +41,32 @@ abstract class AbstractView extends \Magento\Catalog\Block\Product\AbstractProdu
     protected $arrayUtils;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Stdlib\ArrayUtils $arrayUtils
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Stdlib\ArrayUtils $arrayUtils,
         array $data = array()
     ) {
         $this->arrayUtils = $arrayUtils;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
+
     /**
      * Retrive product
      *
diff --git a/app/code/Magento/Catalog/Block/Product/View/Additional.php b/app/code/Magento/Catalog/Block/Product/View/Additional.php
index 613da7aca31..a9d07f23c1f 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Additional.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Additional.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Additional extends \Magento\Core\Block\Template
+class Additional extends \Magento\View\Block\Template
 {
 
     protected $_list;
diff --git a/app/code/Magento/Catalog/Block/Product/View/Attributes.php b/app/code/Magento/Catalog/Block/Product/View/Attributes.php
index ed1397ff8df..6576cae55ba 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Attributes.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Attributes.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Attributes extends \Magento\Core\Block\Template
+class Attributes extends \Magento\View\Block\Template
 {
     protected $_product = null;
 
@@ -46,31 +46,19 @@ class Attributes extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     function getProduct()
diff --git a/app/code/Magento/Catalog/Block/Product/View/Description.php b/app/code/Magento/Catalog/Block/Product/View/Description.php
index da7448dba01..6e7c0fdae58 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Description.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Description.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Description extends \Magento\Core\Block\Template
+class Description extends \Magento\View\Block\Template
 {
     protected $_product = null;
 
@@ -46,19 +46,19 @@ class Description extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getProduct()
diff --git a/app/code/Magento/Catalog/Block/Product/View/Options.php b/app/code/Magento/Catalog/Block/Product/View/Options.php
index a31b562e3f3..b9f791510f4 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Options.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Options.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Options extends \Magento\Core\Block\Template
+class Options extends \Magento\View\Block\Template
 {
     protected $_product;
 
@@ -67,38 +67,31 @@ class Options extends \Magento\Core\Block\Template
     protected $_catalogProduct;
 
     /**
-     * @var \Magento\Stdlib\ArrayUtils
-     */
-    protected $arrayUtils;
-
-    /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Product $catalogProduct
      * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Catalog\Model\Product\Option $option
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Stdlib\ArrayUtils $arrayUtils
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Product $catalogProduct,
         \Magento\Tax\Helper\Data $taxData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Catalog\Model\Product\Option $option,
         \Magento\Core\Model\Registry $registry,
         \Magento\Stdlib\ArrayUtils $arrayUtils,
         array $data = array()
     ) {
         $this->_catalogProduct = $catalogProduct;
-        parent::__construct($coreData, $context, $data);
         $this->_registry = $registry;
         $this->_option = $option;
         $this->_taxData = $taxData;
         $this->arrayUtils = $arrayUtils;
+        parent::__construct($context, $coreData, $data);        
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php b/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php
index 48bda570b90..50693fb4055 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Options/AbstractOptions.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Block\Product\View\Options;
 
-abstract class AbstractOptions extends \Magento\Core\Block\Template
+abstract class AbstractOptions extends \Magento\View\Block\Template
 {
     /**
      * Product object
@@ -58,19 +58,19 @@ abstract class AbstractOptions extends \Magento\Core\Block\Template
     protected $_taxData = null;
 
     /**
-     * @param \Magento\Tax\Helper\Data $taxData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Tax\Helper\Data $taxData
      * @param array $data
      */
     public function __construct(
-        \Magento\Tax\Helper\Data $taxData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Tax\Helper\Data $taxData,
         array $data = array()
     ) {
         $this->_taxData = $taxData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Block/Product/View/Options/Type/Date.php b/app/code/Magento/Catalog/Block/Product/View/Options/Type/Date.php
index c613f2a5afa..6867d3546ed 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Options/Type/Date.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Options/Type/Date.php
@@ -49,34 +49,21 @@ class Date extends \Magento\Catalog\Block\Product\View\Options\AbstractOptions
     protected $_catalogProductOptionTypeDate;
 
     /**
-     * Locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Catalog\Model\Product\Option\Type\Date
-     * $catalogProductOptionTypeDate
-     * @param \Magento\Tax\Helper\Data $taxData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Tax\Helper\Data $taxData
+     * @param \Magento\Catalog\Model\Product\Option\Type\Date $catalogProductOptionTypeDate
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Catalog\Model\Product\Option\Type\Date $catalogProductOptionTypeDate,
-        \Magento\Tax\Helper\Data $taxData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Tax\Helper\Data $taxData,
+        \Magento\Catalog\Model\Product\Option\Type\Date $catalogProductOptionTypeDate,
         array $data = array()
     ) {
-        $this->_locale = $locale;
         $this->_catalogProductOptionTypeDate = $catalogProductOptionTypeDate;
-        parent::__construct($taxData, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $taxData, $data);
     }
 
     protected function _prepareLayout()
@@ -125,7 +112,7 @@ class Date extends \Magento\Catalog\Block\Product\View\Options\AbstractOptions
         $yearEnd = $this->_catalogProductOptionTypeDate->getYearEnd();
 
         $calendar = $this->getLayout()
-            ->createBlock('Magento\Core\Block\Html\Date')
+            ->createBlock('Magento\View\Block\Html\Date')
             ->setId('options_'.$this->getOption()->getId().'_date')
             ->setName('options['.$this->getOption()->getId().'][date]')
             ->setClass('product-custom-option datetime-picker input-text')
@@ -216,7 +203,7 @@ class Date extends \Magento\Catalog\Block\Product\View\Options\AbstractOptions
      * HTML select element
      *
      * @param string $name Id/name of html select element
-     * @return \Magento\Core\Block\Html\Select
+     * @return \Magento\View\Block\Html\Select
      */
     protected function _getHtmlSelect($name, $value = null)
     {
@@ -226,7 +213,7 @@ class Date extends \Magento\Catalog\Block\Product\View\Options\AbstractOptions
 
         // $require = $this->getOption()->getIsRequire() ? ' required-entry' : '';
         $require = '';
-        $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setId('options_' . $this->getOption()->getId() . '_' . $name)
             ->setClass('product-custom-option datetime-picker' . $require)
             ->setExtraParams()
diff --git a/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php b/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php
index 3b287f383f2..2f6b0a0cae5 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Options/Type/Select.php
@@ -54,7 +54,7 @@ class Select
             || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_MULTIPLE) {
             $require = ($_option->getIsRequire()) ? ' required' : '';
             $extraParams = '';
-            $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+            $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
                 ->setData(array(
                     'id' => 'select_'.$_option->getId(),
                     'class' => $require.' product-custom-option'
diff --git a/app/code/Magento/Catalog/Block/Product/View/Price.php b/app/code/Magento/Catalog/Block/Product/View/Price.php
index ac1e5860d50..c7ee886d324 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Price.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Price.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Price extends \Magento\Core\Block\Template
+class Price extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -39,19 +39,19 @@ class Price extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getPrice()
diff --git a/app/code/Magento/Catalog/Block/Product/View/Tabs.php b/app/code/Magento/Catalog/Block/Product/View/Tabs.php
index 6ae02f5d680..c4384e1a691 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Tabs.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Tabs.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Block\Product\View;
 
-class Tabs extends \Magento\Core\Block\Template
+class Tabs extends \Magento\View\Block\Template
 {
     /**
      * Configured tabs
diff --git a/app/code/Magento/Catalog/Block/Product/View/Type/Configurable.php b/app/code/Magento/Catalog/Block/Product/View/Type/Configurable.php
index 47ce73a86ce..eaab4c369e2 100644
--- a/app/code/Magento/Catalog/Block/Product/View/Type/Configurable.php
+++ b/app/code/Magento/Catalog/Block/Product/View/Type/Configurable.php
@@ -65,13 +65,12 @@ class Configurable extends \Magento\Catalog\Block\Product\View\AbstractView
     protected $_taxCalculation;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Stdlib\ArrayUtils $arrayUtils
      * @param \Magento\Tax\Model\Calculation $taxCalculation
@@ -79,13 +78,12 @@ class Configurable extends \Magento\Catalog\Block\Product\View\AbstractView
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Stdlib\ArrayUtils $arrayUtils,
         \Magento\Tax\Model\Calculation $taxCalculation,
@@ -95,16 +93,7 @@ class Configurable extends \Magento\Catalog\Block\Product\View\AbstractView
         $this->_taxCalculation = $taxCalculation;
         $this->_catalogProduct = $catalogProduct;
         parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $arrayUtils,
-            $data
+            $context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $arrayUtils, $data
         );
     }
 
diff --git a/app/code/Magento/Catalog/Block/Product/Widget/Link.php b/app/code/Magento/Catalog/Block/Product/Widget/Link.php
index 445e4304a17..c5033970afa 100644
--- a/app/code/Magento/Catalog/Block/Product/Widget/Link.php
+++ b/app/code/Magento/Catalog/Block/Product/Widget/Link.php
@@ -38,24 +38,20 @@ class Link
     extends \Magento\Catalog\Block\Widget\Link
 {
     /**
-     * Construct
-     *
-     * @param \Magento\Catalog\Model\Resource\Product $catalogProduct
-     * @param \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite
+     * @param \Magento\Catalog\Model\Resource\Product $catalogProduct
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Model\Resource\Product $catalogProduct,
-        \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite,
+        \Magento\Catalog\Model\Resource\Product $catalogProduct,
         array $data = array()
     ) {
-        parent::__construct($urlRewrite, $storeManager, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $urlRewrite, $data);
         $this->_entityResource = $catalogProduct;
     }
 }
diff --git a/app/code/Magento/Catalog/Block/Product/Widget/NewWidget.php b/app/code/Magento/Catalog/Block/Product/Widget/NewWidget.php
index b0b3b4866b9..af3a3c62c0b 100644
--- a/app/code/Magento/Catalog/Block/Product/Widget/NewWidget.php
+++ b/app/code/Magento/Catalog/Block/Product/Widget/NewWidget.php
@@ -201,7 +201,7 @@ class NewWidget extends \Magento\Catalog\Block\Product\NewProduct
                     ->setTotalLimit($this->getProductsCount())
                     ->setCollection($this->getProductCollection());
             }
-            if ($this->_pager instanceof \Magento\Core\Block\AbstractBlock) {
+            if ($this->_pager instanceof \Magento\View\Block\AbstractBlock) {
                 return $this->_pager->toHtml();
             }
         }
diff --git a/app/code/Magento/Catalog/Block/Widget/Link.php b/app/code/Magento/Catalog/Block/Widget/Link.php
index 29db4ed58b6..6479a6f52c7 100644
--- a/app/code/Magento/Catalog/Block/Widget/Link.php
+++ b/app/code/Magento/Catalog/Block/Widget/Link.php
@@ -35,7 +35,7 @@
 namespace Magento\Catalog\Block\Widget;
 
 class Link
-    extends \Magento\Core\Block\Html\Link
+    extends \Magento\View\Block\Html\Link
     implements \Magento\Widget\Block\BlockInterface
 {
     /**
@@ -58,13 +58,6 @@ class Link
      */
     protected $_anchorText;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Url rewrite
      *
@@ -73,24 +66,19 @@ class Link
     protected $_urlRewrite;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Model\Resource\Url\Rewrite $urlRewrite,
         array $data = array()
     ) {
         $this->_urlRewrite = $urlRewrite;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Category.php b/app/code/Magento/Catalog/Controller/Adminhtml/Category.php
index 61a0934b965..4b71aba1147 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Category.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Category.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml;
 
-class Category extends \Magento\Backend\Controller\Adminhtml\Action
+class Category extends \Magento\Backend\App\Action
 {
     /**
      * Initialize requested category and put it into registry.
@@ -40,7 +40,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initCategory($getRootInstead = false)
     {
-        $this->_title(__('Categories'));
+        $this->_title->add(__('Categories'));
 
         $categoryId = (int)$this->getRequest()->getParam('id', false);
         $storeId    = (int)$this->getRequest()->getParam('store');
@@ -135,7 +135,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
 
-        $this->_title($categoryId ? $category->getName() : __('Categories'));
+        $this->_title->add($categoryId ? $category->getName() : __('Categories'));
 
         /**
          * Check if we have data in session (if during category save was exception)
@@ -170,13 +170,13 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
                 ->setLastViewedStore($this->getRequest()->getParam('store'));
             $this->_objectManager->get('Magento\Backend\Model\Auth\Session')
                 ->setLastEditedCategory($category->getId());
-            $this->loadLayout();
+            $this->_view->loadLayout();
 
             $eventResponse = new \Magento\Object(array(
-                'content' => $this->getLayout()->getBlock('category.edit')->getFormHtml()
-                    . $this->getLayout()->getBlock('category.tree')
+                'content' => $this->_view->getLayout()->getBlock('category.edit')->getFormHtml()
+                    . $this->_view->getLayout()->getBlock('category.tree')
                         ->getBreadcrumbsJavascript($breadcrumbsPath, 'editingCategoryBreadcrumbs'),
-                'messages' => $this->getLayout()->getMessagesBlock()->getGroupedHtml(),
+                'messages' => $this->_view->getLayout()->getMessagesBlock()->getGroupedHtml(),
             ));
             $this->_eventManager->dispatch(
                 'category_prepare_ajax_response',
@@ -191,18 +191,18 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_categories');
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true)->setContainerCssClass('catalog-categories');
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true)->setContainerCssClass('catalog-categories');
 
         $this->_addBreadcrumb(__('Manage Catalog Categories'), __('Manage Categories'));
 
-        $block = $this->getLayout()->getBlock('catalog.wysiwyg.js');
+        $block = $this->_view->getLayout()->getBlock('catalog.wysiwyg.js');
         if ($block) {
             $block->setStoreId($storeId);
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -216,7 +216,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
         $storeMediaUrl = $this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')->getStore($storeId)
             ->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA);
 
-        $content = $this->getLayout()->createBlock(
+        $content = $this->_view->getLayout()->createBlock(
             'Magento\Catalog\Block\Adminhtml\Helper\Form\Wysiwyg\Content',
             '',
             array(
@@ -249,7 +249,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
                 return;
             }
             $this->getResponse()->setBody(
-                $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
+                $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
                     ->getTreeJson($category)
             );
         }
@@ -363,8 +363,8 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
         if ($this->getRequest()->getPost('return_session_messages_only')) {
             $category->load($category->getId()); // to obtain truncated category name
 
-            /** @var $block \Magento\Core\Block\Messages */
-            $block = $this->_objectManager->get('Magento\Core\Block\Messages');
+            /** @var $block \Magento\View\Block\Messages */
+            $block = $this->_objectManager->get('Magento\View\Block\Messages');
             $block->setMessages($this->_getSession()->getMessages(true));
             $body = $this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(array(
                 'messages' => $block->getGroupedHtml(),
@@ -468,7 +468,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
         if (!$category) {
             return;
         }
-        $this->getResponse()->setBody($this->getLayout()->createBlock(
+        $this->getResponse()->setBody($this->_view->getLayout()->createBlock(
             'Magento\Catalog\Block\Adminhtml\Category\Tab\Product', 'category.product.grid'
         )->toHtml());
     }
@@ -492,7 +492,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
 
         $category = $this->_initCategory(true);
 
-        $block = $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree');
+        $block = $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree');
         $root  = $block->getRoot();
         $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(array(
             'data' => $block->getTree(),
@@ -530,7 +530,7 @@ class Category extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function suggestCategoriesAction()
     {
-        $this->getResponse()->setBody($this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
+        $this->getResponse()->setBody($this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
             ->getSuggestedCategoriesJson($this->getRequest()->getParam('label_part')));
     }
 
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Category/Widget.php b/app/code/Magento/Catalog/Controller/Adminhtml/Category/Widget.php
index 25e08961c82..8731437136b 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Category/Widget.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Category/Widget.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Category;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -85,7 +85,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _getCategoryTreeBlock()
     {
-        return $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Widget\Chooser', '', array(
+        return $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Widget\Chooser', '', array(
             'data' => array(
                 'id' => $this->getRequest()->getParam('uniq_id'),
                 'use_massaction' => $this->getRequest()->getParam('use_massaction', false)
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product.php
index 9a7d1518d3f..4ac2ac62916 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product.php
@@ -33,7 +33,9 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml;
 
-class Product extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Product extends \Magento\Backend\App\Action
 {
     /**
      * The greatest value which could be stored in CatalogInventory Qty field
@@ -55,14 +57,22 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Filter\Date $dateFilter
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Filter\Date $dateFilter
     ) {
         $this->_coreRegistry = $coreRegistry;
+        $this->_dateFilter = $dateFilter;
         parent::__construct($context);
     }
 
@@ -73,7 +83,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initProduct()
     {
-        $this->_title(__('Products'));
+        $this->_title->add(__('Products'));
 
         $productId  = (int)$this->getRequest()->getParam('id');
         /** @var $product \Magento\Catalog\Model\Product */
@@ -171,7 +181,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
         \Magento\Adminhtml\Block\Widget\Grid $gridBlock,
         $productsArray
     ) {
-        return $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Ajax\Serializer')
+        return $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Ajax\Serializer')
             ->setGridBlock($gridBlock)
             ->setProducts($productsArray)
             ->setInputElementName($inputName);
@@ -183,7 +193,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _outputBlocks()
     {
         $blocks = func_get_args();
-        $output = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Text\ListText');
+        $output = $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Text\ListText');
         foreach ($blocks as $block) {
             $output->insert($block, '', true);
         }
@@ -195,10 +205,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Products'));
-        $this->loadLayout();
+        $this->_title->add(__('Products'));
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_products');
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -219,12 +229,12 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             $product->addData($productData);
         }
 
-        $this->_title(__('New Product'));
+        $this->_title->add(__('New Product'));
 
         $this->_eventManager->dispatch('catalog_product_new_action', array('product' => $product));
 
         if ($this->getRequest()->getParam('popup')) {
-            $this->loadLayout('popup');
+            $this->_view->loadLayout('popup');
         } else {
             $_additionalLayoutPart = '';
             if ($product->getTypeId() == \Magento\Catalog\Model\Product\Type::TYPE_CONFIGURABLE
@@ -232,22 +242,22 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             ) {
                 $_additionalLayoutPart = '_new';
             }
-            $this->loadLayout(array(
+            $this->_view->loadLayout(array(
                 'default',
-                strtolower($this->getFullActionName()),
+                strtolower($this->_request->getFullActionName()),
                 'catalog_product_' . $product->getTypeId() . $_additionalLayoutPart
             ));
             $this->_setActiveMenu('Magento_Catalog::catalog_products');
         }
 
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
 
-        $block = $this->getLayout()->getBlock('catalog.wysiwyg.js');
+        $block = $this->_view->getLayout()->getBlock('catalog.wysiwyg.js');
         if ($block) {
             $block->setStoreId($product->getStoreId());
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -266,7 +276,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
 
-        $this->_title($product->getName());
+        $this->_title->add($product->getName());
 
         $this->_eventManager->dispatch('catalog_product_edit_action', array('product' => $product));
 
@@ -277,9 +287,9 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             $additionalLayoutPart = '_new';
         }
 
-        $this->loadLayout(array(
+        $this->_view->loadLayout(array(
             'default',
-            strtolower($this->getFullActionName()),
+            strtolower($this->_request->getFullActionName()),
             'catalog_product_'.$product->getTypeId() . $additionalLayoutPart
         ));
 
@@ -287,7 +297,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
 
         if (
             !$this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')->isSingleStoreMode()
-            && ($switchBlock = $this->getLayout()->getBlock('store_switcher'))
+            && ($switchBlock = $this->_view->getLayout()->getBlock('store_switcher'))
         ) {
             $switchBlock->setDefaultStoreName(__('Default Values'))
                 ->setWebsiteIds($product->getWebsiteIds())
@@ -300,14 +310,14 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             )));
         }
 
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
 
-        $block = $this->getLayout()->getBlock('catalog.wysiwyg.js');
+        $block = $this->_view->getLayout()->getBlock('catalog.wysiwyg.js');
         if ($block) {
             $block->setStoreId($product->getStoreId());
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -321,7 +331,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
         $storeMediaUrl = $this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')
             ->getStore($storeId)->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA);
 
-        $content = $this->getLayout()->createBlock(
+        $content = $this->_view->getLayout()->createBlock(
             'Magento\Catalog\Block\Adminhtml\Helper\Form\Wysiwyg\Content',
             '',
             array(
@@ -340,8 +350,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -350,13 +360,13 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function gridOnlyAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $block = $this->getRequest()->getParam('gridOnlyBlock');
         $blockClassSuffix = str_replace(' ', '_', ucwords(str_replace('_', ' ', $block)));
 
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\\' . $blockClassSuffix)
                 ->toHtml()
         );
@@ -369,8 +379,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_saveAttributeOptions();
         $this->_initProductSave($this->_initProduct());
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -429,8 +439,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function categoriesAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -440,8 +450,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function optionsAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -450,10 +460,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function relatedAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.related')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.related')
             ->setProductsRelated($this->getRequest()->getPost('products_related', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -462,10 +472,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function upsellAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.upsell')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.upsell')
             ->setProductsUpsell($this->getRequest()->getPost('products_upsell', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -474,10 +484,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function crosssellAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.crosssell')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.crosssell')
             ->setProductsCrossSell($this->getRequest()->getPost('products_crosssell', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -486,10 +496,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function relatedGridAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.related')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.related')
             ->setProductsRelated($this->getRequest()->getPost('products_related', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -498,10 +508,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function upsellGridAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.upsell')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.upsell')
             ->setProductsRelated($this->getRequest()->getPost('products_upsell', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -510,10 +520,10 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function crosssellGridAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('catalog.product.edit.tab.crosssell')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('catalog.product.edit.tab.crosssell')
             ->setProductsRelated($this->getRequest()->getPost('products_crosssell', null));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -522,8 +532,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function superGroupAction()
     {
         $this->_initProduct();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -532,8 +542,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function superGroupPopupAction()
     {
         $this->_initProduct();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -543,11 +553,11 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function reviewsAction()
     {
         $this->_initProduct();
-        $this->loadLayout();
-        $this->getLayout()->getBlock('admin.product.reviews')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('admin.product.reviews')
             ->setProductId($this->_coreRegistry->registry('product')->getId())
             ->setUseAjax(true);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -557,8 +567,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function superConfigAction()
     {
         $this->_initProduct();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -596,16 +606,17 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
                 $product->load($productId);
             }
 
-            $dateFields = array();
+            $dateFieldFilters = array();
             $attributes = $product->getAttributes();
             foreach ($attributes as $attrKey => $attribute) {
                 if ($attribute->getBackend()->getType() == 'datetime') {
                     if (array_key_exists($attrKey, $productData) && $productData[$attrKey] != '') {
-                        $dateFields[] = $attrKey;
+                        $dateFieldFilters[$attrKey] = $this->_dateFilter;
                     }
                 }
             }
-            $productData = $this->_filterDates($productData, $dateFields);
+            $inputFilter = new \Zend_Filter_Input($dateFieldFilters, array(), $productData);
+            $productData = $inputFilter->getUnescaped();
             $product->addData($productData);
 
             /* set restrictions for date ranges */
@@ -636,9 +647,9 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
             $response->setMessage($e->getMessage());
         } catch (\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
-            $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+            $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
             $response->setError(true);
-            $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+            $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
         }
 
         $this->getResponse()->setBody($response->toJson());
@@ -963,8 +974,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function alertsPriceGridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -972,27 +983,27 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function alertsStockGridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     public function addAttributeAction()
     {
-        $this->loadLayout('popup');
+        $this->_view->loadLayout('popup');
         $this->_initProduct();
         $this->_addContent(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\NewAttribute\Product\Created')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\NewAttribute\Product\Created')
         );
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function createdAction()
     {
-        $this->loadLayout('popup');
+        $this->_view->loadLayout('popup');
         $this->_addContent(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Created')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Created')
         );
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function massDeleteAction()
@@ -1088,7 +1099,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
         if ($session->hasCompositeProductResult()
             && $session->getCompositeProductResult() instanceof \Magento\Object) {
             $this->_objectManager->get('Magento\Catalog\Helper\Product\Composite')
-                ->renderUpdateResult($this, $session->getCompositeProductResult());
+                ->renderUpdateResult($session->getCompositeProductResult());
             $session->unsCompositeProductResult();
         } else {
             $session->unsCompositeProductResult();
@@ -1101,8 +1112,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function optionsImportGridAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -1111,8 +1122,8 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function customOptionsAction()
     {
         $this->_coreRegistry->register('import_option_products', $this->getRequest()->getPost('products'));
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -1122,7 +1133,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_initProduct();
         $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Product\TemplateSelector')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Product\TemplateSelector')
                 ->getSuggestedTemplates($this->getRequest()->getParam('label_part'))
         ));
     }
@@ -1133,7 +1144,7 @@ class Product extends \Magento\Backend\Controller\Adminhtml\Action
     public function suggestAttributesAction()
     {
         $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Attributes\Search')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tab\Attributes\Search')
                 ->getSuggestedAttributes($this->getRequest()->getParam('label_part'))
         ));
     }
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Action/Attribute.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Action/Attribute.php
index b52ae646b1f..eb937b0f854 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Action/Attribute.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Action/Attribute.php
@@ -34,16 +34,30 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Product\Action;
 
-class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Attribute extends \Magento\Backend\App\Action
 {
+    /**
+     * @param Action\Context $context
+     * @param \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helper
+     */
+    public function __construct(
+        Action\Context $context,
+        \Magento\Catalog\Helper\Product\Edit\Action\Attribute $helper
+    ) {
+        parent::__construct($context);
+        $this->_helper = $helper;
+    }
+
     public function editAction()
     {
         if (!$this->_validateProducts()) {
             return;
         }
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -73,7 +87,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
             if ($attributesData) {
                 $dateFormat = $this->_objectManager->get('Magento\Core\Model\LocaleInterface')
                     ->getDateFormat(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT);
-                $storeId    = $this->_getHelper()->getSelectedStoreId();
+                $storeId    = $this->_helper->getSelectedStoreId();
 
                 foreach ($attributesData as $attributeCode => $value) {
                     $attribute = $this->_objectManager->get('Magento\Eav\Model\Config')
@@ -110,14 +124,14 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
                 }
 
                 $this->_objectManager->get('Magento\Catalog\Model\Product\Action')
-                    ->updateAttributes($this->_getHelper()->getProductIds(), $attributesData, $storeId);
+                    ->updateAttributes($this->_helper->getProductIds(), $attributesData, $storeId);
             }
             if ($inventoryData) {
                 $stockItem = $this->_objectManager->create('Magento\CatalogInventory\Model\Stock\Item');
                 $stockItem->setProcessIndexEvents(false);
                 $stockItemSaved = false;
 
-                foreach ($this->_getHelper()->getProductIds() as $productId) {
+                foreach ($this->_helper->getProductIds() as $productId) {
                     $stockItem->setData(array());
                     $stockItem->loadByProduct($productId)
                         ->setProductId($productId);
@@ -146,7 +160,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
             if ($websiteAddData || $websiteRemoveData) {
                 /* @var $actionModel \Magento\Catalog\Model\Product\Action */
                 $actionModel = $this->_objectManager->get('Magento\Catalog\Model\Product\Action');
-                $productIds  = $this->_getHelper()->getProductIds();
+                $productIds  = $this->_helper->getProductIds();
 
                 if ($websiteRemoveData) {
                     $actionModel->updateWebsites($productIds, $websiteRemoveData, 'remove');
@@ -166,7 +180,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
             }
 
             $this->_getSession()->addSuccess(
-                __('A total of %1 record(s) were updated.', count($this->_getHelper()->getProductIds()))
+                __('A total of %1 record(s) were updated.', count($this->_helper->getProductIds()))
             );
         }
         catch (\Magento\Core\Exception $e) {
@@ -177,7 +191,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
                 ->addException($e, __('Something went wrong while updating the product(s) attributes.'));
         }
 
-        $this->_redirect('catalog/product/', array('store'=>$this->_getHelper()->getSelectedStoreId()));
+        $this->_redirect('catalog/product/', array('store'=>$this->_helper->getSelectedStoreId()));
     }
 
     /**
@@ -188,7 +202,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _validateProducts()
     {
         $error = false;
-        $productIds = $this->_getHelper()->getProductIds();
+        $productIds = $this->_helper->getProductIds();
         if (!is_array($productIds)) {
             $error = __('Please select products for attributes update.');
         } else if (!$this->_objectManager->create('Magento\Catalog\Model\Product')->isProductsHasSku($productIds)) {
@@ -203,16 +217,6 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
         return !$error;
     }
 
-    /**
-     * Rertive data manipulation helper
-     *
-     * @return \Magento\Catalog\Helper\Product\Edit\Action\Attribute
-     */
-    protected function _getHelper()
-    {
-        return $this->_objectManager->get('Magento\Catalog\Helper\Product\Edit\Action\Attribute');
-    }
-
     protected function _isAllowed()
     {
         return $this->_authorization->isAllowed('Magento_Catalog::update_attributes');
@@ -252,9 +256,9 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
         } catch (\Exception $e) {
             $this->_getSession()
                 ->addException($e, __('Something went wrong while updating the product(s) attributes.'));
-            $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+            $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
             $response->setError(true);
-            $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+            $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
         }
 
         $this->getResponse()->setBody($response->toJson());
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php
index 30bfb070fba..3118f6faf97 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
+class Attribute extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\Cache\FrontendInterface
@@ -49,38 +49,46 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Cache\FrontendInterface $attributeLabelCache
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Cache\FrontendInterface $attributeLabelCache,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($context);
         $this->_attributeLabelCache = $attributeLabelCache;
+        parent::__construct($context);
     }
 
-    public function preDispatch()
+    /**
+     * Dispatch request
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return $this|mixed
+     */
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
-        parent::preDispatch();
         $this->_entityTypeId = $this->_objectManager->create('Magento\Eav\Model\Entity')
             ->setType(\Magento\Catalog\Model\Product::ENTITY)
             ->getTypeId();
+        return parent::dispatch($request);
     }
 
     protected function _initAction()
     {
-        $this->_title(__('Product Attributes'));
+        $this->_title->add(__('Product Attributes'));
 
         if ($this->getRequest()->getParam('popup')) {
-            $this->loadLayout(array('popup', $this->getDefaultLayoutHandle() . '_popup'));
-            $this->getLayout()->getBlock('root')->addBodyClass('attribute-popup');
+            $this->_view->loadLayout(
+                array('popup', $this->_view->getDefaultLayoutHandle() . '_popup')
+            );
+            $this->_view->getLayout()->getBlock('root')->addBodyClass('attribute-popup');
         } else {
-            $this->loadLayout()
-                ->_addBreadcrumb(
+            $this->_view->loadLayout();
+            $this->_addBreadcrumb(
                     __('Catalog'),
                     __('Catalog')
                 )
@@ -97,8 +105,10 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
     public function indexAction()
     {
         $this->_initAction()
-            ->_addContent($this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute')
+            );
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -145,17 +155,17 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction();
 
-        $this->_title($id ? $model->getName() : __('New Product Attribute'));
+        $this->_title->add($id ? $model->getName() : __('New Product Attribute'));
 
         $item = $id ? __('Edit Product Attribute')
                     : __('New Product Attribute');
 
         $this->_addBreadcrumb($item, $item);
 
-        $this->getLayout()->getBlock('attribute_edit_js')
+        $this->_view->getLayout()->getBlock('attribute_edit_js')
             ->setIsPopup((bool)$this->getRequest()->getParam('popup'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
 
     }
 
@@ -198,9 +208,9 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
                     __('Attribute Set with name \'%1\' already exists.', $setName)
                 );
 
-                $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+                $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
                 $response->setError(true);
-                $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+                $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
             }
         }
         $this->getResponse()->setBody($response->toJson());
@@ -446,7 +456,7 @@ class Attribute extends \Magento\Backend\Controller\Adminhtml\Action
     public function suggestConfigurableAttributesAction()
     {
         $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Configurable\AttributeSelector')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Product\Configurable\AttributeSelector')
                 ->getSuggestedAttributes($this->getRequest()->getParam('label_part'))
         ));
     }
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Datafeeds.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Datafeeds.php
index 9044049c7f6..00b48769325 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Datafeeds.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Datafeeds.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Datafeeds extends \Magento\Backend\Controller\Adminhtml\Action
+class Datafeeds extends \Magento\Backend\App\Action
 {
 
     public function indexAction()
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery.php
index ea9b0fd8b92..7123f488ce0 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Gallery.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Gallery extends \Magento\Backend\Controller\Adminhtml\Action
+class Gallery extends \Magento\Backend\App\Action
 {
     public function uploadAction()
     {
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Group.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Group.php
index 4ac83da4829..a31e87935f2 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Group.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Group.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Group extends \Magento\Backend\Controller\Adminhtml\Action
+class Group extends \Magento\Backend\App\Action
 {
     public function saveAction()
     {
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Review.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Review.php
index 42b4be11744..805a9fc2340 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Review.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Review.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Review extends \Magento\Backend\Controller\Adminhtml\Action
+class Review extends \Magento\Backend\App\Action
 {
     /**
      * Array of actions which can be processed without secret key validation
@@ -46,11 +46,11 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -59,70 +59,70 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Customer Reviews'));
+        $this->_title->add(__('Customer Reviews'));
 
-        $this->_title(__('Reviews'));
+        $this->_title->add(__('Reviews'));
 
         if ($this->getRequest()->getParam('ajax')) {
             return $this->_forward('reviewGrid');
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Review::catalog_reviews_ratings_reviews_all');
 
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Main'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Main'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function pendingAction()
     {
-        $this->_title(__('Customer Reviews'));
+        $this->_title->add(__('Customer Reviews'));
 
-        $this->_title(__('Pending Reviews'));
+        $this->_title->add(__('Pending Reviews'));
 
         if ($this->getRequest()->getParam('ajax')) {
             $this->_coreRegistry->register('usePendingFilter', true);
             return $this->_forward('reviewGrid');
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_coreRegistry->register('usePendingFilter', true);
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Main'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Main'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editAction()
     {
-        $this->_title(__('Customer Reviews'));
+        $this->_title->add(__('Customer Reviews'));
 
-        $this->_title(__('Edit Review'));
+        $this->_title->add(__('Edit Review'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Review::catalog_reviews_ratings_reviews_all');
 
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Edit'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Edit'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function newAction()
     {
-        $this->_title(__('Customer Reviews'));
+        $this->_title->add(__('Customer Reviews'));
 
-        $this->_title(__('New Review'));
+        $this->_title->add(__('New Review'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Review::catalog_reviews_ratings_reviews_all');
 
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
 
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Add'));
-        $this->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Product\Grid'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Add'));
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Product\Grid'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -292,14 +292,14 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
     public function productGridAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Product\Grid')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Product\Grid')->toHtml()
         );
     }
 
     public function reviewGridAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Grid')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Review\Grid')->toHtml()
         );
     }
 
@@ -379,7 +379,7 @@ class Review extends \Magento\Backend\Controller\Adminhtml\Action
     public function ratingItemsAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Adminhtml\Block\Review\Rating\Detailed')
                 ->setIndependentMode()
                 ->toHtml()
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set.php
index 50498461356..a84b6d9afc7 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Set.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Set extends \Magento\Backend\Controller\Adminhtml\Action
+class Set extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -44,11 +44,11 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -57,11 +57,11 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Product Templates'));
+        $this->_title->add(__('Product Templates'));
 
         $this->_setTypeId();
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_attributes_sets');
 
         $this->_addBreadcrumb(__('Catalog'), __('Catalog'));
@@ -69,12 +69,12 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
             __('Manage Attribute Sets'),
             __('Manage Attribute Sets'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editAction()
     {
-        $this->_title(__('Product Templates'));
+        $this->_title->add(__('Product Templates'));
 
         $this->_setTypeId();
         $attributeSet = $this->_objectManager->create('Magento\Eav\Model\Entity\Attribute\Set')
@@ -85,13 +85,13 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
 
-        $this->_title($attributeSet->getId() ? $attributeSet->getAttributeSetName() : __('New Set'));
+        $this->_title->add($attributeSet->getId() ? $attributeSet->getAttributeSetName() : __('New Set'));
 
         $this->_coreRegistry->register('current_attribute_set', $attributeSet);
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_attributes_sets');
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
 
         $this->_addBreadcrumb(__('Catalog'), __('Catalog'));
         $this->_addBreadcrumb(
@@ -99,17 +99,17 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
             __('Manage Product Sets'));
 
         $this->_addContent(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Main')
         );
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function setGridAction()
     {
         $this->_setTypeId();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -172,8 +172,8 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
 
         if ($isNewSet) {
             if ($this->getRequest()->getPost('return_session_messages_only')) {
-                /** @var $block \Magento\Core\Block\Messages */
-                $block = $this->_objectManager->get('Magento\Core\Block\Messages');
+                /** @var $block \Magento\View\Block\Messages */
+                $block = $this->_objectManager->get('Magento\View\Block\Messages');
                 $block->setMessages($this->_getSession()->getMessages(true));
                 $body = $this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode(array(
                     'messages' => $block->getGroupedHtml(),
@@ -191,9 +191,9 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
         } else {
             $response = array();
             if ($hasError) {
-                $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+                $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
                 $response['error']   = 1;
-                $response['message'] = $this->getLayout()->getMessagesBlock()->getGroupedHtml();
+                $response['message'] = $this->_view->getLayout()->getMessagesBlock()->getGroupedHtml();
             } else {
                 $response['error']   = 0;
                 $response['url']     = $this->getUrl('catalog/*/');
@@ -205,19 +205,19 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function addAction()
     {
-        $this->_title(__('New Product Template'));
+        $this->_title->add(__('New Product Template'));
 
         $this->_setTypeId();
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Catalog::catalog_attributes_sets');
 
 
         $this->_addContent(
-            $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Toolbar\Add')
+            $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Attribute\Set\Toolbar\Add')
         );
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function deleteAction()
@@ -232,7 +232,7 @@ class Set extends \Magento\Backend\Controller\Adminhtml\Action
             $this->getResponse()->setRedirect($this->getUrl('catalog/*/'));
         } catch (\Exception $e) {
             $this->_getSession()->addError(__('An error occurred while deleting this set.'));
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
         }
     }
 
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Widget.php b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Widget.php
index 06ebd6ffd58..b8439227363 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Product/Widget.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Product/Widget.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Controller\Adminhtml\Product;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Chooser Source action
@@ -45,7 +45,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
         $massAction = $this->getRequest()->getParam('use_massaction', false);
         $productTypeId = $this->getRequest()->getParam('product_type_id', null);
 
-        $productsGrid = $this->getLayout()->createBlock(
+        $productsGrid = $this->_view->getLayout()->createBlock(
             'Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser',
             '',
             array(
@@ -61,7 +61,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
         $html = $productsGrid->toHtml();
 
         if (!$this->getRequest()->getParam('products_grid')) {
-            $categoriesTree = $this->getLayout()->createBlock(
+            $categoriesTree = $this->_view->getLayout()->createBlock(
                 'Magento\Catalog\Block\Adminhtml\Category\Widget\Chooser',
                 '',
                 array(
@@ -73,7 +73,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
                 )
             );
 
-            $html = $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser\Container')
+            $html = $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser\Container')
                 ->setTreeHtml($categoriesTree->toHtml())
                 ->setGridHtml($html)
                 ->toHtml();
diff --git a/app/code/Magento/Catalog/Controller/Adminhtml/Search.php b/app/code/Magento/Catalog/Controller/Adminhtml/Search.php
index 18954bfc8f2..0ff8a401edb 100644
--- a/app/code/Magento/Catalog/Controller/Adminhtml/Search.php
+++ b/app/code/Magento/Catalog/Controller/Adminhtml/Search.php
@@ -26,7 +26,9 @@
 
 namespace Magento\Catalog\Controller\Adminhtml;
 
-class Search extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Search extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -36,11 +38,11 @@ class Search extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -49,8 +51,8 @@ class Search extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_CatalogSearch::catalog_search')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_CatalogSearch::catalog_search')
             ->_addBreadcrumb(__('Search'), __('Search'))
         ;
         return $this;
@@ -58,11 +60,11 @@ class Search extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Search Terms'));
+        $this->_title->add(__('Search Terms'));
 
         $this->_initAction()
             ->_addBreadcrumb(__('Catalog'), __('Catalog'));
-            $this->renderLayout();
+            $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -72,7 +74,7 @@ class Search extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Search Terms'));
+        $this->_title->add(__('Search Terms'));
 
         $id = $this->getRequest()->getParam('id');
         $model = $this->_objectManager->create('Magento\CatalogSearch\Model\Query');
@@ -96,17 +98,17 @@ class Search extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction();
 
-        $this->_title($id ? $model->getQueryText() : __('New Search'));
+        $this->_title->add($id ? $model->getQueryText() : __('New Search'));
 
-        $this->getLayout()->getBlock('head')->setCanLoadRulesJs(true);
+        $this->_view->getLayout()->getBlock('head')->setCanLoadRulesJs(true);
 
-        $this->getLayout()->getBlock('adminhtml.catalog.search.edit')
+        $this->_view->getLayout()->getBlock('adminhtml.catalog.search.edit')
             ->setData('action', $this->getUrl('catalog/search/save'));
 
         $this
             ->_addBreadcrumb($id ? __('Edit Search') : __('New Search'), $id ? __('Edit Search') : __('New Search'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Controller/Category.php b/app/code/Magento/Catalog/Controller/Category.php
index 5666b5a7879..cac91bfe806 100644
--- a/app/code/Magento/Catalog/Controller/Category.php
+++ b/app/code/Magento/Catalog/Controller/Category.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Controller;
 
-class Category extends \Magento\Core\Controller\Front\Action
+class Category extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -56,13 +56,6 @@ class Category extends \Magento\Core\Controller\Front\Action
      */
     protected $_catalogDesign;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Category factory
      *
@@ -71,25 +64,28 @@ class Category extends \Magento\Core\Controller\Front\Action
     protected $_categoryFactory;
 
     /**
-     * Construct
-     *
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Design $catalogDesign
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
+        \Magento\App\Action\Context $context,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Design $catalogDesign,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
-        $this->_categoryFactory = $categoryFactory;
         $this->_storeManager = $storeManager;
+        $this->_categoryFactory = $categoryFactory;
         $this->_catalogDesign = $catalogDesign;
         $this->_catalogSession = $catalogSession;
         $this->_coreRegistry = $coreRegistry;
@@ -150,7 +146,7 @@ class Category extends \Magento\Core\Controller\Front\Action
 
             $this->_catalogSession->setLastViewedCategoryId($category->getId());
 
-            $update = $this->getLayout()->getUpdate();
+            $update = $this->_view->getLayout()->getUpdate();
             $update->addHandle('default');
             if ($category->getIsAnchor()) {
                 $type = $category->hasChildren() ? 'layered' : 'layered_without_children';
@@ -161,10 +157,10 @@ class Category extends \Magento\Core\Controller\Front\Action
             if (!$category->hasChildren()) {
                 // Two levels removed from parent.  Need to add default page type.
                 $parentType = strtok($type, '_');
-                $this->addPageLayoutHandles(array('type' => $parentType));
+                $this->_view->addPageLayoutHandles(array('type' => $parentType));
             }
-            $this->addPageLayoutHandles(array('type' => $type, 'id' => $category->getId()));
-            $this->loadLayoutUpdates();
+            $this->_view->addPageLayoutHandles(array('type' => $type, 'id' => $category->getId()));
+            $this->_view->loadLayoutUpdates();
 
             // apply custom layout update once layout is loaded
             $layoutUpdates = $settings->getLayoutUpdates();
@@ -174,23 +170,23 @@ class Category extends \Magento\Core\Controller\Front\Action
                 }
             }
 
-            $this->generateLayoutXml()->generateLayoutBlocks();
+            $this->_view->generateLayoutXml();
+            $this->_view->generateLayoutBlocks();
             // apply custom layout (page) template once the blocks are generated
             if ($settings->getPageLayout()) {
                 $this->_objectManager->get('Magento\Page\Helper\Layout')->applyTemplate($settings->getPageLayout());
             }
 
-            $root = $this->getLayout()->getBlock('root');
+            $root = $this->_view->getLayout()->getBlock('root');
             if ($root) {
                 $root->addBodyClass('categorypath-' . $category->getUrlPath())
                     ->addBodyClass('category-' . $category->getUrlKey());
             }
 
-            $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-            $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-            $this->renderLayout();
+            $this->_view->getLayout()->initMessages(array('Magento\Catalog\Model\Session', 'Magento\Checkout\Model\Session'));
+            $this->_view->renderLayout();
         } elseif (!$this->getResponse()->isRedirect()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 }
diff --git a/app/code/Magento/Catalog/Controller/Index.php b/app/code/Magento/Catalog/Controller/Index.php
index c73e30f543f..450d3203e41 100644
--- a/app/code/Magento/Catalog/Controller/Index.php
+++ b/app/code/Magento/Catalog/Controller/Index.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Catalog\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+class Index extends \Magento\App\Action\Action
 {
     /**
      * Index action
diff --git a/app/code/Magento/Catalog/Controller/Product.php b/app/code/Magento/Catalog/Controller/Product.php
index b28bf4a5513..7f36f5cbee4 100644
--- a/app/code/Magento/Catalog/Controller/Product.php
+++ b/app/code/Magento/Catalog/Controller/Product.php
@@ -27,7 +27,7 @@
 namespace Magento\Catalog\Controller;
 
 class Product
-    extends \Magento\Core\Controller\Front\Action
+    extends \Magento\App\Action\Action
     implements \Magento\Catalog\Controller\Product\View\ViewInterface
 {
     /**
@@ -84,11 +84,11 @@ class Product
                 if (isset($_GET['store']) && !$this->getResponse()->isRedirect()) {
                     $this->_redirect('');
                 } elseif (!$this->getResponse()->isRedirect()) {
-                    $this->_forward('noRoute');
+                    $this->_forward('noroute');
                 }
             } else {
                 $this->_objectManager->get('Magento\Logger')->logException($e);
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
             }
         }
     }
@@ -102,11 +102,11 @@ class Product
             if (isset($_GET['store']) && !$this->getResponse()->isRedirect()) {
                 $this->_redirect('');
             } elseif (!$this->getResponse()->isRedirect()) {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
             }
             return;
         }
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Catalog/Controller/Product/Compare.php b/app/code/Magento/Catalog/Controller/Product/Compare.php
index 5350c991094..3c202c60e69 100644
--- a/app/code/Magento/Catalog/Controller/Product/Compare.php
+++ b/app/code/Magento/Catalog/Controller/Product/Compare.php
@@ -31,15 +31,8 @@ namespace Magento\Catalog\Controller\Product;
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Compare extends \Magento\Core\Controller\Front\Action
+class Compare extends \Magento\App\Action\Action
 {
-    /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
-     */
-    protected $_cookieCheckActions = array('add');
-
     /**
      * Customer id
      *
@@ -75,13 +68,6 @@ class Compare extends \Magento\Core\Controller\Front\Action
      */
     protected $_customerSession;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Item collection factory
      *
@@ -111,36 +97,39 @@ class Compare extends \Magento\Core\Controller\Front\Action
     protected $_customerFactory;
 
     /**
-     * Construct
-     *
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Catalog\Model\Product\Compare\ItemFactory $compareItemFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemCollectionFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Log\Model\Visitor $logVisitor
      * @param \Magento\Catalog\Model\Product\Compare\ListCompare $catalogProductCompareList
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Catalog\Model\Product\Compare\ItemFactory $compareItemFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemCollectionFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Log\Model\Visitor $logVisitor,
         \Magento\Catalog\Model\Product\Compare\ListCompare $catalogProductCompareList,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Core\Controller\Varien\Action\Context $context
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
+        $this->_storeManager = $storeManager;
         $this->_customerFactory = $customerFactory;
         $this->_compareItemFactory = $compareItemFactory;
         $this->_productFactory = $productFactory;
         $this->_itemCollectionFactory = $itemCollectionFactory;
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
         $this->_logVisitor = $logVisitor;
         $this->_catalogProductCompareList = $catalogProductCompareList;
@@ -170,8 +159,8 @@ class Compare extends \Magento\Core\Controller\Front\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -200,8 +189,7 @@ class Compare extends \Magento\Core\Controller\Front\Action
 
             $this->_objectManager->get('Magento\Catalog\Helper\Product\Compare')->calculate();
         }
-
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
@@ -245,7 +233,7 @@ class Compare extends \Magento\Core\Controller\Front\Action
         }
 
         if (!$this->getRequest()->getParam('isAjax', false)) {
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
         }
     }
 
@@ -275,7 +263,7 @@ class Compare extends \Magento\Core\Controller\Front\Action
             $this->_catalogSession->addException($e, __('Something went wrong  clearing the comparison list.'));
         }
 
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Controller/Product/View/ViewInterface.php b/app/code/Magento/Catalog/Controller/Product/View/ViewInterface.php
index d56a5802a32..eaa21b89eba 100644
--- a/app/code/Magento/Catalog/Controller/Product/View/ViewInterface.php
+++ b/app/code/Magento/Catalog/Controller/Product/View/ViewInterface.php
@@ -25,17 +25,8 @@
  */
 
 /**
- * Interface needed to be implemented by controller that wants to
- * show product view page
+ * Marker interface for controllers on product view page
  */
 namespace Magento\Catalog\Controller\Product\View;
 
-interface ViewInterface
-{
-    /**
-     * Loads layout messages from message storage
-     *
-     * @param string $messagesStorage
-     */
-    public function initLayoutMessages($messagesStorage);
-}
+interface ViewInterface{}
diff --git a/app/code/Magento/Catalog/Helper/Catalog.php b/app/code/Magento/Catalog/Helper/Catalog.php
index 81ff721c7f9..0ccce4bf22d 100644
--- a/app/code/Magento/Catalog/Helper/Catalog.php
+++ b/app/code/Magento/Catalog/Helper/Catalog.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Helper;
 
-class Catalog extends \Magento\Core\Helper\AbstractHelper
+class Catalog extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Config path to valid file paths
@@ -68,12 +68,12 @@ class Catalog extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Catalog/Helper/Category.php b/app/code/Magento/Catalog/Helper/Category.php
index 463bd3d3888..d416c2459e2 100644
--- a/app/code/Magento/Catalog/Helper/Category.php
+++ b/app/code/Magento/Catalog/Helper/Category.php
@@ -31,7 +31,7 @@ namespace Magento\Catalog\Helper;
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Category extends \Magento\Core\Helper\AbstractHelper
+class Category extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_CATEGORY_URL_SUFFIX          = 'catalog/seo/category_url_suffix';
     const XML_PATH_USE_CATEGORY_CANONICAL_TAG   = 'catalog/seo/category_canonical_tag';
@@ -84,14 +84,14 @@ class Category extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Data\CollectionFactory $dataCollectionFactory
      */
     public function __construct(
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Data\CollectionFactory $dataCollectionFactory
     ) {
diff --git a/app/code/Magento/Catalog/Helper/Category/Flat.php b/app/code/Magento/Catalog/Helper/Category/Flat.php
index 07b776abe60..d73c9ec0d20 100644
--- a/app/code/Magento/Catalog/Helper/Category/Flat.php
+++ b/app/code/Magento/Catalog/Helper/Category/Flat.php
@@ -78,13 +78,13 @@ class Flat extends \Magento\Catalog\Helper\Flat\AbstractFlat
      *
      * @param \Magento\Index\Model\ProcessFactory $processFactory
      * @param \Magento\Catalog\Model\Resource\Category\Flat $catalogCategoryFlat
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
         \Magento\Index\Model\ProcessFactory $processFactory,
         \Magento\Catalog\Model\Resource\Category\Flat $catalogCategoryFlat,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_catalogCategoryFlat = $catalogCategoryFlat;
diff --git a/app/code/Magento/Catalog/Helper/Data.php b/app/code/Magento/Catalog/Helper/Data.php
index 1184ad2eb56..50238607c49 100644
--- a/app/code/Magento/Catalog/Helper/Data.php
+++ b/app/code/Magento/Catalog/Helper/Data.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const PRICE_SCOPE_GLOBAL               = 0;
     const PRICE_SCOPE_WEBSITE              = 1;
@@ -164,7 +164,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Catalog\Helper\Category $catalogCategory
      * @param \Magento\Catalog\Helper\Product $catalogProduct
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Catalog\Model\Template\Filter\Factory $templateFilterFactory
@@ -180,7 +180,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\Stdlib\String $string,
         \Magento\Catalog\Helper\Category $catalogCategory,
         \Magento\Catalog\Helper\Product $catalogProduct,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Catalog\Model\Template\Filter\Factory $templateFilterFactory,
diff --git a/app/code/Magento/Catalog/Helper/Flat/AbstractFlat.php b/app/code/Magento/Catalog/Helper/Flat/AbstractFlat.php
index accbcd03852..a1256ab513c 100644
--- a/app/code/Magento/Catalog/Helper/Flat/AbstractFlat.php
+++ b/app/code/Magento/Catalog/Helper/Flat/AbstractFlat.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Helper\Flat;
 
-abstract class AbstractFlat extends \Magento\Core\Helper\AbstractHelper
+abstract class AbstractFlat extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Catalog Flat index process code
@@ -76,11 +76,11 @@ abstract class AbstractFlat extends \Magento\Core\Helper\AbstractHelper
      * Construct
      *
      * @param \Magento\Index\Model\ProcessFactory $processFactory
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Index\Model\ProcessFactory $processFactory,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         $this->_processFactory = $processFactory;
         parent::__construct($context);
diff --git a/app/code/Magento/Catalog/Helper/Image.php b/app/code/Magento/Catalog/Helper/Image.php
index d11173db0b1..2e2813525e4 100644
--- a/app/code/Magento/Catalog/Helper/Image.php
+++ b/app/code/Magento/Catalog/Helper/Image.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Catalog\Helper;
 
-class Image extends \Magento\Core\Helper\AbstractHelper
+class Image extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Current model
@@ -133,13 +133,13 @@ class Image extends \Magento\Core\Helper\AbstractHelper
      * Construct
      *
      * @param \Magento\Catalog\Model\Product\ImageFactory $productImageFactory
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
         \Magento\Catalog\Model\Product\ImageFactory $productImageFactory,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\Url $viewUrl,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
diff --git a/app/code/Magento/Catalog/Helper/Output.php b/app/code/Magento/Catalog/Helper/Output.php
index 5aa52bcf820..dd1d38c31c8 100644
--- a/app/code/Magento/Catalog/Helper/Output.php
+++ b/app/code/Magento/Catalog/Helper/Output.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Catalog\Helper;
 
-class Output extends \Magento\Core\Helper\AbstractHelper
+class Output extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Array of existing handlers
@@ -66,13 +66,13 @@ class Output extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Escaper $escaper
      */
     public function __construct(
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Escaper $escaper
     ) {
         $this->_eavConfig = $eavConfig;
diff --git a/app/code/Magento/Catalog/Helper/Product.php b/app/code/Magento/Catalog/Helper/Product.php
index 4c183bbff41..ebbd9c12937 100644
--- a/app/code/Magento/Catalog/Helper/Product.php
+++ b/app/code/Magento/Catalog/Helper/Product.php
@@ -64,13 +64,6 @@ class Product extends \Magento\Core\Helper\Url
      */
     protected $_viewUrl;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core registry
      *
@@ -127,21 +120,18 @@ class Product extends \Magento\Core\Helper\Url
     protected $_categoryFactory;
 
     /**
-     * Construct
-     * 
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Catalog\Model\Attribute\Config $attributeConfig
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
-     * @param string $typeSwitcherLabel
-     *
+     * @param $typeSwitcherLabel
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
@@ -149,8 +139,7 @@ class Product extends \Magento\Core\Helper\Url
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\Url $viewUrl,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Catalog\Model\Attribute\Config $attributeConfig,
@@ -164,7 +153,6 @@ class Product extends \Magento\Core\Helper\Url
         $this->_typeSwitcherLabel = $typeSwitcherLabel;
         $this->_attributeConfig = $attributeConfig;
         $this->_coreRegistry = $coreRegistry;
-        $this->_eventManager = $eventManager;
         $this->_coreRegistry = $coreRegistry;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_viewUrl = $viewUrl;
@@ -408,7 +396,7 @@ class Product extends \Magento\Core\Helper\Url
      *     If empty (except FALSE) - will be guessed (e.g. from last visited) to load as current.
      *
      * @param int $productId
-     * @param \Magento\Core\Controller\Front\Action $controller
+     * @param \Magento\App\Action\Action $controller
      * @param \Magento\Object $params
      *
      * @return false|\Magento\Catalog\Model\Product
diff --git a/app/code/Magento/Catalog/Helper/Product/Compare.php b/app/code/Magento/Catalog/Helper/Product/Compare.php
index f7573eb245b..a11835d619b 100644
--- a/app/code/Magento/Catalog/Helper/Product/Compare.php
+++ b/app/code/Magento/Catalog/Helper/Product/Compare.php
@@ -105,7 +105,7 @@ class Compare extends \Magento\Core\Helper\Url
      * @param \Magento\Log\Model\Visitor $logVisitor
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemCollectionFactory,
@@ -114,7 +114,7 @@ class Compare extends \Magento\Core\Helper\Url
         \Magento\Log\Model\Visitor $logVisitor,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         $this->_itemCollectionFactory = $itemCollectionFactory;
         $this->_catalogProductVisibility = $catalogProductVisibility;
@@ -138,7 +138,7 @@ class Compare extends \Magento\Core\Helper\Url
 
         $params = array(
             'items'=>implode(',', $itemIds),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
         );
 
         return $this->_getUrl('catalog/product_compare', $params);
@@ -154,7 +154,7 @@ class Compare extends \Magento\Core\Helper\Url
     {
         return array(
             'product' => $product->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
         );
     }
 
@@ -181,7 +181,7 @@ class Compare extends \Magento\Core\Helper\Url
 
         $params = array(
             'product'=>$product->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
         );
 
         return $this->_getUrl('wishlist/index/add', $params);
@@ -198,7 +198,7 @@ class Compare extends \Magento\Core\Helper\Url
         $beforeCompareUrl = $this->_catalogSession->getBeforeCompareUrl();
         $params = array(
             'product'=>$product->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl($beforeCompareUrl)
         );
 
         return $this->_getUrl('checkout/cart/add', $params);
@@ -214,7 +214,7 @@ class Compare extends \Magento\Core\Helper\Url
     {
         $params = array(
             'product'=>$item->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
         );
         return $this->_getUrl('catalog/product_compare/remove', $params);
     }
@@ -227,7 +227,7 @@ class Compare extends \Magento\Core\Helper\Url
     public function getClearListUrl()
     {
         $params = array(
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
         );
         return $this->_getUrl('catalog/product_compare/clear', $params);
     }
diff --git a/app/code/Magento/Catalog/Helper/Product/Composite.php b/app/code/Magento/Catalog/Helper/Product/Composite.php
index aa1eb73efe7..bbafd2addca 100644
--- a/app/code/Magento/Catalog/Helper/Product/Composite.php
+++ b/app/code/Magento/Catalog/Helper/Product/Composite.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Helper\Product;
 
-class Composite extends \Magento\Core\Helper\AbstractHelper
+class Composite extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Core registry
@@ -50,7 +50,7 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
     protected $_catalogProduct = null;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -64,41 +64,49 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_customerFactory;
 
+    /**
+     * @var \Magento\App\ViewInterface
+     */
+    protected $_view;
+
     /**
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\ViewInterface $view
      */
     public function __construct(
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\ViewInterface $view
     ) {
         $this->_customerFactory = $customerFactory;
         $this->_productFactory = $productFactory;
         $this->_storeManager = $storeManager;
         $this->_coreRegistry = $coreRegistry;
         $this->_catalogProduct = $catalogProduct;
+        $this->_view = $view;
         parent::__construct($context);
     }
 
     /**
      * Init layout of product configuration update result
      *
-     * @param \Magento\Backend\Controller\Adminhtml\Action $controller
      * @return \Magento\Catalog\Helper\Product\Composite
      */
-    protected function _initUpdateResultLayout($controller)
+    protected function _initUpdateResultLayout()
     {
-        $controller->getLayout()->getUpdate()
-            ->addHandle('CATALOG_PRODUCT_COMPOSITE_UPDATE_RESULT');
-        $controller->loadLayoutUpdates()->generateLayoutXml()->generateLayoutBlocks();
+        $this->_view->getLayout()->getUpdate()->addHandle('CATALOG_PRODUCT_COMPOSITE_UPDATE_RESULT');
+        $this->_view->loadLayoutUpdates();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
         return $this;
     }
 
@@ -106,16 +114,15 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
      * Prepares and render result of composite product configuration update for a case
      * when single configuration submitted
      *
-     * @param \Magento\Backend\Controller\Adminhtml\Action $controller
      * @param \Magento\Object $updateResult
      * @return \Magento\Catalog\Helper\Product\Composite
      */
-    public function renderUpdateResult($controller, \Magento\Object $updateResult)
+    public function renderUpdateResult(\Magento\Object $updateResult)
     {
         $this->_coreRegistry->register('composite_update_result', $updateResult);
 
-        $this->_initUpdateResultLayout($controller);
-        $controller->renderLayout();
+        $this->_initUpdateResultLayout();
+        $this->_view->renderLayout();
     }
 
      /**
@@ -124,21 +131,22 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
       * $isOk - true or false, whether action was completed nicely or with some error
       * If $isOk is FALSE (some error during configuration), so $productType must be null
       *
-      * @param \Magento\Backend\Controller\Adminhtml\Action $controller
       * @param bool $isOk
       * @param string $productType
       * @return \Magento\Catalog\Helper\Product\Composite
       */
-    protected function _initConfigureResultLayout($controller, $isOk, $productType)
+    protected function _initConfigureResultLayout($isOk, $productType)
     {
-        $update = $controller->getLayout()->getUpdate();
+        $update = $this->_view->getLayout()->getUpdate();
         if ($isOk) {
             $update->addHandle('CATALOG_PRODUCT_COMPOSITE_CONFIGURE')
                 ->addHandle('catalog_product_view_type_' . $productType);
         } else {
             $update->addHandle('CATALOG_PRODUCT_COMPOSITE_CONFIGURE_ERROR');
         }
-        $controller->loadLayoutUpdates()->generateLayoutXml()->generateLayoutBlocks();
+        $this->_view->loadLayoutUpdates();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
         return $this;
     }
 
@@ -149,11 +157,10 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
      *  - 'ok' = true, and 'product_id', 'buy_request', 'current_store_id', 'current_customer' or 'current_customer_id'
      *  - 'error' = true, and 'message' to show
      *
-     * @param \Magento\Backend\Controller\Adminhtml\Action $controller
      * @param \Magento\Object $configureResult
      * @return \Magento\Catalog\Helper\Product\Composite
      */
-    public function renderConfigureResult($controller, \Magento\Object $configureResult)
+    public function renderConfigureResult(\Magento\Object $configureResult)
     {
         try {
             if (!$configureResult->getOk()) {
@@ -200,7 +207,7 @@ class Composite extends \Magento\Core\Helper\AbstractHelper
             $this->_coreRegistry->register('composite_configure_result_error_message', $e->getMessage());
         }
 
-        $this->_initConfigureResultLayout($controller, $isOk, $productType);
-        $controller->renderLayout();
+        $this->_initConfigureResultLayout($isOk, $productType);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Catalog/Helper/Product/Configuration.php b/app/code/Magento/Catalog/Helper/Product/Configuration.php
index 07bf007fbdd..3a413ce38f5 100644
--- a/app/code/Magento/Catalog/Helper/Product/Configuration.php
+++ b/app/code/Magento/Catalog/Helper/Product/Configuration.php
@@ -31,7 +31,7 @@ namespace Magento\Catalog\Helper\Product;
  *
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Configuration extends \Magento\Core\Helper\AbstractHelper
+class Configuration extends \Magento\App\Helper\AbstractHelper
     implements \Magento\Catalog\Helper\Product\Configuration\ConfigurationInterface
 {
     /**
@@ -64,14 +64,14 @@ class Configuration extends \Magento\Core\Helper\AbstractHelper
     /**
      * @param \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory
      * @param \Magento\Filter\FilterManager $filter
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
      * @param \Magento\Stdlib\String $string
      */
     public function __construct(
         \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory,
         \Magento\Filter\FilterManager $filter,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Catalog\Model\ProductTypes\ConfigInterface $config,
         \Magento\Stdlib\String $string
     ) {
diff --git a/app/code/Magento/Catalog/Helper/Product/Edit/Action/Attribute.php b/app/code/Magento/Catalog/Helper/Product/Edit/Action/Attribute.php
index c6bcb4f01a9..c7f2c748d53 100644
--- a/app/code/Magento/Catalog/Helper/Product/Edit/Action/Attribute.php
+++ b/app/code/Magento/Catalog/Helper/Product/Edit/Action/Attribute.php
@@ -68,7 +68,7 @@ class Attribute extends \Magento\Backend\Helper\Data
     protected $_eavConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\App\Route\Config $routeConfig
      * @param \Magento\Core\Model\AppInterface $app
      * @param \Magento\Backend\Model\Url $backendUrl
@@ -80,7 +80,7 @@ class Attribute extends \Magento\Backend\Helper\Data
      * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\App\Route\Config $routeConfig,
         \Magento\Core\Model\AppInterface $app,
         \Magento\Backend\Model\Url $backendUrl,
diff --git a/app/code/Magento/Catalog/Helper/Product/Flat.php b/app/code/Magento/Catalog/Helper/Product/Flat.php
index 43b6888ecc1..41317bc6a32 100644
--- a/app/code/Magento/Catalog/Helper/Product/Flat.php
+++ b/app/code/Magento/Catalog/Helper/Product/Flat.php
@@ -96,7 +96,7 @@ class Flat extends \Magento\Catalog\Helper\Flat\AbstractFlat
      * Construct
      *
      * @param \Magento\Index\Model\ProcessFactory $processFactory
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Catalog\Model\Product\Flat\Flag $flatFlag
      * @param $addFilterableAttrs
@@ -104,7 +104,7 @@ class Flat extends \Magento\Catalog\Helper\Flat\AbstractFlat
      */
     public function __construct(
         \Magento\Index\Model\ProcessFactory $processFactory,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Catalog\Model\Product\Flat\Flag $flatFlag,
         $addFilterableAttrs,
diff --git a/app/code/Magento/Catalog/Helper/Product/Options.php b/app/code/Magento/Catalog/Helper/Product/Options.php
index 40291d5012c..0520e2ebe72 100644
--- a/app/code/Magento/Catalog/Helper/Product/Options.php
+++ b/app/code/Magento/Catalog/Helper/Product/Options.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Catalog\Helper\Product;
 
-class Options extends \Magento\Core\Helper\AbstractHelper
+class Options extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Filesystem
@@ -42,10 +42,10 @@ class Options extends \Magento\Core\Helper\AbstractHelper
     protected $_filesystem;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Filesystem $filesystem
      */
-    public function __construct(\Magento\Core\Helper\Context $context, \Magento\Filesystem $filesystem)
+    public function __construct(\Magento\App\Helper\Context $context, \Magento\Filesystem $filesystem)
     {
         parent::__construct($context);
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Catalog/Helper/Product/Url.php b/app/code/Magento/Catalog/Helper/Product/Url.php
index ed198dc39e8..ff31c375d0a 100644
--- a/app/code/Magento/Catalog/Helper/Product/Url.php
+++ b/app/code/Magento/Catalog/Helper/Product/Url.php
@@ -100,14 +100,14 @@ class Url extends \Magento\Core\Helper\Url
     /**
      * Check additional instruction for convertation table in configuration
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($context, $storeManager);
         $convertConfig = $config->getValue('url/convert', 'default');
diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php
index 3e86645fd98..65b796af3e2 100644
--- a/app/code/Magento/Catalog/Helper/Product/View.php
+++ b/app/code/Magento/Catalog/Helper/Product/View.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Catalog\Helper\Product;
 
-class View extends \Magento\Core\Helper\AbstractHelper
+class View extends \Magento\App\Helper\AbstractHelper
 {
     // List of exceptions throwable during prepareAndRender() method
     public $ERR_NO_PRODUCT_LOADED = 1;
@@ -67,13 +67,6 @@ class View extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_pageLayout = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Catalog design
      *
@@ -89,33 +82,36 @@ class View extends \Magento\Core\Helper\AbstractHelper
     protected $_catalogSession;
 
     /**
-     * Construct
-     *
+     * @var \Magento\App\ViewInterface
+     */
+    protected $_view;
+
+    /**
      * @param \Magento\Catalog\Model\Session $catalogSession
      * @param \Magento\Catalog\Model\Design $catalogDesign
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Page\Helper\Layout $pageLayout
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\ViewInterface $view
      * @param array $messageModels
      */
     public function __construct(
         \Magento\Catalog\Model\Session $catalogSession,
         \Magento\Catalog\Model\Design $catalogDesign,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Page\Helper\Layout $pageLayout,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\ViewInterface $view,
         array $messageModels = array()
     ) {
         $this->_catalogSession = $catalogSession;
         $this->_catalogDesign = $catalogDesign;
-        $this->_eventManager = $eventManager;
         $this->_catalogProduct = $catalogProduct;
         $this->_pageLayout = $pageLayout;
         $this->_coreRegistry = $coreRegistry;
+        $this->_view = $view;
         parent::__construct($context);
         $this->_messageModels = $messageModels;
     }
@@ -124,7 +120,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
      * Inits layout for viewing product page
      *
      * @param \Magento\Catalog\Model\Product $product
-     * @param \Magento\Core\Controller\Front\Action $controller
+     * @param \Magento\App\Action\Action $controller
      *
      * @return \Magento\Catalog\Helper\Product\View
      */
@@ -136,12 +132,12 @@ class View extends \Magento\Core\Helper\AbstractHelper
             $this->_catalogDesign->applyCustomDesign($settings->getCustomDesign());
         }
 
-        $update = $controller->getLayout()->getUpdate();
+        $update = $this->_view->getLayout()->getUpdate();
         $update->addHandle('default');
-        $controller->addPageLayoutHandles(
+        $this->_view->addPageLayoutHandles(
             array('id' => $product->getId(), 'sku' => $product->getSku(), 'type' => $product->getTypeId())
         );
-        $controller->loadLayoutUpdates();
+        $this->_view->loadLayoutUpdates();
         // Apply custom layout update once layout is loaded
         $layoutUpdates = $settings->getLayoutUpdates();
         if ($layoutUpdates) {
@@ -152,7 +148,8 @@ class View extends \Magento\Core\Helper\AbstractHelper
             }
         }
 
-        $controller->generateLayoutXml()->generateLayoutBlocks();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
 
         // Apply custom layout (page) template once the blocks are generated
         if ($settings->getPageLayout()) {
@@ -160,9 +157,9 @@ class View extends \Magento\Core\Helper\AbstractHelper
         }
 
         $currentCategory = $this->_coreRegistry->registry('current_category');
-        $root = $controller->getLayout()->getBlock('root');
+        $root = $this->_view->getLayout()->getBlock('root');
         if ($root) {
-            $controllerClass = $controller->getFullActionName();
+            $controllerClass = $this->_request->getFullActionName();
             if ($controllerClass != 'catalog-product-view') {
                 $root->addBodyClass('catalog-product-view');
             }
@@ -186,7 +183,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
      *   - 'configure_mode' - boolean, whether we're in Configure-mode to edit product configuration
      *
      * @param int $productId
-     * @param \Magento\Core\Controller\Front\Action $controller
+     * @param \Magento\App\Action\Action $controller
      * @param null|\Magento\Object $params
      *
      * @return \Magento\Catalog\Helper\Product\View
@@ -200,7 +197,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
             $params = new \Magento\Object();
         }
 
-        // Standard algorithm to prepare and rendern product view page
+        // Standard algorithm to prepare and render product view page
         $product = $productHelper->initProduct($productId, $controller, $params);
         if (!$product) {
             throw new \Magento\Core\Exception(__('Product is not loaded'), $this->ERR_NO_PRODUCT_LOADED);
@@ -228,7 +225,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
 
         if ($controller instanceof \Magento\Catalog\Controller\Product\View\ViewInterface) {
             foreach ($this->_messageModels as $sessionModel) {
-                $controller->initLayoutMessages($sessionModel);
+                $this->_view->getLayout()->initMessages($sessionModel);
             }
         } else {
             throw new \Magento\Core\Exception(
@@ -236,7 +233,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
                 $this->ERR_BAD_CONTROLLER_INTERFACE
             );
         }
-        $controller->renderLayout();
+        $this->_view->renderLayout();
 
         return $this;
     }
diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php
index bda04ca32e7..ee6c2ed0674 100644
--- a/app/code/Magento/Catalog/Model/Category.php
+++ b/app/code/Magento/Catalog/Model/Category.php
@@ -125,13 +125,6 @@ class Category extends \Magento\Catalog\Model\AbstractModel
      */
     protected $filter;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Index indexer
      *
@@ -194,7 +187,6 @@ class Category extends \Magento\Catalog\Model\AbstractModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Config $catalogConfig
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat
      * @param \Magento\Core\Model\Context $context
@@ -217,7 +209,6 @@ class Category extends \Magento\Catalog\Model\AbstractModel
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Config $catalogConfig,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat,
         \Magento\Core\Model\Context $context,
@@ -235,7 +226,6 @@ class Category extends \Magento\Catalog\Model\AbstractModel
         $this->_productCollectionFactory = $productCollectionFactory;
         $this->_catalogConfig = $catalogConfig;
         $this->_indexIndexer = $indexIndexer;
-        $this->_eventManager = $eventManager;
         $this->filter = $filter;
         $this->_catalogCategoryFlat = $catalogCategoryFlat;
         $this->_treeModel = $categoryTreeResource;
diff --git a/app/code/Magento/Catalog/Model/Config/Backend/Category.php b/app/code/Magento/Catalog/Model/Config/Backend/Category.php
index 3ec920d9e61..b8e4d570b9c 100644
--- a/app/code/Magento/Catalog/Model/Config/Backend/Category.php
+++ b/app/code/Magento/Catalog/Model/Config/Backend/Category.php
@@ -48,7 +48,7 @@ class Category extends \Magento\Core\Model\Config\Value
      * @param \Magento\Catalog\Model\Category $catalogCategory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -58,7 +58,7 @@ class Category extends \Magento\Core\Model\Config\Value
         \Magento\Catalog\Model\Category $catalogCategory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Catalog/Model/Config/CatalogClone/Media/Image.php b/app/code/Magento/Catalog/Model/Config/CatalogClone/Media/Image.php
index f7011d4cea7..0c1572225bf 100644
--- a/app/code/Magento/Catalog/Model/Config/CatalogClone/Media/Image.php
+++ b/app/code/Magento/Catalog/Model/Config/CatalogClone/Media/Image.php
@@ -54,7 +54,7 @@ class Image extends \Magento\Core\Model\Config\Value
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -65,7 +65,7 @@ class Image extends \Magento\Core\Model\Config\Value
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Catalog/Model/Entity/Attribute.php b/app/code/Magento/Catalog/Model/Entity/Attribute.php
index 3cd8024135f..76a29cbdfe9 100644
--- a/app/code/Magento/Catalog/Model/Entity/Attribute.php
+++ b/app/code/Magento/Catalog/Model/Entity/Attribute.php
@@ -86,7 +86,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -101,7 +101,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Catalog/Model/Layer/Filter/Category.php b/app/code/Magento/Catalog/Model/Layer/Filter/Category.php
index 52930b3b25c..c900032becb 100644
--- a/app/code/Magento/Catalog/Model/Layer/Filter/Category.php
+++ b/app/code/Magento/Catalog/Model/Layer/Filter/Category.php
@@ -121,7 +121,7 @@ class Category extends \Magento\Catalog\Model\Layer\Filter\AbstractFilter
      * Apply category filter to layer
      *
      * @param   \Zend_Controller_Request_Abstract $request
-     * @param   \Magento\Core\Block\AbstractBlock $filterBlock
+     * @param   \Magento\View\Block\AbstractBlock $filterBlock
      * @return  \Magento\Catalog\Model\Layer\Filter\Category
      */
     public function apply(\Zend_Controller_Request_Abstract $request, $filterBlock)
diff --git a/app/code/Magento/Catalog/Model/Product.php b/app/code/Magento/Catalog/Model/Product.php
index 16ba34b0e77..de01c1491b7 100644
--- a/app/code/Magento/Catalog/Model/Product.php
+++ b/app/code/Magento/Catalog/Model/Product.php
@@ -32,7 +32,6 @@
  * @method \Magento\Catalog\Model\Product setHasError(bool $value)
  * @method null|bool getHasError()
  * @method \Magento\Catalog\Model\Product setTypeId(string $typeId)
- * @method string \Magento\Catalog\Model\Product getTypeId()
  * @method \Magento\Catalog\Model\Product setAssociatedProductIds(array $productIds)
  * @method array getAssociatedProductIds()
  * @method \Magento\Catalog\Model\Product setNewVariationsAttributeSetId(int $value)
@@ -138,13 +137,6 @@ class Product extends \Magento\Catalog\Model\AbstractModel
      */
     protected $_catalogImage = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Data\CollectionFactory
      */
@@ -229,7 +221,6 @@ 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\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Image $catalogImage
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Helper\Product $catalogProduct
@@ -256,7 +247,6 @@ 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\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Image $catalogImage,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Helper\Product $catalogProduct,
@@ -277,7 +267,6 @@ class Product extends \Magento\Catalog\Model\AbstractModel
         $this->_catalogProductMediaConfig = $catalogProductMediaConfig;
         $this->_indexIndexer = $indexIndexer;
         $this->_catalogProductType = $catalogProductType;
-        $this->_eventManager = $eventManager;
         $this->_catalogImage = $catalogImage;
         $this->_catalogData = $catalogData;
         $this->_catalogProduct = $catalogProduct;
@@ -356,9 +345,9 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Get product price throught type instance
+     * Get product price through type instance
      *
-     * @return unknown
+     * @return float
      */
     public function getPrice()
     {
@@ -441,7 +430,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Retrive product id by sku
+     * Retrieve product id by sku
      *
      * @param   string $sku
      * @return  integer
@@ -670,7 +659,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Clear chache related with product and protect delete from not admin
+     * Clear cache related with product and protect delete from not admin
      * Register indexing event before delete product
      *
      * @return \Magento\Catalog\Model\Product
@@ -877,7 +866,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
  ** Linked products API
  */
     /**
-     * Retrieve array of related roducts
+     * Retrieve array of related products
      *
      * @return array
      */
@@ -1089,7 +1078,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
  ** Media API
  */
     /**
-     * Retrive attributes for media gallery
+     * Retrieve attributes for media gallery
      *
      * @return array
      */
@@ -1108,7 +1097,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Retrive media gallery images
+     * Retrieve media gallery images
      *
      * @return \Magento\Data\Collection
      */
@@ -1154,7 +1143,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Retrive product media config
+     * Retrieve product media config
      *
      * @return \Magento\Catalog\Model\Product\Media\Config
      */
@@ -1335,7 +1324,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Check Product visilbe in catalog
+     * Check Product visible in catalog
      *
      * @return bool
      */
@@ -1685,9 +1674,9 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Retrieve weight throught type instance
+     * Retrieve weight through type instance
      *
-     * @return unknown
+     * @return float
      */
     public function getWeight()
     {
@@ -1942,7 +1931,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     }
 
     /**
-     * Get cahce tags associated with object id
+     * Get cache tags associated with object id
      *
      * @return array
      */
diff --git a/app/code/Magento/Catalog/Model/Product/Action.php b/app/code/Magento/Catalog/Model/Product/Action.php
index 87243c33104..b8422eb2678 100644
--- a/app/code/Magento/Catalog/Model/Product/Action.php
+++ b/app/code/Magento/Catalog/Model/Product/Action.php
@@ -36,13 +36,6 @@ namespace Magento\Catalog\Model\Product;
 
 class Action extends \Magento\Core\Model\AbstractModel
 {
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Index indexer
      *
@@ -62,7 +55,6 @@ class Action extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @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 +64,6 @@ class Action extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
@@ -81,7 +72,6 @@ class Action extends \Magento\Core\Model\AbstractModel
     ) {
         $this->_productWebsiteFactory = $productWebsiteFactory;
         $this->_indexIndexer = $indexIndexer;
-        $this->_eventManager = $eventManager;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Status.php b/app/code/Magento/Catalog/Model/Product/Status.php
index eeb654e054c..0ff9a0683d7 100644
--- a/app/code/Magento/Catalog/Model/Product/Status.php
+++ b/app/code/Magento/Catalog/Model/Product/Status.php
@@ -54,13 +54,6 @@ class Status extends \Magento\Core\Model\AbstractModel
      */
     protected $_attribute;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Catalog product action
      *
@@ -80,7 +73,6 @@ class Status extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Action $catalogProductAction
-     * @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 +82,6 @@ class Status extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Action $catalogProductAction,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
@@ -99,7 +90,6 @@ class Status extends \Magento\Core\Model\AbstractModel
     ) {
         $this->_storeManager = $storeManager;
         $this->_catalogProductAction = $catalogProductAction;
-        $this->_eventManager = $eventManager;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
index 2cdec88051b..fc53f62519a 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
@@ -98,7 +98,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
     /**
      * Store manager
      *
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -177,7 +177,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable\Product\CollectionFactory $productCollectionFactory
      * @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\StoreManagerInterface $storeManager
      * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
@@ -201,7 +201,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Resource\Product\Type\Configurable\Product\CollectionFactory $productCollectionFactory,
         \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\StoreManagerInterface $storeManager,
         \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
diff --git a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
index 7dd01c133ec..4f6f16c47a7 100644
--- a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
@@ -59,7 +59,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
@@ -71,14 +71,14 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_storeManager = $storeManager;
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $resourceHelper, $universalFactory);
     }
 
diff --git a/app/code/Magento/Catalog/Model/Resource/Eav/Attribute.php b/app/code/Magento/Catalog/Model/Resource/Eav/Attribute.php
index 25cb2010409..a04381db6b4 100644
--- a/app/code/Magento/Catalog/Model/Resource/Eav/Attribute.php
+++ b/app/code/Magento/Catalog/Model/Resource/Eav/Attribute.php
@@ -116,7 +116,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -132,7 +132,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
index 6142b9caac2..e36de785d71 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
@@ -270,7 +270,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -292,7 +292,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -315,7 +315,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
         $this->_customerSession = $customerSession;
         $this->_resourceHelper = $resourceHelper;
         $this->dateTime = $dateTime;
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $resourceHelper, $universalFactory, $storeManager);
     }
 
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 ab01778c839..f6d3abd98be 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
@@ -62,7 +62,7 @@ class AssociatedProduct
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -86,7 +86,7 @@ class AssociatedProduct
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -106,7 +106,7 @@ class AssociatedProduct
         $this->_registryManager = $registryManager;
         $this->_productType = $productType;
         $this->_configurationHelper = $configurationHelper;
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat, $coreStoreConfig,
             $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime
         );
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 8dc2d65adfc..0d5287f8809 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
@@ -78,7 +78,7 @@ class Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -102,7 +102,7 @@ class Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -121,7 +121,7 @@ class Collection
         $this->_catalogProductCompareItem = $catalogProductCompareItem;
         $this->_catalogProductCompare = $catalogProductCompare;
         parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig,
-            $coreResource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat,
+            $resource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat,
             $coreStoreConfig, $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime
         );
     }
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 f7c9281ac29..86cf51586bc 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
@@ -58,7 +58,7 @@ class AssociatedProductsCollection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -82,7 +82,7 @@ class AssociatedProductsCollection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -100,7 +100,7 @@ class AssociatedProductsCollection
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_config = $config;
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat, $coreStoreConfig,
             $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime
         );
diff --git a/app/code/Magento/Catalog/Model/Resource/Setup.php b/app/code/Magento/Catalog/Model/Resource/Setup.php
index 50200f13d17..de6dee60c64 100755
--- a/app/code/Magento/Catalog/Model/Resource/Setup.php
+++ b/app/code/Magento/Catalog/Model/Resource/Setup.php
@@ -50,13 +50,6 @@ class Setup extends \Magento\Eav\Model\Entity\Setup
      */
     protected $_indexerFactory;
 
-    /**
-     * Migration setup model factory
-     *
-     * @var \Magento\Core\Model\Resource\Setup\MigrationFactory
-     */
-    protected $_resourceMigrationFactory;
-
     /**
      * Attribute resource model factory
      *
@@ -73,7 +66,6 @@ class Setup extends \Magento\Eav\Model\Entity\Setup
      * @param string $resourceName
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Index\Model\IndexerFactory $indexerFactory
-     * @param \Magento\Core\Model\Resource\Setup\MigrationFactory $resourceMigrationFactory
      * @param \Magento\Catalog\Model\Resource\Eav\AttributeFactory $eavAttributeResourceFactory
      * @param string $moduleName
      * @param string $connectionName
@@ -85,14 +77,12 @@ class Setup extends \Magento\Eav\Model\Entity\Setup
         $resourceName,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Index\Model\IndexerFactory $indexerFactory,
-        \Magento\Core\Model\Resource\Setup\MigrationFactory $resourceMigrationFactory,
         \Magento\Catalog\Model\Resource\Eav\AttributeFactory $eavAttributeResourceFactory,
         $moduleName = 'Magento_Catalog',
         $connectionName = ''
     ) {
         $this->_categoryFactory = $categoryFactory;
         $this->_indexerFactory = $indexerFactory;
-        $this->_resourceMigrationFactory = $resourceMigrationFactory;
         $this->_eavAttributeResourceFactory = $eavAttributeResourceFactory;
         parent::__construct($context, $cache, $attrGrCollFactory, $resourceName, $moduleName, $connectionName);
     }
@@ -128,7 +118,7 @@ class Setup extends \Magento\Eav\Model\Entity\Setup
      */
     public function createSetupMigration($data = array())
     {
-        return $this->_resourceMigrationFactory->create($data);
+        return $this->_migrationFactory->create($data);
     }
 
     /**
diff --git a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php
index 279ca9e7413..5ac15b549c2 100644
--- a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php
+++ b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Category/Flat.php
@@ -44,7 +44,7 @@ class Flat extends \Magento\Core\Model\Config\Value
      * @param \Magento\Index\Model\IndexerFactory $indexerFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -54,7 +54,7 @@ class Flat extends \Magento\Core\Model\Config\Value
         \Magento\Index\Model\IndexerFactory $indexerFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php
index 1fe3962b10a..ce40ff299b3 100644
--- a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php
+++ b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Product/Flat.php
@@ -44,7 +44,7 @@ class Flat extends \Magento\Core\Model\Config\Value
      * @param \Magento\Index\Model\Indexer $indexIndexer
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -54,7 +54,7 @@ class Flat extends \Magento\Core\Model\Config\Value
         \Magento\Index\Model\Indexer $indexIndexer,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php
index 5169d9d955c..73227bc59ac 100644
--- a/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php
+++ b/app/code/Magento/Catalog/Model/System/Config/Backend/Catalog/Url/Rewrite/Suffix.php
@@ -42,7 +42,7 @@ class Suffix extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Helper\Url\Rewrite $coreUrlRewrite
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -52,7 +52,7 @@ class Suffix extends \Magento\Core\Model\Config\Value
         \Magento\Core\Helper\Url\Rewrite $coreUrlRewrite,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Catalog/Model/Template/Filter.php b/app/code/Magento/Catalog/Model/Template/Filter.php
index c7f84b5d594..5b52d053f4e 100644
--- a/app/code/Magento/Catalog/Model/Template/Filter.php
+++ b/app/code/Magento/Catalog/Model/Template/Filter.php
@@ -84,7 +84,7 @@ class Filter extends \Magento\Filter\Template
      * Set use absolute links flag
      *
      * @param bool $flag
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setUseAbsoluteLinks($flag)
     {
@@ -97,7 +97,7 @@ class Filter extends \Magento\Filter\Template
      * Doesn't set anything intentionally, since SID is not allowed in any kind of emails
      *
      * @param bool $flag
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setUseSessionInUrl($flag)
     {
@@ -110,7 +110,7 @@ class Filter extends \Magento\Filter\Template
      *
      * @param array $construction
      * @return string
-     * @see \Magento\Core\Model\Email\Template\Filter::viewDirective() method has been copypasted
+     * @see \Magento\Email\Model\Template\Filter::viewDirective() method has been copypasted
      */
     public function viewDirective($construction)
     {
@@ -127,7 +127,7 @@ class Filter extends \Magento\Filter\Template
      *
      * @param array $construction
      * @return string
-     * @see \Magento\Core\Model\Email\Template\Filter::mediaDirective() method has been copypasted
+     * @see \Magento\Email\Model\Template\Filter::mediaDirective() method has been copypasted
      */
     public function mediaDirective($construction)
     {
@@ -141,7 +141,7 @@ class Filter extends \Magento\Filter\Template
      *
      * @param array $construction
      * @return string
-     * @see \Magento\Core\Model\Email\Template\Filter::storeDirective() method has been copypasted
+     * @see \Magento\Email\Model\Template\Filter::storeDirective() method has been copypasted
      */
     public function storeDirective($construction)
     {
diff --git a/app/code/Magento/Catalog/etc/frontend/di.xml b/app/code/Magento/Catalog/etc/frontend/di.xml
index 1bf37d9d6c7..2946fd33dff 100644
--- a/app/code/Magento/Catalog/etc/frontend/di.xml
+++ b/app/code/Magento/Catalog/etc/frontend/di.xml
@@ -37,4 +37,14 @@
     <type name="Magento\Sales\Model\Convert\Quote">
         <plugin name="copy_quote_files_to_order" type="Magento\Catalog\Model\Plugin\QuoteItemProductOption"/>
     </type>
+    <virtualType name="compareProductInitSession" type="Magento\Core\App\Action\Plugin\Session">
+        <param name="cookieCheckActions">
+            <value>
+                <compareProductAdd>add</compareProductAdd>
+            </value>
+        </param>
+    </virtualType>
+    <type name="Magento\Catalog\Controller\Product\Compare">
+        <plugin name="sessionInitializer" type="compareProductInitSession" />
+    </type>
 </config>
diff --git a/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-js-template.phtml b/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-js-template.phtml
index 88a97b6e89a..8d201979096 100644
--- a/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-js-template.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-js-template.phtml
@@ -23,7 +23,7 @@
  * @copyright   Copyright (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\Core\Block\Template */
+/* @var $this \Magento\View\Block\Template */
 ?>
 <script data-template-for="configurable-attribute" type="text/x-jquery-tmpl">
     <div class="entry-edit" data-role="configurable-attribute" data-attribute="${JSON.stringify(attribute)}">
diff --git a/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-template.phtml b/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-template.phtml
index c9eb23e8d37..d1c5bfdaeda 100644
--- a/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-template.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/catalog/product/edit/super/attribute-template.phtml
@@ -23,7 +23,7 @@
  * @copyright   Copyright (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\Core\Block\Template */
+/* @var $this \Magento\View\Block\Template */
 
 $havePriceVariation = array_reduce(
     $attribute['values'],
diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/CATALOG_PRODUCT_COMPOSITE_CONFIGURE.xml b/app/code/Magento/Catalog/view/adminhtml/layout/CATALOG_PRODUCT_COMPOSITE_CONFIGURE.xml
index e3ff5b3eb0f..e62be5fd5b3 100644
--- a/app/code/Magento/Catalog/view/adminhtml/layout/CATALOG_PRODUCT_COMPOSITE_CONFIGURE.xml
+++ b/app/code/Magento/Catalog/view/adminhtml/layout/CATALOG_PRODUCT_COMPOSITE_CONFIGURE.xml
@@ -31,7 +31,7 @@
             <block class="Magento\Catalog\Block\Product\View\Options\Type\File" as="file" template="Magento_Catalog::catalog/product/composite/fieldset/options/type/file.phtml"/>
             <block class="Magento\Catalog\Block\Product\View\Options\Type\Select" as="select" template="Magento_Catalog::catalog/product/composite/fieldset/options/type/select.phtml"/>
             <block class="Magento\Catalog\Block\Product\View\Options\Type\Date" as="date" template="Magento_Catalog::catalog/product/composite/fieldset/options/type/date.phtml"/>
-            <block class="Magento\Core\Block\Template" name="product.composite.fieldset.options.js" as="options_js" template="Magento_Catalog::catalog/product/composite/fieldset/options/js.phtml"/>
+            <block class="Magento\View\Block\Template" name="product.composite.fieldset.options.js" as="options_js" template="Magento_Catalog::catalog/product/composite/fieldset/options/js.phtml"/>
         </block>
         <block class="Magento\Catalog\Block\Adminhtml\Product\Composite\Fieldset\Qty" name="product.composite.fieldset.qty" template="catalog/product/composite/fieldset/qty.phtml"/>
     </block>
diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_category_edit.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_category_edit.xml
index cc8a9ef12d5..24494575ce1 100644
--- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_category_edit.xml
+++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_category_edit.xml
@@ -64,6 +64,6 @@
         <block class="Magento\Catalog\Block\Adminhtml\Category\Edit" name="category.edit" template="catalog/category/edit.phtml"/>
     </referenceContainer>
     <referenceContainer name="js">
-        <block class="Magento\Core\Block\Template" template="Magento_Catalog::catalog/wysiwyg/js.phtml" name="catalog.wysiwyg.js"/>
+        <block class="Magento\View\Block\Template" template="Magento_Catalog::catalog/wysiwyg/js.phtml" name="catalog.wysiwyg.js"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grouped.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grouped.xml
index ad8fc3e54c5..9ded2b17395 100644
--- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grouped.xml
+++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_grouped.xml
@@ -27,10 +27,10 @@
     <update handle="catalog_product_grouped_grid_popup"/>
     <referenceBlock name="product_tabs">
         <block class="Magento\Catalog\Block\Product\Grouped\AssociatedProducts" name="catalog.product.edit.grouped.container" template="Magento_Catalog::product/grouped/container.phtml">
-            <block class="Magento\Core\Block\Template" name="catalog.product.edit.tab.super.container" template="Magento_Catalog::product/grouped/grouped.phtml">
+            <block class="Magento\View\Block\Template" name="catalog.product.edit.tab.super.container" template="Magento_Catalog::product/grouped/grouped.phtml">
                 <block class="Magento\Catalog\Block\Product\Grouped\AssociatedProducts\ListAssociatedProducts" name="catalog.product.edit.tab.super.list" as="list" template="Magento_Catalog::product/grouped/list.phtml">
                 </block>
-                <block class="Magento\Core\Block\Template" name="catalog.product.edit.tab.super.grid.popup.container" as="catalog.product.group.grid.popup.container"/>
+                <block class="Magento\View\Block\Template" name="catalog.product.edit.tab.super.grid.popup.container" as="catalog.product.group.grid.popup.container"/>
             </block>
         </block>
         <action method="addTab">
diff --git a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml
index 9f2bb088b3b..e73c7363a46 100644
--- a/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml
+++ b/app/code/Magento/Catalog/view/adminhtml/layout/catalog_product_new.xml
@@ -119,14 +119,14 @@
         </block>
         <block class="Magento\Catalog\Block\Adminhtml\Product\Edit\AttributeSet" name="attribute-set-info" template="Magento_Catalog::catalog/product/edit/attribute_set.phtml"/>
         <block class="Magento\Catalog\Block\Adminhtml\Product\Edit\NewCategory" name="new-category" template="Magento_Catalog::catalog/product/edit/category/new/form.phtml"/>
-        <block class="Magento\Core\Block\Template" name="affected-attribute-set-form" template="Magento_Catalog::product/configurable/affected-attribute-set-selector/form.phtml"/>
+        <block class="Magento\View\Block\Template" name="affected-attribute-set-form" template="Magento_Catalog::product/configurable/affected-attribute-set-selector/form.phtml"/>
     </referenceContainer>
     <referenceContainer name="left">
         <block class="Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs" name="product_tabs"/>
     </referenceContainer>
     <referenceContainer name="js">
         <block class="Magento\Catalog\Block\Adminhtml\Product\Edit\Js" name="catalog_product_js" template="catalog/product/js.phtml"/>
-        <block class="Magento\Core\Block\Template" template="Magento_Catalog::catalog/wysiwyg/js.phtml"/>
+        <block class="Magento\View\Block\Template" template="Magento_Catalog::catalog/wysiwyg/js.phtml"/>
         <block class="Magento\Catalog\Block\Product\Configurable\AttributeSelector" template="Magento_Catalog::product/configurable/attribute-selector/js.phtml"/>
         <block class="Magento\Catalog\Block\Product\Configurable\AttributeSelector" template="Magento_Catalog::product/configurable/affected-attribute-set-selector/js.phtml"/>
     </referenceContainer>
diff --git a/app/code/Magento/Catalog/view/adminhtml/product/configurable/affected-attribute-set-selector/form.phtml b/app/code/Magento/Catalog/view/adminhtml/product/configurable/affected-attribute-set-selector/form.phtml
index bb858af020c..7d4961b562b 100644
--- a/app/code/Magento/Catalog/view/adminhtml/product/configurable/affected-attribute-set-selector/form.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/product/configurable/affected-attribute-set-selector/form.phtml
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 
-/* @var $this \Magento\Core\Block\Template */
+/* @var $this \Magento\View\Block\Template */
 ?>
 <div id="<?php echo $this->getNameInLayout() ?>" style="display:none" data-role="dialog" data-id="affected-attribute-set-selector">
     <form action="">
diff --git a/app/code/Magento/Catalog/view/adminhtml/product/grouped/grouped.phtml b/app/code/Magento/Catalog/view/adminhtml/product/grouped/grouped.phtml
index 3705d876b8c..5942d7449db 100644
--- a/app/code/Magento/Catalog/view/adminhtml/product/grouped/grouped.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/product/grouped/grouped.phtml
@@ -24,9 +24,9 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\Block\Template */
 
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\Block\Template */
 $_gridPopupBlock = $this->getChildBlock('catalog.product.group.grid.popup.container')->getChildBlock('grid');
 $_gridPopupBlock->setRowClickCallback('function(){}');
 /** @var $_helper \Magento\Core\Helper\Data */
diff --git a/app/code/Magento/Catalog/view/frontend/layout/MAP_popup.xml b/app/code/Magento/Catalog/view/frontend/layout/MAP_popup.xml
index 5d6fd295277..3fc59ceed7a 100644
--- a/app/code/Magento/Catalog/view/frontend/layout/MAP_popup.xml
+++ b/app/code/Magento/Catalog/view/frontend/layout/MAP_popup.xml
@@ -25,6 +25,6 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" template="Magento_Catalog::msrp/popup.phtml" name="product.tooltip"/>
+        <block class="Magento\View\Block\Template" template="Magento_Catalog::msrp/popup.phtml" name="product.tooltip"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml
index 48129b08946..c625607f9b2 100644
--- a/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml
+++ b/app/code/Magento/Catalog/view/frontend/layout/catalog_product_view.xml
@@ -65,7 +65,7 @@
             <block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="product/view/addto.phtml"/>
             <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart" as="addtocart" template="product/view/addtocart.phtml"/>
             <container name="product.info.extrahint" as="extrahint" label="Product View Extra Hint"/>
-            <block class="Magento\Core\Block\Template" name="product.info.container" as="options_container">
+            <block class="Magento\View\Block\Template" name="product.info.container" 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"/>
@@ -74,7 +74,7 @@
                         <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 class="Magento\View\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.tierprices.additional" as="product.tierprices" template="product/view/tierprices.phtml"/>
diff --git a/app/code/Magento/Catalog/view/frontend/layout/default.xml b/app/code/Magento/Catalog/view/frontend/layout/default.xml
index fd2c0e84c01..61dce0450f1 100644
--- a/app/code/Magento/Catalog/view/frontend/layout/default.xml
+++ b/app/code/Magento/Catalog/view/frontend/layout/default.xml
@@ -32,7 +32,7 @@
         </block>
     </referenceBlock>
     <referenceContainer name="left">
-        <block class="Magento\Core\Block\Template" name="left.permanent.callout" template="Magento_Page::callouts/left_col.phtml">
+        <block class="Magento\View\Block\Template" name="left.permanent.callout" template="Magento_Page::callouts/left_col.phtml">
             <action method="setImgSrc">
                 <argument name="src" xsi:type="string">Magento_Catalog::images/media/col_left_callout.jpg</argument>
             </action>
@@ -46,7 +46,7 @@
     </referenceContainer>
     <referenceContainer name="right">
         <block class="Magento\Catalog\Block\Product\Compare\Sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="product/compare/sidebar.phtml"/>
-        <block class="Magento\Core\Block\Template" name="right.permanent.callout" template="Magento_Page::callouts/right_col.phtml">
+        <block class="Magento\View\Block\Template" name="right.permanent.callout" template="Magento_Page::callouts/right_col.phtml">
             <action method="setImgSrc">
                 <argument name="src" xsi:type="string">Magento_Catalog::images/media/col_right_callout.jpg</argument>
             </action>
diff --git a/app/code/Magento/Catalog/view/frontend/product/price.phtml b/app/code/Magento/Catalog/view/frontend/product/price.phtml
index 1c699dfca1f..6f0701b2f2b 100644
--- a/app/code/Magento/Catalog/view/frontend/product/price.phtml
+++ b/app/code/Magento/Catalog/view/frontend/product/price.phtml
@@ -403,7 +403,7 @@
         }
     ?>
     <?php if ($price): ?>
-        <div class="price-box">
+        <div class="price-box" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
             <p<?php if ($showMinPrice): ?> class="minimal-price"<?php endif ?>>
                 <?php if ($showMinPrice): ?>
                 <span class="price-label"><?php echo __('Starting at:') ?></span>
@@ -411,7 +411,7 @@
                 <?php if ($_taxHelper->displayBothPrices()): ?>
                     <span class="price-excluding-tax">
                         <span class="label"><?php echo __('Excl. Tax:') ?></span>
-                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
+                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>" itemprop="price">
                             <?php echo $_coreHelper->currency($_exclTax, true, false) ?>
                         </span>
                     </span>
@@ -428,7 +428,7 @@
                         $_showPrice = $_exclTax;
                     }
                     ?>
-                <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
+                <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>" itemprop="price">
                     <?php echo $_coreHelper->currency($_showPrice, true, false) ?>
                 </span>
                 <?php endif; ?>
diff --git a/app/code/Magento/Catalog/view/frontend/product/view.phtml b/app/code/Magento/Catalog/view/frontend/product/view.phtml
index ce313ef81c4..ffee792efe9 100644
--- a/app/code/Magento/Catalog/view/frontend/product/view.phtml
+++ b/app/code/Magento/Catalog/view/frontend/product/view.phtml
@@ -41,7 +41,7 @@
     })(jQuery);
 </script>
 <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
-<div class="product-view">
+<div class="product-view" itemscope itemtype="http://schema.org/Product">
     <div class="product-essential">
         <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post"
               id="product_addtocart_form"<?php if ($_product->getOptions()): ?>
@@ -53,7 +53,7 @@
 
             <div class="product-shop">
                 <div class="product-name">
-                    <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
+                    <h1 itemprop="name"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
                 </div>
 
                 <?php if ($this->canEmailToFriend()): ?>
@@ -89,8 +89,7 @@
                 <div class="short-description">
                     <h2><?php echo __('Quick Overview') ?></h2>
 
-                    <div
-                        class="std"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
+                    <div class="std" itemprop="description"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
                 </div>
                 <?php endif;?>
 
diff --git a/app/code/Magento/Catalog/view/frontend/product/view/base-image.phtml b/app/code/Magento/Catalog/view/frontend/product/view/base-image.phtml
index 9b1df0e979d..fb701a64ef7 100644
--- a/app/code/Magento/Catalog/view/frontend/product/view/base-image.phtml
+++ b/app/code/Magento/Catalog/view/frontend/product/view/base-image.phtml
@@ -37,7 +37,7 @@
 <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
 <p class="product-image product-image-zoom">
     <?php
-        $_img = '<img data-role="base-image" id="image" src="'.$this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image').'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
+        $_img = '<img data-role="base-image" id="image" itemprop="image" src="'.$this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image').'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
         echo $_helper->productAttribute($_product, $_img, 'image');
     ?>
 </p>
@@ -60,7 +60,7 @@
 <?php else: ?>
 <p class="product-image">
     <?php
-        $_img = '<img data-role="base-image" src="'.$this->getBaseImageUrl($_product).'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
+        $_img = '<img data-role="base-image" itemprop="image" src="'.$this->getBaseImageUrl($_product).'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
         echo $_helper->productAttribute($_product, $_img, 'image');
     ?>
 </p>
diff --git a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php
index 7c8a448c646..e7adb5187b5 100644
--- a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php
+++ b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Customergroup.php
@@ -28,7 +28,7 @@
  */
 namespace Magento\CatalogInventory\Block\Adminhtml\Form\Field;
 
-class Customergroup extends \Magento\Core\Block\Html\Select
+class Customergroup extends \Magento\View\Block\Html\Select
 {
     /**
      * Customer groups cache
@@ -54,12 +54,12 @@ class Customergroup extends \Magento\Core\Block\Html\Select
     /**
      * Construct
      *
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $groupCollectionFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Customer\Model\Resource\Group\CollectionFactory $groupCollectionFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/CatalogInventory/Block/Qtyincrements.php b/app/code/Magento/CatalogInventory/Block/Qtyincrements.php
index a7aa292ca44..398d9d663f8 100644
--- a/app/code/Magento/CatalogInventory/Block/Qtyincrements.php
+++ b/app/code/Magento/CatalogInventory/Block/Qtyincrements.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\CatalogInventory\Block;
 
-class Qtyincrements extends \Magento\Core\Block\Template
+class Qtyincrements extends \Magento\View\Block\Template
 {
     /**
      * Qty Increments cache
@@ -51,19 +51,19 @@ class Qtyincrements extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogInventory/Block/Stockqty/AbstractStockqty.php b/app/code/Magento/CatalogInventory/Block/Stockqty/AbstractStockqty.php
index 4ec0e4f2eda..17f6471e7b4 100644
--- a/app/code/Magento/CatalogInventory/Block/Stockqty/AbstractStockqty.php
+++ b/app/code/Magento/CatalogInventory/Block/Stockqty/AbstractStockqty.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\CatalogInventory\Block\Stockqty;
 
-abstract class AbstractStockqty extends \Magento\Core\Block\Template
+abstract class AbstractStockqty extends \Magento\View\Block\Template
 {
     const XML_PATH_STOCK_THRESHOLD_QTY = 'cataloginventory/options/stock_threshold_qty';
 
@@ -46,19 +46,19 @@ abstract class AbstractStockqty extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogInventory/Helper/Data.php b/app/code/Magento/CatalogInventory/Helper/Data.php
index a5b57b22617..6f577396939 100644
--- a/app/code/Magento/CatalogInventory/Helper/Data.php
+++ b/app/code/Magento/CatalogInventory/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\CatalogInventory\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_SHOW_OUT_OF_STOCK    = 'cataloginventory/options/show_out_of_stock';
     const XML_PATH_ITEM_AUTO_RETURN     = 'cataloginventory/item_options/auto_return';
@@ -64,12 +64,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Catalog\Model\ProductTypes\ConfigInterface $config
     ) {
diff --git a/app/code/Magento/CatalogInventory/Model/Config/Backend/Managestock.php b/app/code/Magento/CatalogInventory/Model/Config/Backend/Managestock.php
index eb5b2b4103a..ff62f4ffb26 100644
--- a/app/code/Magento/CatalogInventory/Model/Config/Backend/Managestock.php
+++ b/app/code/Magento/CatalogInventory/Model/Config/Backend/Managestock.php
@@ -46,7 +46,7 @@ class Managestock
      * @param \Magento\CatalogInventory\Model\Stock\Status $stockStatus
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -56,7 +56,7 @@ class Managestock
         \Magento\CatalogInventory\Model\Stock\Status $stockStatus,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
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 169aac95102..a98821e53c6 100644
--- a/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
+++ b/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
@@ -30,8 +30,6 @@ namespace Magento\CatalogInventory\Model\Resource\Stock\Item;
 class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollection
 {
     /**
-     * Store model manager
-     *
      * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
@@ -42,7 +40,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Resource\Db\Abstract $resource
+     * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
         \Magento\Event\ManagerInterface $eventManager,
@@ -52,9 +50,8 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $resource);
-
         $this->_storeManager = $storeManager;
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $resource);
     }
 
     /**
diff --git a/app/code/Magento/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php b/app/code/Magento/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php
index 566168b8069..f03cbf87ef5 100644
--- a/app/code/Magento/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php
+++ b/app/code/Magento/CatalogInventory/Model/System/Config/Backend/Minsaleqty.php
@@ -43,7 +43,7 @@ class Minsaleqty extends \Magento\Core\Model\Config\Value
      * @param \Magento\CatalogInventory\Helper\Minsaleqty $catalogInventoryMinsaleqty
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -53,7 +53,7 @@ class Minsaleqty extends \Magento\Core\Model\Config\Value
         \Magento\CatalogInventory\Helper\Minsaleqty $catalogInventoryMinsaleqty,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit.php
index bfd977961fa..c326a78bf83 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php
index b6a95b26c6c..1057fd89fba 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Conditions.php
@@ -40,27 +40,27 @@ class Conditions
      */
     protected $_conditions;
 
-    /**
-     * @param \Magento\Rule\Block\Conditions $conditions
-     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Rule\Block\Conditions $conditions
+     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rule\Block\Conditions $conditions,
-        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Rule\Block\Conditions $conditions,
+        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
+        array $data = array()
+    ) {
         $this->_rendererFieldset = $rendererFieldset;
         $this->_conditions = $conditions;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Main.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Main.php
index c028300cb3c..80da91b7898 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Main.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Main.php
@@ -37,11 +37,6 @@ class Main
     extends \Magento\Backend\Block\Widget\Form\Generic
     implements \Magento\Backend\Block\Widget\Tab\TabInterface
 {
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\System\Store
      */
@@ -53,27 +48,26 @@ class Main
     protected $_customerGroup;
 
     /**
-     * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup
-     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup
+     * @param \Magento\Core\Model\System\Store $systemStore
      * @param array $data
      */
     public function __construct(
-        \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup,
-        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
         \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup,
+        \Magento\Core\Model\System\Store $systemStore,
         array $data = array()
     ) {
-        $this->_storeManager = $context->getStoreManager();
         $this->_systemStore = $systemStore;
         $this->_customerGroup = $customerGroup;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php
index 16710323f8a..b902561416d 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser.php
@@ -36,24 +36,22 @@ class Chooser extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_salesRule;
 
-    /**
-     * @param \Magento\SalesRule\Model\RuleFactory $salesRule
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\SalesRule\Model\RuleFactory $salesRule
+     * @param array $data
      */
-    public function __construct(
-        \Magento\SalesRule\Model\RuleFactory $salesRule,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\SalesRule\Model\RuleFactory $salesRule,
+        array $data = array()
+    ) {
         $this->_salesRule = $salesRule;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Daterange.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Daterange.php
index 287054dc7b3..5d06461672e 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Daterange.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Daterange.php
@@ -63,18 +63,18 @@ class Daterange extends \Magento\Backend\Block\AbstractBlock
      */
     protected $mathRandom;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Math\Random $mathRandom
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Math\Random $mathRandom
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Math\Random $mathRandom,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Math\Random $mathRandom,
+        array $data = array()
+    ) {
         $this->_formFactory = $formFactory;
         $this->mathRandom = $mathRandom;
         parent::__construct($context, $data);
diff --git a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Sku.php b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Sku.php
index 3455e82fbe6..aa54e2e677c 100644
--- a/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Sku.php
+++ b/app/code/Magento/CatalogRule/Block/Adminhtml/Promo/Widget/Chooser/Sku.php
@@ -55,33 +55,31 @@ class Sku extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_catalogProduct;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $catalogProduct
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavAttSetCollection
-     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $cpCollection
-     * @param \Magento\Catalog\Model\Product\Type $catalogType
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\ProductFactory $catalogProduct
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavAttSetCollection
+     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $cpCollection
+     * @param \Magento\Catalog\Model\Product\Type $catalogType
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $catalogProduct,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavAttSetCollection,
-        \Magento\Catalog\Model\Resource\Product\CollectionFactory $cpCollection,
-        \Magento\Catalog\Model\Product\Type $catalogType,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\ProductFactory $catalogProduct,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavAttSetCollection,
+        \Magento\Catalog\Model\Resource\Product\CollectionFactory $cpCollection,
+        \Magento\Catalog\Model\Product\Type $catalogType,
+        array $data = array()
+    ) {
         $this->_catalogType = $catalogType;
         $this->_cpCollection = $cpCollection;
         $this->_eavAttSetCollection = $eavAttSetCollection;
         $this->_catalogProduct = $catalogProduct;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo.php
index e6b307b05f8..36e77611703 100644
--- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo.php
+++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo.php
@@ -33,15 +33,15 @@
  */
 namespace Magento\CatalogRule\Controller\Adminhtml;
 
-class Promo extends \Magento\Backend\Controller\Adminhtml\Action
+class Promo extends \Magento\Backend\App\Action
 {
 
     public function indexAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_CatalogRule::promo');
         $this->_addBreadcrumb(__('Promotions'), __('Promo'));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php
index 67323e46926..a308eb102a6 100644
--- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php
+++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Catalog.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\CatalogRule\Controller\Adminhtml\Promo;
 
-class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
+class Catalog extends \Magento\Backend\App\Action
 {
     /**
      * Dirty rules notice message
@@ -50,22 +50,30 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected $_coreRegistry = null;
 
+    /*
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Filter\Date $dateFilter
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Filter\Date $dateFilter
     ) {
-        $this->_coreRegistry = $coreRegistry;
         parent::__construct($context);
+        $this->_coreRegistry = $coreRegistry;
+        $this->_dateFilter = $dateFilter;
     }
 
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_CatalogRule::promo_catalog')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_CatalogRule::promo_catalog')
             ->_addBreadcrumb(
                 __('Promotions'),
                 __('Promotions')
@@ -75,7 +83,7 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Catalog Price Rules'));
+        $this->_title->add(__('Catalog Price Rules'));
 
         $dirtyRules = $this->_objectManager->create('Magento\CatalogRule\Model\Flag')->loadSelf();
         if ($dirtyRules->getState()) {
@@ -86,8 +94,8 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
             ->_addBreadcrumb(
                 __('Catalog'),
                 __('Catalog')
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -97,7 +105,7 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Catalog Price Rules'));
+        $this->_title->add(__('Catalog Price Rules'));
 
         $id = $this->getRequest()->getParam('id');
         $model = $this->_objectManager->create('Magento\CatalogRule\Model\Rule');
@@ -113,7 +121,7 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($model->getRuleId() ? $model->getName() : __('New Catalog Price Rule'));
+        $this->_title->add($model->getRuleId() ? $model->getName() : __('New Catalog Price Rule'));
 
         // set entered data if was error when we do save
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getPageData(true);
@@ -124,11 +132,13 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_coreRegistry->register('current_promo_catalog_rule', $model);
 
-        $this->_initAction()->getLayout()->getBlock('promo_catalog_edit')
+        $this->_initAction();
+        $this->_view->getLayout()->getBlock('promo_catalog_edit')
             ->setData('action', $this->getUrl('catalog_rule/promo_catalog/save'));
 
         $breadcrumb = $id ? __('Edit Rule') : __('New Rule');
-        $this->_addBreadcrumb($breadcrumb, $breadcrumb)->renderLayout();
+        $this->_addBreadcrumb($breadcrumb, $breadcrumb);
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -141,7 +151,9 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
                     array('request' => $this->getRequest())
                 );
                 $data = $this->getRequest()->getPost();
-                $data = $this->_filterDates($data, array('from_date', 'to_date'));
+                $inputFilter = new \Zend_Filter_Input(
+                    array('from_date' => $this->_dateFilter, 'to_date' => $this->_dateFilter), array(), $data);
+                $data = $inputFilter->getUnescaped();
                 $id = $this->getRequest()->getParam('rule_id');
                 if ($id) {
                     $model->load($id);
@@ -152,7 +164,7 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
 
                 $validateResult = $model->validateData(new \Magento\Object($data));
                 if ($validateResult !== true) {
-                    foreach($validateResult as $errorMessage) {
+                    foreach ($validateResult as $errorMessage) {
                         $this->_getSession()->addError($errorMessage);
                     }
                     $this->_getSession()->setPageData($data);
@@ -265,7 +277,7 @@ class Catalog extends \Magento\Backend\Controller\Adminhtml\Action
             $type = 'Magento\CatalogRule\Block\Adminhtml\Promo\Widget\Chooser\Sku';
         }
         if (!empty($type)) {
-            $block = $this->getLayout()->createBlock($type);
+            $block = $this->_view->getLayout()->createBlock($type);
             if ($block) {
                 $this->getResponse()->setBody($block->toHtml());
             }
diff --git a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Widget.php b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Widget.php
index 69a377fc0cc..170cbd4e273 100644
--- a/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Widget.php
+++ b/app/code/Magento/CatalogRule/Controller/Adminhtml/Promo/Widget.php
@@ -26,7 +26,7 @@
 
 namespace Magento\CatalogRule\Controller\Adminhtml\Promo;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -36,11 +36,11 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -58,7 +58,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
 
         switch ($request->getParam('attribute')) {
             case 'sku':
-                $block = $this->getLayout()->createBlock(
+                $block = $this->_view->getLayout()->createBlock(
                     'Magento\CatalogRule\Block\Adminhtml\Promo\Widget\Chooser\Sku', 'promo_widget_chooser_sku',
                     array('data' => array('js_form_object' => $request->getParam('form')),
                 ));
@@ -80,7 +80,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
                 }
 
 
-                $block = $this->getLayout()->createBlock(
+                $block = $this->_view->getLayout()->createBlock(
                         'Magento\Catalog\Block\Adminhtml\Category\Checkboxes\Tree', 'promo_widget_chooser_category_ids',
                         array('data' => array('js_form_object' => $request->getParam('form')))
                     )
@@ -116,7 +116,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
                 return;
             }
             $this->getResponse()->setBody(
-                $this->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
+                $this->_view->getLayout()->createBlock('Magento\Catalog\Block\Adminhtml\Category\Tree')
                     ->getTreeJson($category)
             );
         }
diff --git a/app/code/Magento/CatalogRule/Helper/Data.php b/app/code/Magento/CatalogRule/Helper/Data.php
index 9f130791341..ddc89877d8c 100644
--- a/app/code/Magento/CatalogRule/Helper/Data.php
+++ b/app/code/Magento/CatalogRule/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\CatalogRule\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Algorithm for calculating price rule
diff --git a/app/code/Magento/CatalogSearch/Block/Advanced/Form.php b/app/code/Magento/CatalogSearch/Block/Advanced/Form.php
index 2313f1e3508..6b92f27f4fe 100644
--- a/app/code/Magento/CatalogSearch/Block/Advanced/Form.php
+++ b/app/code/Magento/CatalogSearch/Block/Advanced/Form.php
@@ -33,22 +33,8 @@
  */
 namespace Magento\CatalogSearch\Block\Advanced;
 
-class Form extends \Magento\Core\Block\Template
+class Form extends \Magento\View\Block\Template
 {
-    /**
-     * Locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Currency factory
      *
@@ -64,30 +50,22 @@ class Form extends \Magento\Core\Block\Template
     protected $_catalogSearchAdvanced;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced
      * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced,
         \Magento\Directory\Model\CurrencyFactory $currencyFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         array $data = array()
     ) {
         $this->_catalogSearchAdvanced = $catalogSearchAdvanced;
         $this->_currencyFactory = $currencyFactory;
-        $this->_storeManager = $storeManager;
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function _prepareLayout()
@@ -308,7 +286,7 @@ class Form extends \Magento\Core\Block\Template
     {
         $block = $this->getData('_select_block');
         if (is_null($block)) {
-            $block = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select');
+            $block = $this->getLayout()->createBlock('Magento\View\Block\Html\Select');
             $this->setData('_select_block', $block);
         }
         return $block;
@@ -318,7 +296,7 @@ class Form extends \Magento\Core\Block\Template
     {
         $block = $this->getData('_date_block');
         if (is_null($block)) {
-            $block = $this->getLayout()->createBlock('Magento\Core\Block\Html\Date');
+            $block = $this->getLayout()->createBlock('Magento\View\Block\Html\Date');
             $this->setData('_date_block', $block);
         }
         return $block;
diff --git a/app/code/Magento/CatalogSearch/Block/Advanced/Result.php b/app/code/Magento/CatalogSearch/Block/Advanced/Result.php
index 5ee0294f767..2115c0642a8 100644
--- a/app/code/Magento/CatalogSearch/Block/Advanced/Result.php
+++ b/app/code/Magento/CatalogSearch/Block/Advanced/Result.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\CatalogSearch\Block\Advanced;
 
-class Result extends \Magento\Core\Block\Template
+class Result extends \Magento\View\Block\Template
 {
     /**
      * Url factory
@@ -42,13 +42,6 @@ class Result extends \Magento\Core\Block\Template
      */
     protected $_urlFactory;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Catalog layer
      *
@@ -64,30 +57,25 @@ class Result extends \Magento\Core\Block\Template
     protected $_catalogSearchAdvanced;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced
      * @param \Magento\Catalog\Model\Layer $catalogLayer
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\UrlFactory $urlFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced,
         \Magento\Catalog\Model\Layer $catalogLayer,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\UrlFactory $urlFactory,
         array $data = array()
     ) {
         $this->_catalogSearchAdvanced = $catalogSearchAdvanced;
         $this->_catalogLayer = $catalogLayer;
-        $this->_storeManager = $storeManager;
         $this->_urlFactory = $urlFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/CatalogSearch/Block/Autocomplete.php b/app/code/Magento/CatalogSearch/Block/Autocomplete.php
index 818a8e5968a..966fb71c735 100644
--- a/app/code/Magento/CatalogSearch/Block/Autocomplete.php
+++ b/app/code/Magento/CatalogSearch/Block/Autocomplete.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\CatalogSearch\Block;
 
-class Autocomplete extends \Magento\Core\Block\AbstractBlock
+class Autocomplete extends \Magento\View\Block\AbstractBlock
 {
     protected $_suggestData = null;
 
diff --git a/app/code/Magento/CatalogSearch/Block/Layer.php b/app/code/Magento/CatalogSearch/Block/Layer.php
index 112326586fd..b0d90f5de38 100644
--- a/app/code/Magento/CatalogSearch/Block/Layer.php
+++ b/app/code/Magento/CatalogSearch/Block/Layer.php
@@ -51,13 +51,6 @@ class Layer extends \Magento\Catalog\Block\Layer\View
      */
     protected $_catalogSearchData = null;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Catalog search layer
      *
@@ -66,26 +59,22 @@ class Layer extends \Magento\Catalog\Block\Layer\View
     protected $_catalogSearchLayer;
 
     /**
-     * Construct
-     *
-     * @param \Magento\CatalogSearch\Model\Layer $layer
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\CatalogSearch\Model\Layer $catalogLayer
      * @param \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param \Magento\CatalogSearch\Model\Layer $catalogSearchLayer
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\CatalogSearch\Model\Layer $layer,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\CatalogSearch\Model\Layer $catalogLayer,
         \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\CatalogSearch\Model\Layer $catalogSearchLayer,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
@@ -93,8 +82,7 @@ class Layer extends \Magento\Catalog\Block\Layer\View
         $this->_coreRegistry = $registry;
         $this->_catalogSearchData = $catalogSearchData;
         $this->_catalogSearchLayer = $catalogSearchLayer;
-        $this->_storeManager = $storeManager;
-        parent::__construct($layer, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $catalogLayer, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogSearch/Block/Result.php b/app/code/Magento/CatalogSearch/Block/Result.php
index b6559296ef6..f1d047b6ef9 100644
--- a/app/code/Magento/CatalogSearch/Block/Result.php
+++ b/app/code/Magento/CatalogSearch/Block/Result.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\CatalogSearch\Block;
 
-class Result extends \Magento\Core\Block\Template
+class Result extends \Magento\View\Block\Template
 {
     /**
      * Catalog Product collection
@@ -50,13 +50,6 @@ class Result extends \Magento\Core\Block\Template
      */
     protected $_catalogSearchData = null;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Catalog layer
      *
@@ -65,27 +58,22 @@ class Result extends \Magento\Core\Block\Template
     protected $_catalogLayer;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Catalog\Model\Layer $catalogLayer
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Catalog\Model\Layer $catalogLayer,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         array $data = array()
     ) {
         $this->_catalogLayer = $catalogLayer;
-        $this->_storeManager = $storeManager;
         $this->_catalogSearchData = $catalogSearchData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogSearch/Block/Term.php b/app/code/Magento/CatalogSearch/Block/Term.php
index 3b3bb6f3022..30031df9e58 100644
--- a/app/code/Magento/CatalogSearch/Block/Term.php
+++ b/app/code/Magento/CatalogSearch/Block/Term.php
@@ -33,19 +33,12 @@
  */
 namespace Magento\CatalogSearch\Block;
 
-class Term extends \Magento\Core\Block\Template
+class Term extends \Magento\View\Block\Template
 {
     protected $_terms;
     protected $_minPopularity;
     protected $_maxPopularity;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Url factory
      *
@@ -61,27 +54,22 @@ class Term extends \Magento\Core\Block\Template
     protected $_queryCollectionFactory;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queryCollectionFactory
      * @param \Magento\Core\Model\UrlFactory $urlFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\CatalogSearch\Model\Resource\Query\CollectionFactory $queryCollectionFactory,
         \Magento\Core\Model\UrlFactory $urlFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         $this->_queryCollectionFactory = $queryCollectionFactory;
         $this->_urlFactory = $urlFactory;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/CatalogSearch/Controller/Advanced.php b/app/code/Magento/CatalogSearch/Controller/Advanced.php
index 2885540a810..79e66db657c 100644
--- a/app/code/Magento/CatalogSearch/Controller/Advanced.php
+++ b/app/code/Magento/CatalogSearch/Controller/Advanced.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\CatalogSearch\Controller;
 
-class Advanced extends \Magento\Core\Controller\Front\Action
+class Advanced extends \Magento\App\Action\Action
 {
 
     /**
@@ -60,13 +60,13 @@ class Advanced extends \Magento\Core\Controller\Front\Action
     /**
      * Construct
      *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Session\Generic $catalogSearchSession
      * @param \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced
      * @param \Magento\Core\Model\UrlFactory $urlFactory
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Session\Generic $catalogSearchSession,
         \Magento\CatalogSearch\Model\Advanced $catalogSearchAdvanced,
         \Magento\Core\Model\UrlFactory $urlFactory
@@ -79,25 +79,24 @@ class Advanced extends \Magento\Core\Controller\Front\Action
 
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\CatalogSearch\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\CatalogSearch\Model\Session');
+        $this->_view->renderLayout();
     }
 
     public function resultAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         try {
             $this->_catalogSearchAdvanced->addFilters($this->getRequest()->getQuery());
         } catch (\Magento\Core\Exception $e) {
             $this->_catalogSearchSession->addError($e->getMessage());
-            $this->_redirectError(
-                $this->_urlFactory->create()
-                    ->setQueryParams($this->getRequest()->getQuery())
-                    ->getUrl('*/*/')
-            );
+            $defaultUrl = $this->_urlFactory->create()
+                ->setQueryParams($this->getRequest()->getQuery())
+                ->getUrl('*/*/');
+            $this->getResponse()->setRedirect($this->_redirect->error($defaultUrl));
         }
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->renderLayout();
+        $this->_view->getLayout()->initMessages('Magento\Catalog\Model\Session');
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/CatalogSearch/Controller/Ajax.php b/app/code/Magento/CatalogSearch/Controller/Ajax.php
index 04dc8405498..fdd3dbfea69 100644
--- a/app/code/Magento/CatalogSearch/Controller/Ajax.php
+++ b/app/code/Magento/CatalogSearch/Controller/Ajax.php
@@ -33,36 +33,16 @@
  */
 namespace Magento\CatalogSearch\Controller;
 
-class Ajax extends \Magento\Core\Controller\Front\Action
+class Ajax extends \Magento\App\Action\Action
 {
-    /**
-     * Url
-     *
-     * @var \Magento\Core\Model\Url
-     */
-    protected $_url;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Url $url
-     */
-    public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Url $url
-    ) {
-        $this->_url = $url;
-        parent::__construct($context);
-    }
-
     public function suggestAction()
     {
         if (!$this->getRequest()->getParam('q', false)) {
             $this->getResponse()->setRedirect($this->_url->getBaseUrl());
         }
 
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/CatalogSearch/Controller/Result.php b/app/code/Magento/CatalogSearch/Controller/Result.php
index 6036637a28b..0fe3a2ac615 100644
--- a/app/code/Magento/CatalogSearch/Controller/Result.php
+++ b/app/code/Magento/CatalogSearch/Controller/Result.php
@@ -29,14 +29,8 @@
  */
 namespace Magento\CatalogSearch\Controller;
 
-class Result extends \Magento\Core\Controller\Front\Action
+class Result extends \Magento\App\Action\Action
 {
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
 
     /**
      * Catalog session
@@ -46,19 +40,22 @@ class Result extends \Magento\Core\Controller\Front\Action
     protected $_catalogSession;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Catalog\Model\Session $catalogSession
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Catalog\Model\Session $catalogSession,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
-        $this->_catalogSession = $catalogSession;
         $this->_storeManager = $storeManager;
+        $this->_catalogSession = $catalogSession;
         parent::__construct($context);
     }
 
@@ -86,38 +83,34 @@ class Result extends \Magento\Core\Controller\Front\Action
                 $query->setId(0)
                     ->setIsActive(1)
                     ->setIsProcessed(1);
-            }
-            else {
+            } else {
                 if ($query->getId()) {
                     $query->setPopularity($query->getPopularity()+1);
-                }
-                else {
+                } else {
                     $query->setPopularity(1);
                 }
 
-                if ($query->getRedirect()){
+                if ($query->getRedirect()) {
                     $query->save();
                     $this->getResponse()->setRedirect($query->getRedirect());
                     return;
-                }
-                else {
+                } else {
                     $query->prepare();
                 }
             }
 
             $this->_objectManager->get('Magento\CatalogSearch\Helper\Data')->checkNotes();
 
-            $this->loadLayout();
-            $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-            $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->getLayout()
+                ->initMessages(array('Magento\Catalog\Model\Session', 'Magento\Checkout\Model\Session'));
+            $this->_view->renderLayout();
 
             if (!$this->_objectManager->get('Magento\CatalogSearch\Helper\Data')->isMinQueryLength()) {
                 $query->save();
             }
-        }
-        else {
-            $this->_redirectReferer();
+        } else {
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
         }
     }
 }
diff --git a/app/code/Magento/CatalogSearch/Controller/Term.php b/app/code/Magento/CatalogSearch/Controller/Term.php
index 2d4ee9a26b3..23c2cacddfb 100644
--- a/app/code/Magento/CatalogSearch/Controller/Term.php
+++ b/app/code/Magento/CatalogSearch/Controller/Term.php
@@ -27,20 +27,27 @@
 
 namespace Magento\CatalogSearch\Controller;
 
-class Term extends \Magento\Core\Controller\Front\Action {
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
 
-    public function preDispatch(){
-        parent::preDispatch();
-        if(!$this->_objectManager->get('Magento\Core\Model\Store\Config')->getConfig('catalog/seo/search_terms')){
-              $this->_redirect('noroute');
-              $this->setFlag('',self::FLAG_NO_DISPATCH,true);
+class Term extends \Magento\App\Action\Action
+{
+    /**
+     * @param RequestInterface $request
+     * @return mixed
+     */
+    public function dispatch(RequestInterface $request)
+    {
+        if (!$this->_objectManager->get('Magento\Core\Model\Store\Config')->getConfig('catalog/seo/search_terms')) {
+            $this->_redirect('noroute');
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         }
-        return $this;
-
+        return parent::dispatch($request);
     }
+
     public function popularAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/CatalogSearch/Helper/Data.php b/app/code/Magento/CatalogSearch/Helper/Data.php
index 93e59294c77..29c7c8ff4e0 100644
--- a/app/code/Magento/CatalogSearch/Helper/Data.php
+++ b/app/code/Magento/CatalogSearch/Helper/Data.php
@@ -29,7 +29,7 @@ namespace Magento\CatalogSearch\Helper;
 /**
  * Catalog search helper
  */
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Query variable
@@ -110,7 +110,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Construct
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\CatalogSearch\Model\QueryFactory $queryFactory
@@ -118,7 +118,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Filter\FilterManager $filter
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Stdlib\String $string,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\CatalogSearch\Model\QueryFactory $queryFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Config/Backend/Search/Type.php b/app/code/Magento/CatalogSearch/Model/Config/Backend/Search/Type.php
index c029880c65d..53fbae7e7b8 100644
--- a/app/code/Magento/CatalogSearch/Model/Config/Backend/Search/Type.php
+++ b/app/code/Magento/CatalogSearch/Model/Config/Backend/Search/Type.php
@@ -48,7 +48,7 @@ class Type extends \Magento\Core\Model\Config\Value
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -59,7 +59,7 @@ class Type extends \Magento\Core\Model\Config\Value
         \Magento\CatalogSearch\Model\Fulltext $catalogSearchFulltext,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/CatalogSearch/Model/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Fulltext.php
index dd544df5bba..75d67d04c13 100644
--- a/app/code/Magento/CatalogSearch/Model/Fulltext.php
+++ b/app/code/Magento/CatalogSearch/Model/Fulltext.php
@@ -56,13 +56,6 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
      */
     protected $_catalogSearchData = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core store config
      *
@@ -71,7 +64,6 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
     protected $_coreStoreConfig;
 
     /**
-     * @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 +73,6 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -90,7 +81,6 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_catalogSearchData = $catalogSearchData;
         $this->_coreStoreConfig = $coreStoreConfig;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
index 7fda440d4cb..87af424704b 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
@@ -49,7 +49,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -72,7 +72,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -89,7 +89,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     ) {
         $this->_date = $date;
         parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig,
-            $coreResource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData,
+            $resource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData,
             $catalogProductFlat, $coreStoreConfig, $productOptionFactory, $catalogUrl, $locale,
             $customerSession, $resourceHelper, $dateTime
         );
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
index 25fbbb41914..988b07c29ae 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
@@ -56,7 +56,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -80,7 +80,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -99,7 +99,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
         $this->_catalogSearchFulltext = $catalogSearchFulltext;
         $this->_catalogSearchData = $catalogSearchData;
         parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig,
-            $coreResource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData,
+            $resource, $eavEntityFactory, $universalFactory, $storeManager, $catalogData,
             $catalogProductFlat, $coreStoreConfig, $productOptionFactory, $catalogUrl, $locale,
             $customerSession, $resourceHelper, $dateTime
         );
diff --git a/app/code/Magento/CatalogSearch/etc/di.xml b/app/code/Magento/CatalogSearch/etc/di.xml
index cad205dce5f..43d80ea34b4 100644
--- a/app/code/Magento/CatalogSearch/etc/di.xml
+++ b/app/code/Magento/CatalogSearch/etc/di.xml
@@ -25,7 +25,7 @@
 -->
 <config>
     <type name="Magento\CatalogSearch\Block\Layer">
-        <param name="layer">
+        <param name="catalogLayer">
             <instance type="Magento\CatalogSearch\Model\Layer\Proxy" />
         </param>
     </type>
diff --git a/app/code/Magento/CatalogSearch/view/frontend/form.mini.phtml b/app/code/Magento/CatalogSearch/view/frontend/form.mini.phtml
index 6b161cc0461..34325028b58 100644
--- a/app/code/Magento/CatalogSearch/view/frontend/form.mini.phtml
+++ b/app/code/Magento/CatalogSearch/view/frontend/form.mini.phtml
@@ -25,7 +25,7 @@
  */
 ?>
 <?php
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\Block\Template */
 /** @var $helper \Magento\CatalogSearch\Helper\Data */
 $helper = $this->helper('Magento\CatalogSearch\Helper\Data');
 ?>
diff --git a/app/code/Magento/CatalogSearch/view/frontend/layout/catalogsearch_advanced_index.xml b/app/code/Magento/CatalogSearch/view/frontend/layout/catalogsearch_advanced_index.xml
index 6027719a58d..5dc716342e9 100644
--- a/app/code/Magento/CatalogSearch/view/frontend/layout/catalogsearch_advanced_index.xml
+++ b/app/code/Magento/CatalogSearch/view/frontend/layout/catalogsearch_advanced_index.xml
@@ -37,6 +37,6 @@
     <update handle="page_calendar"/>
     <referenceContainer name="content">
         <block class="Magento\CatalogSearch\Block\Advanced\Form" name="catalogsearch_advanced_form" template="advanced/form.phtml"/>
-        <block class="Magento\Core\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
+        <block class="Magento\View\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml b/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml
index e4b5d8f6a49..8454bb6d813 100644
--- a/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml
+++ b/app/code/Magento/CatalogSearch/view/frontend/layout/default.xml
@@ -25,7 +25,7 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceBlock name="header">
-        <block class="Magento\Core\Block\Template" name="top.search" as="topSearch" template="Magento_CatalogSearch::form.mini.phtml"/>
+        <block class="Magento\View\Block\Template" name="top.search" as="topSearch" template="Magento_CatalogSearch::form.mini.phtml"/>
     </referenceBlock>
     <referenceBlock name="footer_links">
         <block class="Magento\Page\Block\Link\Current" ifconfig="catalog/seo/search_terms" name="catalog-search-term-popular-link">
diff --git a/app/code/Magento/Centinel/Block/Authentication.php b/app/code/Magento/Centinel/Block/Authentication.php
index 73dfb7cc9b7..075de9e727d 100644
--- a/app/code/Magento/Centinel/Block/Authentication.php
+++ b/app/code/Magento/Centinel/Block/Authentication.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Centinel\Block;
 
-class Authentication extends \Magento\Core\Block\Template
+class Authentication extends \Magento\View\Block\Template
 {
     /**
      * Checkout session
@@ -54,19 +54,19 @@ class Authentication extends \Magento\Core\Block\Template
     protected $_authenticationStartMode = false;
 
     /**
-     * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Centinel/Block/Authentication/Complete.php b/app/code/Magento/Centinel/Block/Authentication/Complete.php
index 690ef669d98..f3bb56bbe3a 100644
--- a/app/code/Magento/Centinel/Block/Authentication/Complete.php
+++ b/app/code/Magento/Centinel/Block/Authentication/Complete.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\Centinel\Block\Authentication;
 
-class Complete extends \Magento\Core\Block\Template
+class Complete extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -40,19 +40,19 @@ class Complete extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Centinel/Block/Authentication/Start.php b/app/code/Magento/Centinel/Block/Authentication/Start.php
index 42bb3f4f65a..7c0b164ca8a 100644
--- a/app/code/Magento/Centinel/Block/Authentication/Start.php
+++ b/app/code/Magento/Centinel/Block/Authentication/Start.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\Centinel\Block\Authentication;
 
-class Start extends \Magento\Core\Block\Template
+class Start extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -40,19 +40,19 @@ class Start extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Centinel/Block/Logo.php b/app/code/Magento/Centinel/Block/Logo.php
index 8762c61ed98..311c649eb79 100644
--- a/app/code/Magento/Centinel/Block/Logo.php
+++ b/app/code/Magento/Centinel/Block/Logo.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Centinel\Block;
 
-class Logo extends \Magento\Core\Block\Template
+class Logo extends \Magento\View\Block\Template
 {
 
     protected $_template = 'logo.phtml';
diff --git a/app/code/Magento/Centinel/Controller/Adminhtml/Centinel/Index.php b/app/code/Magento/Centinel/Controller/Adminhtml/Centinel/Index.php
index d7460f27cb0..a529ad5bfb5 100644
--- a/app/code/Magento/Centinel/Controller/Adminhtml/Centinel/Index.php
+++ b/app/code/Magento/Centinel/Controller/Adminhtml/Centinel/Index.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Centinel\Controller\Adminhtml\Centinel;
 
-class Index extends \Magento\Backend\Controller\Adminhtml\Action
+class Index extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -89,7 +89,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
         if ($validator) {
             $this->_coreRegistry->register('current_centinel_validator', $validator);
         }
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     /**
@@ -113,7 +113,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
         } catch (\Exception $e) {
             $this->_coreRegistry->register('current_centinel_validator', false);
         }
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Centinel/Controller/Index.php b/app/code/Magento/Centinel/Controller/Index.php
index 14518848bc8..c0e335118fd 100644
--- a/app/code/Magento/Centinel/Controller/Index.php
+++ b/app/code/Magento/Centinel/Controller/Index.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\Centinel\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+class Index extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -40,11 +40,11 @@ class Index extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -61,7 +61,7 @@ class Index extends \Magento\Core\Controller\Front\Action
         if ($validator) {
             $this->_coreRegistry->register('current_centinel_validator', $validator);
         }
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     /**
@@ -85,7 +85,7 @@ class Index extends \Magento\Core\Controller\Front\Action
         } catch (\Exception $e) {
             $this->_coreRegistry->register('current_centinel_validator', false);
         }
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Centinel/Helper/Data.php b/app/code/Magento/Centinel/Helper/Data.php
index 146401eadf0..763e4ac8f74 100644
--- a/app/code/Magento/Centinel/Helper/Data.php
+++ b/app/code/Magento/Centinel/Helper/Data.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Centinel\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Layout factory
@@ -41,11 +41,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\LayoutInterface $layout
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\LayoutInterface $layout
     ) {
         $this->_layout = $layout;
diff --git a/app/code/Magento/Centinel/view/frontend/logo.phtml b/app/code/Magento/Centinel/view/frontend/logo.phtml
index 599835fc3f7..8ab95a76afa 100644
--- a/app/code/Magento/Centinel/view/frontend/logo.phtml
+++ b/app/code/Magento/Centinel/view/frontend/logo.phtml
@@ -24,10 +24,12 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<li class="centinel-logos" id="<?php echo $this->getCode() ?>_centinel_logo">
-    <label><?php echo __('To ensure the security of your transactions') ?></label>
-    <div class="input-box">
-        <a href="#" title="<?php echo __('Verified by Visa') ?> " data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Centinel\Helper\Data')->getVisaLearnMorePageUrl()?>',windowName:'verifiedByVisa',width:815,height:600,centerScreen:1,location:0,status:1,scrollbars:1,resizable:1}}"><img src="<?php echo $this->getViewFileUrl('Magento_Centinel::images/vbv_ltbg_71x57.gif'); ?>" alt="<?php echo __('Verified by Visa') ?>" /></a>
-        <a href="#" title="<?php echo __('MasterCard SecureCode'); ?>" data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Centinel\Helper\Data')->getMastercardLearnMorePageUrl()?>',windowName:'secureCode',width:600,height:403,centerScreen:1,location:0,status:1,scrollbars:1,resizable:1}}"><img src="<?php echo $this->getViewFileUrl('Magento_Centinel::images/sc_learn_62x34.gif'); ?>" alt="<?php echo __('MasterCard SecureCode') ?>" /></a>
+<div class="field note <?php echo $this->getCode() ?> logos" id="<?php echo $this->getCode() ?>_centinel_logo">
+    <label class="label"><span><?php echo __('To ensure the security of your transactions') ?></span></label>
+    <div class="control">
+        <div class="nested">
+            <a href="#" title="<?php echo __('Verified by Visa') ?> " data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Centinel\Helper\Data')->getVisaLearnMorePageUrl()?>',windowName:'verifiedByVisa',width:815,height:600,centerScreen:1,location:0,status:1,scrollbars:1,resizable:1}}"><img src="<?php echo $this->getViewFileUrl('Magento_Centinel::images/vbv_ltbg_71x57.gif'); ?>" alt="<?php echo __('Verified by Visa') ?>" /></a>
+            <a href="#" title="<?php echo __('MasterCard SecureCode'); ?>" data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Centinel\Helper\Data')->getMastercardLearnMorePageUrl()?>',windowName:'secureCode',width:600,height:403,centerScreen:1,location:0,status:1,scrollbars:1,resizable:1}}"><img src="<?php echo $this->getViewFileUrl('Magento_Centinel::images/sc_learn_62x34.gif'); ?>" alt="<?php echo __('MasterCard SecureCode') ?>" /></a>
+        </div>
     </div>
-</li>
+</div>
diff --git a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit.php b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit.php
index 2654b64b9c5..607d7dfb1eb 100644
--- a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit.php
+++ b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit.php
@@ -35,20 +35,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit/Form.php b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit/Form.php
index 340071531db..c5d49f12aa2 100644
--- a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit/Form.php
+++ b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Edit/Form.php
@@ -33,24 +33,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Grid.php b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Grid.php
index 7b28d430ac1..fcd958b73ea 100644
--- a/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Grid.php
+++ b/app/code/Magento/Checkout/Block/Adminhtml/Agreement/Grid.php
@@ -32,24 +32,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Checkout/Block/Agreements.php b/app/code/Magento/Checkout/Block/Agreements.php
index c97b092d521..4060adf6b2e 100644
--- a/app/code/Magento/Checkout/Block/Agreements.php
+++ b/app/code/Magento/Checkout/Block/Agreements.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Checkout\Block;
 
-class Agreements extends \Magento\Core\Block\Template
+class Agreements extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Resource\Agreement\CollectionFactory
@@ -33,27 +33,19 @@ class Agreements extends \Magento\Core\Block\Template
     protected $_agreementCollFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $agreementCollFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $agreementCollFactory,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_agreementCollFactory = $agreementCollFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Cart.php b/app/code/Magento/Checkout/Block/Cart.php
index f7db27f4821..92a7e85da44 100644
--- a/app/code/Magento/Checkout/Block/Cart.php
+++ b/app/code/Magento/Checkout/Block/Cart.php
@@ -35,47 +35,31 @@ namespace Magento\Checkout\Block;
 
 class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
 {
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Catalog\Model\Resource\Url
      */
     protected $_catalogUrlBuilder;
 
     /**
-     * @var \Magento\UrlInterface
-     */
-    protected $_urlBuilder;
-
-    /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder
-     * @param \Magento\UrlInterface $urlBuilder
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder,
-        \Magento\UrlInterface $urlBuilder,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_catalogUrlBuilder = $catalogUrlBuilder;
-        $this->_urlBuilder = $urlBuilder;
-        parent::__construct($catalogData, $coreData, $context, $customerSession, $checkoutSession, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
index 19183c6d6ba..bf11f7db07e 100644
--- a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
+++ b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Checkout\Block\Cart;
 
-class AbstractCart extends \Magento\Core\Block\Template
+class AbstractCart extends \Magento\View\Block\Template
 {
     /**
      * Block alias fallback
@@ -63,17 +63,17 @@ class AbstractCart extends \Magento\Core\Block\Template
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
@@ -81,7 +81,7 @@ class AbstractCart extends \Magento\Core\Block\Template
         $this->_customerSession = $customerSession;
         $this->_checkoutSession = $checkoutSession;
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -104,7 +104,7 @@ class AbstractCart extends \Magento\Core\Block\Template
      *
      * @param  string $type
      * @throws \RuntimeException
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getItemRenderer($type)
     {
diff --git a/app/code/Magento/Checkout/Block/Cart/Crosssell.php b/app/code/Magento/Checkout/Block/Cart/Crosssell.php
index 7d1e9736b88..1bb998b973b 100644
--- a/app/code/Magento/Checkout/Block/Cart/Crosssell.php
+++ b/app/code/Magento/Checkout/Block/Cart/Crosssell.php
@@ -63,32 +63,28 @@ class Crosssell extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_productLinkFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Catalog\Model\Product\Visibility $productVisibility
      * @param \Magento\CatalogInventory\Model\Stock $stock
      * @param \Magento\Catalog\Model\Product\LinkFactory $productLinkFactory
      * @param array $data
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Catalog\Model\Product\Visibility $productVisibility,
@@ -100,17 +96,7 @@ class Crosssell extends \Magento\Catalog\Block\Product\AbstractProduct
         $this->_productVisibility = $productVisibility;
         $this->_stock = $stock;
         $this->_productLinkFactory = $productLinkFactory;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Configure.php b/app/code/Magento/Checkout/Block/Cart/Item/Configure.php
index fa23e487259..6be0c50ea0a 100644
--- a/app/code/Magento/Checkout/Block/Cart/Item/Configure.php
+++ b/app/code/Magento/Checkout/Block/Cart/Item/Configure.php
@@ -35,7 +35,7 @@
  */
 namespace Magento\Checkout\Block\Cart\Item;
 
-class Configure extends \Magento\Core\Block\Template
+class Configure extends \Magento\View\Block\Template
 {
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php
index bca0f9052ac..2dda9fd8b15 100644
--- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php
+++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer.php
@@ -36,7 +36,7 @@
  */
 namespace Magento\Checkout\Block\Cart\Item;
 
-class Renderer extends \Magento\Core\Block\Template
+class Renderer extends \Magento\View\Block\Template
 {
     /** @var \Magento\Checkout\Model\Session */
     protected $_checkoutSession;
@@ -63,25 +63,25 @@ class Renderer extends \Magento\Core\Block\Template
      *
      * @var \Magento\Catalog\Helper\Product\Configuration
      */
-    protected $_productConfigur = null;
+    protected $_productConfig = null;
 
     /**
-     * @param \Magento\Catalog\Helper\Product\Configuration $productConfigur
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Product\Configuration $productConfig
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Product\Configuration $productConfigur,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Product\Configuration $productConfig,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
-        $this->_productConfigur = $productConfigur;
+        $this->_productConfig = $productConfig;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -273,7 +273,7 @@ class Renderer extends \Magento\Core\Block\Template
     public function getProductOptions()
     {
         /* @var $helper \Magento\Catalog\Helper\Product\Configuration */
-        $helper = $this->_productConfigur;
+        $helper = $this->_productConfig;
         return $helper->getCustomOptions($this->getItem());
     }
 
@@ -316,7 +316,7 @@ class Renderer extends \Magento\Core\Block\Template
             'checkout/cart/delete',
             array(
                 'id'=>$this->getItem()->getId(),
-                \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $encodedUrl
+                \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $encodedUrl
             )
         );
     }
@@ -372,15 +372,15 @@ class Renderer extends \Magento\Core\Block\Template
         // Add messages saved previously in checkout session
         $checkoutSession = $this->getCheckoutSession();
         if ($checkoutSession) {
-            /* @var $collection \Magento\Core\Model\Message\Collection */
+            /* @var $collection \Magento\Message\Collection */
             $collection = $checkoutSession->getQuoteItemMessages($quoteItem->getId(), true);
             if ($collection) {
                 $additionalMessages = $collection->getItems();
                 foreach ($additionalMessages as $message) {
-                    /* @var $message \Magento\Core\Model\Message\AbstractMessage */
+                    /* @var $message \Magento\Message\AbstractMessage */
                     $messages[] = array(
                         'text' => $message->getCode(),
-                        'type' => ($message->getType() == \Magento\Core\Model\Message::ERROR) ? 'error' : 'notice'
+                        'type' => ($message->getType() == \Magento\Message\Factory::ERROR) ? 'error' : 'notice'
                     );
                 }
             }
@@ -412,7 +412,7 @@ class Renderer extends \Magento\Core\Block\Template
     public function getFormatedOptionValue($optionValue)
     {
         /* @var $helper \Magento\Catalog\Helper\Product\Configuration */
-        $helper = $this->_productConfigur;
+        $helper = $this->_productConfig;
         $params = array(
             'max_length' => 55,
             'cut_replacer' => ' <a href="#" class="dots" onclick="return false">...</a>'
@@ -433,7 +433,7 @@ class Renderer extends \Magento\Core\Block\Template
     /**
      * Return product additional information block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getProductAdditionalInformationBlock()
     {
diff --git a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php
index 1ce40228c92..9e68d55c65b 100644
--- a/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php
+++ b/app/code/Magento/Checkout/Block/Cart/Item/Renderer/Configurable.php
@@ -109,6 +109,6 @@ class Configurable extends \Magento\Checkout\Block\Cart\Item\Renderer
      */
     public function getOptionList()
     {
-        return $this->_productConfigur->getConfigurableOptions($this->getItem());
+        return $this->_productConfig->getConfigurableOptions($this->getItem());
     }
 }
diff --git a/app/code/Magento/Checkout/Block/Cart/Link.php b/app/code/Magento/Checkout/Block/Cart/Link.php
index 597cdeddc2f..c9fd4c0ce92 100644
--- a/app/code/Magento/Checkout/Block/Cart/Link.php
+++ b/app/code/Magento/Checkout/Block/Cart/Link.php
@@ -35,18 +35,18 @@ class Link extends \Magento\Page\Block\Link
     protected $_moduleManager;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Module\Manager $moduleManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Module\Manager $moduleManager,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_moduleManager = $moduleManager;
     }
 
diff --git a/app/code/Magento/Checkout/Block/Cart/Shipping.php b/app/code/Magento/Checkout/Block/Cart/Shipping.php
index 5abc2371025..9f2de88b2b6 100644
--- a/app/code/Magento/Checkout/Block/Cart/Shipping.php
+++ b/app/code/Magento/Checkout/Block/Cart/Shipping.php
@@ -53,25 +53,25 @@ class Shipping extends \Magento\Checkout\Block\Cart\AbstractCart
     protected $_directoryBlock;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Directory\Block\Data $directoryBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Directory\Block\Data $directoryBlock,
         array $data = array()
     ) {
         $this->_directoryBlock = $directoryBlock;
-        parent::__construct($catalogData, $coreData, $context, $customerSession, $checkoutSession, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Cart/Sidebar.php b/app/code/Magento/Checkout/Block/Cart/Sidebar.php
index cb38717271b..c7eb59e7c45 100644
--- a/app/code/Magento/Checkout/Block/Cart/Sidebar.php
+++ b/app/code/Magento/Checkout/Block/Cart/Sidebar.php
@@ -50,11 +50,6 @@ class Sidebar extends \Magento\Checkout\Block\Cart\AbstractCart
      */
     protected $_catalogUrl;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Tax\Model\Config
      */
@@ -66,37 +61,34 @@ class Sidebar extends \Magento\Checkout\Block\Cart\AbstractCart
     protected $_checkoutCart;
 
     /**
-     * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Model\Resource\Url $catalogUrl
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param \Magento\Checkout\Model\Cart $checkoutCart
      * @param array $data
      */
     public function __construct(
-        \Magento\Tax\Helper\Data $taxData,
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Model\Resource\Url $catalogUrl,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Tax\Model\Config $taxConfig,
         \Magento\Checkout\Model\Cart $checkoutCart,
         array $data = array()
     ) {
         $this->_taxData = $taxData;
         $this->_catalogUrl = $catalogUrl;
-        $this->_storeManager = $storeManager;
         $this->_taxConfig = $taxConfig;
         $this->_checkoutCart = $checkoutCart;
-        parent::__construct($catalogData, $coreData, $context, $customerSession, $checkoutSession,  $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $data);
     }
 
     /**
@@ -333,7 +325,7 @@ class Sidebar extends \Magento\Checkout\Block\Cart\AbstractCart
     {
         $result = array();
         foreach ($this->getLayout()->getChildBlocks($this->getNameInLayout()) as $block) {
-            /** @var $block \Magento\Core\Block\Template */
+            /** @var $block \Magento\View\Block\Template */
             $result[] = implode('|', array(
                 // skip $this->getNameInLayout() and '.'
                 substr($block->getNameInLayout(), strlen($this->getNameInLayout()) + 1),
diff --git a/app/code/Magento/Checkout/Block/Cart/Totals.php b/app/code/Magento/Checkout/Block/Cart/Totals.php
index cae238ed882..6a18cfecf96 100644
--- a/app/code/Magento/Checkout/Block/Cart/Totals.php
+++ b/app/code/Magento/Checkout/Block/Cart/Totals.php
@@ -38,40 +38,25 @@ class Totals extends \Magento\Checkout\Block\Cart\AbstractCart
     protected $_salesConfig;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Sales\Model\Config $salesConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Sales\Model\Config $salesConfig,
         array $data = array()
     ) {
         $this->_salesConfig = $salesConfig;
-        $this->_storeManager = $storeManager;
-        parent::__construct(
-            $catalogData,
-            $coreData,
-            $context,
-            $customerSession,
-            $checkoutSession,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $data);
 
     }
 
diff --git a/app/code/Magento/Checkout/Block/Link.php b/app/code/Magento/Checkout/Block/Link.php
index ec77a89541a..e830d7d8156 100644
--- a/app/code/Magento/Checkout/Block/Link.php
+++ b/app/code/Magento/Checkout/Block/Link.php
@@ -35,18 +35,18 @@ class Link extends \Magento\Page\Block\Link
     protected $_moduleManager;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Module\Manager $moduleManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Module\Manager $moduleManager
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Module\Manager $moduleManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Module\Manager $moduleManager,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_moduleManager = $moduleManager;
     }
 
diff --git a/app/code/Magento/Checkout/Block/Multishipping/AbstractMultishipping.php b/app/code/Magento/Checkout/Block/Multishipping/AbstractMultishipping.php
index 29e2d24f34d..e7c36860c30 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/AbstractMultishipping.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/AbstractMultishipping.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Checkout\Block\Multishipping;
 
-class AbstractMultishipping extends \Magento\Core\Block\Template
+class AbstractMultishipping extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Type\Multishipping
@@ -41,19 +41,19 @@ class AbstractMultishipping extends \Magento\Core\Block\Template
     protected $_multishipping;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         array $data = array()
     ) {
         $this->_multishipping = $multishipping;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Addresses.php b/app/code/Magento/Checkout/Block/Multishipping/Addresses.php
index 6cc7b3e2933..ca5d94b8452 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Addresses.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Addresses.php
@@ -46,22 +46,22 @@ class Addresses extends \Magento\Sales\Block\Items\AbstractItems
     protected $_multishipping;
 
     /**
-     * @param \Magento\Filter\Object\GridFactory $filterGridFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Filter\Object\GridFactory $filterGridFactory
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param array $data
      */
     public function __construct(
-        \Magento\Filter\Object\GridFactory $filterGridFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Filter\Object\GridFactory $filterGridFactory,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         array $data = array()
     ) {
         $this->_filterGridFactory = $filterGridFactory;
         $this->_multishipping = $multishipping;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -107,7 +107,7 @@ class Addresses extends \Magento\Sales\Block\Items\AbstractItems
      */
     public function getAddressesHtmlSelect($item, $index)
     {
-        $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('ship['.$index.']['.$item->getQuoteItemId().'][address]')
             ->setId('ship_'.$index.'_'.$item->getQuoteItemId().'_address')
             ->setValue($item->getCustomerAddressId())
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Billing.php b/app/code/Magento/Checkout/Block/Multishipping/Billing.php
index 657aa88b884..7acc2286444 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Billing.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Billing.php
@@ -46,22 +46,22 @@ class Billing extends \Magento\Payment\Block\Form\Container
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_multishipping = $multishipping;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Billing/Items.php b/app/code/Magento/Checkout/Block/Multishipping/Billing/Items.php
index b917018a4bf..374dc895e4e 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Billing/Items.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Billing/Items.php
@@ -46,22 +46,22 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_multishipping = $multishipping;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Link.php b/app/code/Magento/Checkout/Block/Multishipping/Link.php
index 570c54deb0d..c46940f9017 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Link.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Link.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Checkout\Block\Multishipping;
 
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
 {
     /**
      * Checkout data
@@ -44,22 +44,22 @@ class Link extends \Magento\Core\Block\Template
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Checkout\Helper\Data $checkoutData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Checkout\Helper\Data $checkoutData
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Checkout\Helper\Data $checkoutData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Checkout\Helper\Data $checkoutData,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutData = $checkoutData;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Overview.php b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
index e9219bdbae1..240ba98ec05 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Overview.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
@@ -46,19 +46,19 @@ class Overview extends \Magento\Sales\Block\Items\AbstractItems
     protected $_multishipping;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         array $data = array()
     ) {
         $this->_multishipping = $multishipping;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -362,7 +362,7 @@ class Overview extends \Magento\Sales\Block\Items\AbstractItems
      * Retrieve renderer block for row-level item output
      *
      * @param string $type
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _getRowItemRenderer($type)
     {
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Payment/Info.php b/app/code/Magento/Checkout/Block/Multishipping/Payment/Info.php
index 33d9374bd16..ecd73a13d10 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Payment/Info.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Payment/Info.php
@@ -41,21 +41,21 @@ class Info extends \Magento\Payment\Block\Info\AbstractContainer
     protected $_multishipping;
 
     /**
-     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param array $data
      */
     public function __construct(
-        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Payment\Helper\Data $paymentData,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         array $data = array()
     ) {
         $this->_multishipping = $multishipping;
-        parent::__construct($paymentData, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $paymentData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Shipping.php b/app/code/Magento/Checkout/Block/Multishipping/Shipping.php
index a2a58b8fdd2..3c729003c05 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Shipping.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Shipping.php
@@ -41,22 +41,22 @@ class Shipping extends \Magento\Sales\Block\Items\AbstractItems
     protected $_filterGridFactory;
 
     /**
-     * @param \Magento\Filter\Object\GridFactory $filterGridFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Filter\Object\GridFactory $filterGridFactory
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
      * @param array $data
      */
     public function __construct(
-        \Magento\Filter\Object\GridFactory $filterGridFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Filter\Object\GridFactory $filterGridFactory,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
         array $data = array()
     ) {
         $this->_filterGridFactory = $filterGridFactory;
         $this->_multishipping = $multishipping;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/State.php b/app/code/Magento/Checkout/Block/Multishipping/State.php
index 9a1a5fb7a65..c6eae8c6bd3 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/State.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/State.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Checkout\Block\Multishipping;
 
-class State extends \Magento\Core\Block\Template
+class State extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Type\Multishipping\State
@@ -41,19 +41,19 @@ class State extends \Magento\Core\Block\Template
     protected $_multishippingState;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping\State $multishippingState
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping\State $multishippingState,
         array $data = array()
     ) {
         $this->_multishippingState = $multishippingState;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Success.php b/app/code/Magento/Checkout/Block/Multishipping/Success.php
index 3f1ae6f5937..245f1fa0b67 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Success.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Success.php
@@ -36,26 +36,18 @@ namespace Magento\Checkout\Block\Multishipping;
 class Success extends \Magento\Checkout\Block\Multishipping\AbstractMultishipping
 {
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Type\Multishipping $multishipping
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Type\Multishipping $multishipping,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $multishipping,$data);
+        parent::__construct($context, $coreData, $multishipping, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/AbstractOnepage.php b/app/code/Magento/Checkout/Block/Onepage/AbstractOnepage.php
index d71b70adf7b..b8bc7e5e727 100644
--- a/app/code/Magento/Checkout/Block/Onepage/AbstractOnepage.php
+++ b/app/code/Magento/Checkout/Block/Onepage/AbstractOnepage.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Checkout\Block\Onepage;
 
-abstract class AbstractOnepage extends \Magento\Core\Block\Template
+abstract class AbstractOnepage extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\App\Cache\Type\Config
@@ -44,11 +44,6 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
     protected $_regionCollection;
     protected $_addressesCollection;
 
-    /**
-     * @var \Magento\Customer\Model\Session
-     */
-    protected $_customerSession;
-
     /**
      * @var \Magento\Checkout\Model\Session
      */
@@ -65,30 +60,23 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
     protected $_countryCollFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $resourceSession
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $resourceSession,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         $this->_configCacheType = $configCacheType;
@@ -96,8 +84,7 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
         $this->_checkoutSession = $resourceSession;
         $this->_countryCollFactory = $countryCollFactory;
         $this->_regionCollFactory = $regionCollFactory;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -198,7 +185,7 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
                 }
             }
 
-            $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+            $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
                 ->setName($type.'_address_id')
                 ->setId($type.'-address-select')
                 ->setClass('address-select')
@@ -220,7 +207,7 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
         if (is_null($countryId)) {
             $countryId = $this->_coreData->getDefaultCountry();
         }
-        $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName($type.'[country_id]')
             ->setId($type.':country_id')
             ->setTitle(__('Country'))
@@ -233,7 +220,7 @@ abstract class AbstractOnepage extends \Magento\Core\Block\Template
 
     public function getRegionHtmlSelect($type)
     {
-        $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName($type.'[region]')
             ->setId($type.':region')
             ->setTitle(__('State/Province'))
diff --git a/app/code/Magento/Checkout/Block/Onepage/Billing.php b/app/code/Magento/Checkout/Block/Onepage/Billing.php
index d06a8dab640..416c6de0ffb 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Billing.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Billing.php
@@ -56,32 +56,38 @@ class Billing extends \Magento\Checkout\Block\Onepage\AbstractOnepage
     protected $_addressFactory;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $resourceSession
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\Quote\AddressFactory $addressFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $resourceSession,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\Quote\AddressFactory $addressFactory,
         array $data = array()
     ) {
         $this->_addressFactory = $addressFactory;
-        parent::__construct($configCacheType, $coreData, $context, $customerSession, $resourceSession,
-            $countryCollFactory, $regionCollFactory, $storeManager, $data);
+        parent::__construct(
+            $context,
+            $coreData,
+            $configCacheType,
+            $customerSession,
+            $resourceSession,
+            $countryCollFactory,
+            $regionCollFactory,
+            $data
+        );
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Failure.php b/app/code/Magento/Checkout/Block/Onepage/Failure.php
index 8832a192ddb..eb2d74dd9f0 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Failure.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Failure.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Checkout\Block\Onepage;
 
-class Failure extends \Magento\Core\Block\Template
+class Failure extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Session
@@ -35,19 +35,19 @@ class Failure extends \Magento\Core\Block\Template
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getRealOrderId()
diff --git a/app/code/Magento/Checkout/Block/Onepage/Link.php b/app/code/Magento/Checkout/Block/Onepage/Link.php
index 17e2215e6e1..ae1c190e060 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Link.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Link.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Checkout\Block\Onepage;
 
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Session
@@ -41,19 +41,19 @@ class Link extends \Magento\Core\Block\Template
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Login.php b/app/code/Magento/Checkout/Block/Onepage/Login.php
index 7c9f0e46a8e..082db96ccc1 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Login.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Login.php
@@ -44,33 +44,39 @@ class Login extends \Magento\Checkout\Block\Onepage\AbstractOnepage
     protected $_checkoutData = null;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $resourceSession
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Checkout\Helper\Data $checkoutData
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $resourceSession,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Checkout\Helper\Data $checkoutData,
         array $data = array()
     ) {
 
         $this->_checkoutData = $checkoutData;
-        parent::__construct($configCacheType, $coreData, $context, $customerSession, $resourceSession,
-            $countryCollFactory, $regionCollFactory, $storeManager, $data);
+        parent::__construct(
+            $context,
+            $coreData,
+            $configCacheType,
+            $customerSession,
+            $resourceSession,
+            $countryCollFactory,
+            $regionCollFactory,
+            $data
+        );
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Checkout/Block/Onepage/Payment/Info.php b/app/code/Magento/Checkout/Block/Onepage/Payment/Info.php
index a44351c4e74..1f38720086d 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Payment/Info.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Payment/Info.php
@@ -41,21 +41,21 @@ class Info extends \Magento\Payment\Block\Info\AbstractContainer
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Payment\Helper\Data $paymentData,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($paymentData, $coreData, $context,$data);
+        parent::__construct($context, $coreData, $paymentData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Payment/Methods.php b/app/code/Magento/Checkout/Block/Onepage/Payment/Methods.php
index 5dae3261a29..4615084fab1 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Payment/Methods.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Payment/Methods.php
@@ -42,19 +42,19 @@ class Methods extends \Magento\Payment\Block\Form\Container
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Review/Info.php b/app/code/Magento/Checkout/Block/Onepage/Review/Info.php
index 4eabc4048ca..935cc6b89df 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Review/Info.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Review/Info.php
@@ -37,19 +37,19 @@ class Info extends \Magento\Sales\Block\Items\AbstractItems
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Shipping.php b/app/code/Magento/Checkout/Block/Onepage/Shipping.php
index 113a0ea8e7a..01a26f74767 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Shipping.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Shipping.php
@@ -44,32 +44,38 @@ class Shipping extends \Magento\Checkout\Block\Onepage\AbstractOnepage
     protected $_addressFactory;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $resourceSession
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\Quote\AddressFactory $addressFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $resourceSession,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\Quote\AddressFactory $addressFactory,
         array $data = array()
     ) {
         $this->_addressFactory = $addressFactory;
-        parent::__construct($configCacheType, $coreData, $context, $customerSession, $resourceSession,
-            $countryCollFactory, $regionCollFactory, $storeManager, $data);
+        parent::__construct(
+            $context,
+            $coreData,
+            $configCacheType,
+            $customerSession,
+            $resourceSession,
+            $countryCollFactory,
+            $regionCollFactory,
+            $data
+        );
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Onepage/Shipping/Method/Available.php b/app/code/Magento/Checkout/Block/Onepage/Shipping/Method/Available.php
index d6886091e36..42d925dd3da 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Shipping/Method/Available.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Shipping/Method/Available.php
@@ -47,32 +47,38 @@ class Available extends \Magento\Checkout\Block\Onepage\AbstractOnepage
     protected $_taxData = null;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $resourceSession
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Tax\Helper\Data $taxData
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $resourceSession,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Tax\Helper\Data $taxData,
         array $data = array()
     ) {
         $this->_taxData = $taxData;
-        parent::__construct($configCacheType, $coreData, $context, $customerSession, $resourceSession,
-            $countryCollFactory, $regionCollFactory, $storeManager, $data);
+        parent::__construct(
+            $context,
+            $coreData,
+            $configCacheType,
+            $customerSession,
+            $resourceSession,
+            $countryCollFactory,
+            $regionCollFactory,
+            $data
+        );
     }
 
     public function getShippingRates()
diff --git a/app/code/Magento/Checkout/Block/Onepage/Success.php b/app/code/Magento/Checkout/Block/Onepage/Success.php
index 48f6474e6b1..a5e27ecd562 100644
--- a/app/code/Magento/Checkout/Block/Onepage/Success.php
+++ b/app/code/Magento/Checkout/Block/Onepage/Success.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Checkout\Block\Onepage;
 
-class Success extends \Magento\Core\Block\Template
+class Success extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Session
@@ -66,8 +66,8 @@ class Success extends \Magento\Core\Block\Template
     protected $_orderConfig;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -77,8 +77,8 @@ class Success extends \Magento\Core\Block\Template
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
@@ -93,7 +93,7 @@ class Success extends \Magento\Core\Block\Template
         $this->_agreementFactory = $agreementFactory;
         $this->_profileCollFactory = $profileCollFactory;
         $this->_orderConfig = $orderConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Block/Success.php b/app/code/Magento/Checkout/Block/Success.php
index 426bf4d2d5f..efead2fd444 100644
--- a/app/code/Magento/Checkout/Block/Success.php
+++ b/app/code/Magento/Checkout/Block/Success.php
@@ -24,10 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Checkout\Block;
 
-class Success extends \Magento\Core\Block\Template
+class Success extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Sales\Model\OrderFactory
@@ -35,19 +34,19 @@ class Success extends \Magento\Core\Block\Template
     protected $_orderFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         array $data = array()
     ) {
         $this->_orderFactory = $orderFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Controller/Action.php b/app/code/Magento/Checkout/Controller/Action.php
index cfce1fb1133..134ef1794b1 100644
--- a/app/code/Magento/Checkout/Controller/Action.php
+++ b/app/code/Magento/Checkout/Controller/Action.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\Checkout\Controller;
 
-abstract class Action extends \Magento\Core\Controller\Front\Action
+abstract class Action extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -38,11 +38,11 @@ abstract class Action extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession
     ) {
         $this->_customerSession = $customerSession;
@@ -70,7 +70,7 @@ abstract class Action extends \Magento\Core\Controller\Front\Action
                 }
                 if ($redirect) {
                     $this->_redirect('customer/account/edit');
-                    $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+                    $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
                 }
                 return false;
             }
diff --git a/app/code/Magento/Checkout/Controller/Adminhtml/Agreement.php b/app/code/Magento/Checkout/Controller/Adminhtml/Agreement.php
index 8deba3850f3..533ad31afa8 100644
--- a/app/code/Magento/Checkout/Controller/Adminhtml/Agreement.php
+++ b/app/code/Magento/Checkout/Controller/Adminhtml/Agreement.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Checkout\Controller\Adminhtml;
 
-class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
+class Agreement extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -36,11 +36,11 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -49,11 +49,13 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Terms and Conditions'));
+        $this->_title->add(__('Terms and Conditions'));
 
         $this->_initAction()
-            ->_addContent($this->getLayout()->createBlock('Magento\Checkout\Block\Adminhtml\Agreement'))
-            ->renderLayout();
+            ->_addContent(
+                $this->_view->getLayout()->createBlock('Magento\Checkout\Block\Adminhtml\Agreement')
+            );
+        $this->_view->renderLayout();
         return $this;
     }
 
@@ -64,7 +66,7 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Terms and Conditions'));
+        $this->_title->add(__('Terms and Conditions'));
 
         $id  = $this->getRequest()->getParam('id');
         $agreementModel  = $this->_objectManager->create('Magento\Checkout\Model\Agreement');
@@ -80,7 +82,7 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($agreementModel->getId() ? $agreementModel->getName() : __('New Condition'));
+        $this->_title->add($agreementModel->getId() ? $agreementModel->getName() : __('New Condition'));
 
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getAgreementData(true);
         if (!empty($data)) {
@@ -95,11 +97,11 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
                 $id ?  __('Edit Condition') :  __('New Condition')
             )
             ->_addContent(
-                $this->getLayout()
+                $this->_view->getLayout()
                     ->createBlock('Magento\Checkout\Block\Adminhtml\Agreement\Edit')
                     ->setData('action', $this->getUrl('checkout/*/save'))
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -123,7 +125,7 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
             }
 
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->setAgreementData($postData);
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
         }
     }
 
@@ -149,18 +151,18 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->addError(__('Something went wrong  while deleting this condition.'));
         }
 
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
      * Initialize action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Checkout::sales_checkoutagreement')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Checkout::sales_checkoutagreement')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Checkout Conditions'), __('Checkout Terms and Conditions'));
         return $this;
diff --git a/app/code/Magento/Checkout/Controller/Cart.php b/app/code/Magento/Checkout/Controller/Cart.php
index 9d439f87b2a..abc32c9735e 100644
--- a/app/code/Magento/Checkout/Controller/Cart.php
+++ b/app/code/Magento/Checkout/Controller/Cart.php
@@ -30,16 +30,9 @@
 namespace Magento\Checkout\Controller;
 
 class Cart
-    extends \Magento\Core\Controller\Front\Action
+    extends \Magento\App\Action\Action
     implements \Magento\Catalog\Controller\Product\View\ViewInterface
 {
-    /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
-     */
-    protected $_cookieCheckActions = array('add');
-
     /**
      * @var \Magento\Core\Model\Store\ConfigInterface
      */
@@ -51,18 +44,26 @@ class Cart
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Store\ConfigInterface $storeConfig
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Store\ConfigInterface $storeConfig,
-        \Magento\Checkout\Model\Session $checkoutSession
+        \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
-        parent::__construct($context);
         $this->_storeConfig = $storeConfig;
         $this->_checkoutSession = $checkoutSession;
+        $this->_storeManager = $storeManager;
+        parent::__construct($context);
     }
 
     /**
@@ -93,17 +94,17 @@ class Cart
     protected function _goBack()
     {
         $returnUrl = $this->getRequest()->getParam('return_url');
-        if ($returnUrl && $this->_isUrlInternal($returnUrl)) {
+        if ($returnUrl && $this->_isInternalUrl($returnUrl)) {
             $this->_checkoutSession->getMessages(true);
             $this->getResponse()->setRedirect($returnUrl);
         } elseif (!$this->_storeConfig->getConfig('checkout/cart/redirect_to_cart')
             && !$this->getRequest()->getParam('in_cart')
-            && $backUrl = $this->_getRefererUrl()
+            && $backUrl = $this->_redirect->getRefererUrl()
         ) {
             $this->getResponse()->setRedirect($backUrl);
         } else {
             if (($this->getRequest()->getActionName() == 'add') && !$this->getRequest()->getParam('in_cart')) {
-                $this->_checkoutSession->setContinueShoppingUrl($this->_getRefererUrl());
+                $this->_checkoutSession->setContinueShoppingUrl($this->_redirect->getRefererUrl());
             }
             $this->_redirect('checkout/cart');
         }
@@ -173,12 +174,13 @@ class Cart
         $this->_checkoutSession->setCartWasUpdated(true);
 
         \Magento\Profiler::start(__METHOD__ . 'cart_display');
-        $this
-            ->loadLayout()
-            ->_initLayoutMessages('Magento\Checkout\Model\Session')
-            ->_initLayoutMessages('Magento\Catalog\Model\Session')
-            ->getLayout()->getBlock('head')->setTitle(__('Shopping Cart'));
-        $this->renderLayout();
+        $messageStores = array('Magento\Checkout\Model\Session', 'Magento\Catalog\Model\Session');
+
+        $this->_view->loadLayout();
+        $layout = $this->_view->getLayout();
+        $layout->initMessages($messageStores);
+        $layout->getBlock('head')->setTitle(__('Shopping Cart'));
+        $this->_view->renderLayout();
         \Magento\Profiler::stop(__METHOD__ . 'cart_display');
     }
 
@@ -237,7 +239,9 @@ class Cart
             } else {
                 $messages = array_unique(explode("\n", $e->getMessage()));
                 foreach ($messages as $message) {
-                    $this->_checkoutSession->addError($this->_objectManager->get('Magento\Escaper')->escapeHtml($message));
+                    $this->_checkoutSession->addError(
+                        $this->_objectManager->get('Magento\Escaper')->escapeHtml($message)
+                    );
                 }
             }
 
@@ -245,7 +249,8 @@ class Cart
             if ($url) {
                 $this->getResponse()->setRedirect($url);
             } else {
-                $this->_redirectReferer($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl());
+                $cartUrl = $this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl();
+                $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($cartUrl));
             }
         } catch (\Exception $e) {
             $this->_checkoutSession->addException($e, __('We cannot add this item to your shopping cart'));
@@ -387,7 +392,8 @@ class Cart
             if ($url) {
                 $this->getResponse()->setRedirect($url);
             } else {
-                $this->_redirectReferer($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl());
+                $cartUrl = $this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl();
+                $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($cartUrl));
             }
         } catch (\Exception $e) {
             $this->_checkoutSession->addException($e, __('We cannot update the item.'));
@@ -468,7 +474,7 @@ class Cart
     }
 
     /**
-     * Delete shoping cart item action
+     * Delete shopping cart item action
      */
     public function deleteAction()
     {
@@ -482,7 +488,8 @@ class Cart
                 $this->_objectManager->get('Magento\Logger')->logException($e);
             }
         }
-        $this->_redirectReferer($this->_objectManager->create('Magento\UrlInterface')->getUrl('*/*'));
+        $defaultUrl = $this->_objectManager->create('Magento\UrlInterface')->getUrl('*/*');
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($defaultUrl));
     }
 
     /**
@@ -529,10 +536,9 @@ class Cart
             return;
         }
 
-        $couponCode = (string) $this->getRequest()->getParam('coupon_code');
-        if ($this->getRequest()->getParam('remove') == 1) {
-            $couponCode = '';
-        }
+        $couponCode = $this->getRequest()->getParam('remove') == 1
+            ? ''
+            : trim($this->getRequest()->getParam('coupon_code'));
         $oldCouponCode = $this->_getQuote()->getCouponCode();
 
         if (!strlen($couponCode) && !strlen($oldCouponCode)) {
@@ -572,4 +578,26 @@ class Cart
 
         $this->_goBack();
     }
+
+    /**
+     * check if URL corresponds store
+     *
+     * @param string $url
+     * @return bool
+     */
+    protected function _isInternalUrl($url)
+    {
+        if (strpos($url, 'http') === false) {
+            return false;
+        }
+
+        /**
+         * Url must start from base secure or base unsecure url
+         */
+        /** @var $store \Magento\Core\Model\Store */
+        $store = $this->_storeManager->getStore();
+        $unsecure = (strpos($url, $store->getBaseUrl()) === 0);
+        $secure = (strpos($url, $store->getBaseUrl($store::URL_TYPE_LINK, true)) === 0);
+        return $unsecure || $secure;
+    }
 }
diff --git a/app/code/Magento/Checkout/Controller/Index.php b/app/code/Magento/Checkout/Controller/Index.php
index 848da112a73..a11df22a6d7 100644
--- a/app/code/Magento/Checkout/Controller/Index.php
+++ b/app/code/Magento/Checkout/Controller/Index.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Checkout\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+class Index extends \Magento\App\Action\Action
 {
     function indexAction()
     {
diff --git a/app/code/Magento/Checkout/Controller/Multishipping.php b/app/code/Magento/Checkout/Controller/Multishipping.php
index 29da8e0daf5..740efd0d365 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping.php
@@ -31,6 +31,9 @@
  */
 namespace Magento\Checkout\Controller;
 
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
 class Multishipping extends \Magento\Checkout\Controller\Action
 {
     /**
@@ -74,21 +77,19 @@ class Multishipping extends \Magento\Checkout\Controller\Action
     }
 
     /**
-     * Action predispatch
-     *
-     * Check customer authentication for some actions
+     * Dispatch request
      *
-     * @return \Magento\Checkout\Controller\Multishipping
+     * @param RequestInterface $request
+     * @return $this|mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
-        if ($this->getFlag('', 'redirectLogin')) {
-            return $this;
+        $this->_request = $request;
+        if ($this->_actionFlag->get('', 'redirectLogin')) {
+            return parent::dispatch($request);
         }
 
-        $action = $this->getRequest()->getActionName();
+        $action = $request->getActionName();
 
         $checkoutSessionQuote = $this->_getCheckoutSession()->getQuote();
         /**
@@ -103,22 +104,22 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             && !in_array($action, array('login', 'register', 'success'))
         ) {
             $this->_redirect('*/*/index');
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return $this;
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+            return parent::dispatch($request);
         }
 
         if (!in_array($action, array('login', 'register'))) {
             $customerSession = $this->_objectManager->get('Magento\Customer\Model\Session');
             if (!$customerSession->authenticate($this, $this->_getHelper()->getMSLoginUrl())) {
-                $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+                $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             }
 
             if (!$this->_objectManager->get('Magento\Checkout\Helper\Data')->isMultishippingCheckoutAvailable()) {
                 $error = $this->_getCheckout()->getMinimumAmountError();
                 $this->_getCheckoutSession()->addError($error);
-                $this->_redirectUrl($this->_getHelper()->getCartUrl());
-                $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-                return $this;
+                $this->getResponse()->setRedirect($this->_getHelper()->getCartUrl());
+                $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+                return parent::dispatch($request);
             }
         }
 
@@ -129,22 +130,22 @@ class Multishipping extends \Magento\Checkout\Controller\Action
         if ($this->_getCheckoutSession()->getCartWasUpdated(true)
             && !in_array($action, array('index', 'login', 'register', 'addresses', 'success'))
         ) {
-            $this->_redirectUrl($this->_getHelper()->getCartUrl());
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->getResponse()->setRedirect($this->_getHelper()->getCartUrl());
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+            return parent::dispatch($request);
         }
 
         if ($action == 'success' && $this->_getCheckout()->getCheckoutSession()->getDisplaySuccess(true)) {
-            return $this;
+            return parent::dispatch($request);
         }
 
         $quote = $this->_getCheckout()->getQuote();
         if (!$quote->hasItems() || $quote->getHasError() || $quote->isVirtual()) {
-            $this->_redirectUrl($this->_getHelper()->getCartUrl());
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return;
+            $this->getResponse()->setRedirect($this->_getHelper()->getCartUrl());
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         }
 
-        return $this;
+        return parent::dispatch($request);
     }
 
     /**
@@ -166,15 +167,15 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
 
         // set account create url
-        $loginForm = $this->getLayout()->getBlock('customer_form_login');
+        $loginForm = $this->_view->getLayout()->getBlock('customer_form_login');
         if ($loginForm) {
             $loginForm->setCreateAccountUrl($this->_getHelper()->getMSRegisterUrl());
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -183,14 +184,14 @@ class Multishipping extends \Magento\Checkout\Controller\Action
     public function registerAction()
     {
         if ($this->_objectManager->get('Magento\Customer\Model\Session')->isLoggedIn()) {
-            $this->_redirectUrl($this->_getHelper()->getMSCheckoutUrl());
+            $this->getResponse()->setRedirect($this->_getHelper()->getMSCheckoutUrl());
             return;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
 
-        $registerForm = $this->getLayout()->getBlock('customer_form_register');
+        $registerForm = $this->_view->getLayout()->getBlock('customer_form_register');
         if ($registerForm) {
             $registerForm->setShowAddressFields(true)
                 ->setBackUrl($this->_getHelper()->getMSLoginUrl())
@@ -198,7 +199,7 @@ class Multishipping extends \Magento\Checkout\Controller\Action
                 ->setErrorUrl($this->_getHelper()->getCurrentUrl());
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -223,10 +224,10 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             $message = $this->_getCheckout()->getMinimumAmountDescription();
             $this->_getCheckout()->getCheckoutSession()->addNotice($message);
         }
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Checkout\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -326,10 +327,10 @@ class Multishipping extends \Magento\Checkout\Controller\Action
         $this->_getState()->setActiveStep(
             \Magento\Checkout\Model\Type\Multishipping\State::STEP_SHIPPING
         );
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Checkout\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     public function backToShippingAction()
@@ -387,10 +388,10 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             \Magento\Checkout\Model\Type\Multishipping\State::STEP_BILLING
         );
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Checkout\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -445,10 +446,10 @@ class Multishipping extends \Magento\Checkout\Controller\Action
                 \Magento\Checkout\Model\Type\Multishipping\State::STEP_BILLING
             );
 
-            $this->loadLayout();
-            $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-            $this->_initLayoutMessages('Magento\Customer\Model\Session');
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $messageStores = array('Magento\Customer\Model\Session', 'Magento\Checkout\Model\Session');
+            $this->_view->getLayout()->initMessages($messageStores);
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_getCheckoutSession()->addError($e->getMessage());
             $this->_redirect('*/*/billing');
@@ -536,11 +537,11 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             return $this;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Checkout\Model\Session');
         $ids = $this->_getCheckout()->getOrderIds();
         $this->_eventManager->dispatch('checkout_multishipping_controller_success_action', array('order_ids' => $ids));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -549,7 +550,7 @@ class Multishipping extends \Magento\Checkout\Controller\Action
      */
     public function redirectLogin()
     {
-        $this->setFlag('', 'no-dispatch', true);
+        $this->_actionFlag->set('', 'no-dispatch', true);
         $url = $this->_objectManager->create('Magento\UrlInterface')
             ->getUrl('*/*', array('_secure' => true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($url);
@@ -561,6 +562,6 @@ class Multishipping extends \Magento\Checkout\Controller\Action
             )
         );
 
-        $this->setFlag('', 'redirectLogin', true);
+        $this->_actionFlag->set('', 'redirectLogin', true);
     }
 }
diff --git a/app/code/Magento/Checkout/Controller/Multishipping/Address.php b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
index cebec534880..7bf410342f9 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping/Address.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
@@ -33,25 +33,8 @@
  */
 namespace Magento\Checkout\Controller\Multishipping;
 
-class Address extends \Magento\Core\Controller\Front\Action
+class Address extends \Magento\App\Action\Action
 {
-    /**
-     * @var \Magento\UrlInterface
-     */
-    protected $_urlBuilder;
-
-    /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\UrlInterface $urlBuilder
-     */
-    public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\UrlInterface $urlBuilder
-    ) {
-        $this->_urlBuilder = $urlBuilder;
-        parent::__construct($context);
-    }
-
     /**
      * Retrieve multishipping checkout model
      *
@@ -79,25 +62,24 @@ class Address extends \Magento\Core\Controller\Front\Action
     public function newShippingAction()
     {
         $this->_getState()->setActiveStep(\Magento\Checkout\Model\Type\Multishipping\State::STEP_SELECT_ADDRESSES);
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($addressForm = $this->getLayout()->getBlock('customer_address_edit')) {
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($addressForm = $this->_view->getLayout()->getBlock('customer_address_edit')) {
             $addressForm->setTitle(__('Create Shipping Address'))
-                ->setSuccessUrl($this->_urlBuilder->getUrl('*/*/shippingSaved'))
-                ->setErrorUrl($this->_urlBuilder->getUrl('*/*/*'));
+                ->setSuccessUrl($this->_url->getUrl('*/*/shippingSaved'))
+                ->setErrorUrl($this->_url->getUrl('*/*/*'));
 
-            if ($headBlock = $this->getLayout()->getBlock('head')) {
+            if ($headBlock = $this->_view->getLayout()->getBlock('head')) {
                 $headBlock->setTitle($addressForm->getTitle() . ' - ' . $headBlock->getDefaultTitle());
             }
 
             if ($this->_getCheckout()->getCustomerDefaultShippingAddress()) {
-                $addressForm->setBackUrl($this->_urlBuilder->getUrl('*/multishipping/addresses'));
-            }
-            else {
-                $addressForm->setBackUrl($this->_urlBuilder->getUrl('*/cart/'));
+                $addressForm->setBackUrl($this->_url->getUrl('*/multishipping/addresses'));
+            } else {
+                $addressForm->setBackUrl($this->_url->getUrl('*/cart/'));
             }
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function shippingSavedAction()
@@ -114,22 +96,22 @@ class Address extends \Magento\Core\Controller\Front\Action
     public function editShippingAction()
     {
         $this->_getState()->setActiveStep(\Magento\Checkout\Model\Type\Multishipping\State::STEP_SHIPPING);
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($addressForm = $this->getLayout()->getBlock('customer_address_edit')) {
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($addressForm = $this->_view->getLayout()->getBlock('customer_address_edit')) {
             $addressForm->setTitle(__('Edit Shipping Address'))
-                ->setSuccessUrl($this->_urlBuilder->getUrl('*/*/editShippingPost', array('id'=>$this->getRequest()->getParam('id'))))
-                ->setErrorUrl($this->_urlBuilder->getUrl('*/*/*'));
+                ->setSuccessUrl($this->_url->getUrl('*/*/editShippingPost', array('id'=>$this->getRequest()->getParam('id'))))
+                ->setErrorUrl($this->_url->getUrl('*/*/*'));
 
-            if ($headBlock = $this->getLayout()->getBlock('head')) {
+            if ($headBlock = $this->_view->getLayout()->getBlock('head')) {
                 $headBlock->setTitle($addressForm->getTitle() . ' - ' . $headBlock->getDefaultTitle());
             }
 
             if ($this->_getCheckout()->getCustomerDefaultShippingAddress()) {
-                $addressForm->setBackUrl($this->_urlBuilder->getUrl('*/multishipping/shipping'));
+                $addressForm->setBackUrl($this->_url->getUrl('*/multishipping/shipping'));
             }
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editShippingPostAction()
@@ -144,44 +126,44 @@ class Address extends \Magento\Core\Controller\Front\Action
     public function selectBillingAction()
     {
         $this->_getState()->setActiveStep(\Magento\Checkout\Model\Type\Multishipping\State::STEP_BILLING);
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     public function newBillingAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($addressForm = $this->getLayout()->getBlock('customer_address_edit')) {
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($addressForm = $this->_view->getLayout()->getBlock('customer_address_edit')) {
             $addressForm->setTitle(__('Create Billing Address'))
-                ->setSuccessUrl($this->_urlBuilder->getUrl('*/*/selectBilling'))
-                ->setErrorUrl($this->_urlBuilder->getUrl('*/*/*'))
-                ->setBackUrl($this->_urlBuilder->getUrl('*/*/selectBilling'));
+                ->setSuccessUrl($this->_url->getUrl('*/*/selectBilling'))
+                ->setErrorUrl($this->_url->getUrl('*/*/*'))
+                ->setBackUrl($this->_url->getUrl('*/*/selectBilling'));
 
-            if ($headBlock = $this->getLayout()->getBlock('head')) {
+            if ($headBlock = $this->_view->getLayout()->getBlock('head')) {
                 $headBlock->setTitle($addressForm->getTitle() . ' - ' . $headBlock->getDefaultTitle());
             }
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editAddressAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($addressForm = $this->getLayout()->getBlock('customer_address_edit')) {
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($addressForm = $this->_view->getLayout()->getBlock('customer_address_edit')) {
             $addressForm->setTitle(__('Edit Address'))
-                ->setSuccessUrl($this->_urlBuilder->getUrl('*/*/selectBilling'))
-                ->setErrorUrl($this->_urlBuilder->getUrl('*/*/*', array('id'=>$this->getRequest()->getParam('id'))))
-                ->setBackUrl($this->_urlBuilder->getUrl('*/*/selectBilling'));
+                ->setSuccessUrl($this->_url->getUrl('*/*/selectBilling'))
+                ->setErrorUrl($this->_url->getUrl('*/*/*', array('id'=>$this->getRequest()->getParam('id'))))
+                ->setBackUrl($this->_url->getUrl('*/*/selectBilling'));
 
-            if ($headBlock = $this->getLayout()->getBlock('head')) {
+            if ($headBlock = $this->_view->getLayout()->getBlock('head')) {
                 $headBlock->setTitle($addressForm->getTitle() . ' - ' . $headBlock->getDefaultTitle());
             }
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editBillingAction()
@@ -189,18 +171,18 @@ class Address extends \Magento\Core\Controller\Front\Action
         $this->_getState()->setActiveStep(
             \Magento\Checkout\Model\Type\Multishipping\State::STEP_BILLING
         );
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($addressForm = $this->getLayout()->getBlock('customer_address_edit')) {
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($addressForm = $this->_view->getLayout()->getBlock('customer_address_edit')) {
             $addressForm->setTitle(__('Edit Billing Address'))
-                ->setSuccessUrl($this->_urlBuilder->getUrl('*/*/saveBilling', array('id'=>$this->getRequest()->getParam('id'))))
-                ->setErrorUrl($this->_urlBuilder->getUrl('*/*/*', array('id'=>$this->getRequest()->getParam('id'))))
-                ->setBackUrl($this->_urlBuilder->getUrl('*/multishipping/overview'));
-            if ($headBlock = $this->getLayout()->getBlock('head')) {
+                ->setSuccessUrl($this->_url->getUrl('*/*/saveBilling', array('id'=>$this->getRequest()->getParam('id'))))
+                ->setErrorUrl($this->_url->getUrl('*/*/*', array('id'=>$this->getRequest()->getParam('id'))))
+                ->setBackUrl($this->_url->getUrl('*/multishipping/overview'));
+            if ($headBlock = $this->_view->getLayout()->getBlock('head')) {
                 $headBlock->setTitle($addressForm->getTitle() . ' - ' . $headBlock->getDefaultTitle());
             }
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function setBillingAction()
diff --git a/app/code/Magento/Checkout/Controller/Onepage.php b/app/code/Magento/Checkout/Controller/Onepage.php
index 0a538f3918e..f74a3a11743 100644
--- a/app/code/Magento/Checkout/Controller/Onepage.php
+++ b/app/code/Magento/Checkout/Controller/Onepage.php
@@ -26,6 +26,9 @@
 
 namespace Magento\Checkout\Controller;
 
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
 class Onepage extends \Magento\Checkout\Controller\Action
 {
     /**
@@ -50,12 +53,12 @@ class Onepage extends \Magento\Checkout\Controller\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
@@ -64,11 +67,15 @@ class Onepage extends \Magento\Checkout\Controller\Action
     }
 
     /**
-     * @return \Magento\Checkout\Controller\Onepage|null
+     * Dispatch request
+     *
+     * @param RequestInterface $request
+     * @return mixed
+     * @throws \Magento\App\Action\NotFoundException
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
+        $this->_request = $request;
         $this->_preDispatchValidateCustomer();
 
         $checkoutSessionQuote = $this->_objectManager->get('Magento\Checkout\Model\Session')->getQuote();
@@ -78,12 +85,9 @@ class Onepage extends \Magento\Checkout\Controller\Action
         }
 
         if (!$this->_canShowForUnregisteredUsers()) {
-            $this->norouteAction();
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return null;
+            throw new NotFoundException();
         }
-
-        return $this;
+        return parent::dispatch($request);
     }
 
     /**
@@ -129,7 +133,7 @@ class Onepage extends \Magento\Checkout\Controller\Action
      */
     protected function _getHtmlByHandle($handle)
     {
-        $layout = $this->getLayout();
+        $layout = $this->_view->getLayout();
         $layout->getUpdate()->addPageHandles(array($handle));
         $layout->getUpdate()->load();
         $layout->generateXml();
@@ -217,10 +221,11 @@ class Onepage extends \Magento\Checkout\Controller\Action
             ->getUrl('*/*/*', array('_secure'=>true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($currentUrl);
         $this->getOnepage()->initCheckout();
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->getLayout()->getBlock('head')->setTitle(__('Checkout'));
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $layout = $this->_view->getLayout();
+        $layout->initMessages('Magento\Customer\Model\Session');
+        $layout->getBlock('head')->setTitle(__('Checkout'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -231,9 +236,9 @@ class Onepage extends \Magento\Checkout\Controller\Action
         if ($this->_expireAjax()) {
             return;
         }
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     public function shippingMethodAction()
@@ -241,9 +246,9 @@ class Onepage extends \Magento\Checkout\Controller\Action
         if ($this->_expireAjax()) {
             return;
         }
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     public function reviewAction()
@@ -251,9 +256,9 @@ class Onepage extends \Magento\Checkout\Controller\Action
         if ($this->_expireAjax()) {
             return;
         }
-        $this->addPageLayoutHandles();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->addPageLayoutHandles();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -276,12 +281,12 @@ class Onepage extends \Magento\Checkout\Controller\Action
         }
 
         $session->clear();
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Checkout\Model\Session');
         $this->_eventManager->dispatch(
             'checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId))
         );
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function failureAction()
@@ -294,8 +299,8 @@ class Onepage extends \Magento\Checkout\Controller\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
 
@@ -620,18 +625,6 @@ class Onepage extends \Magento\Checkout\Controller\Action
         $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode($result));
     }
 
-    /**
-     * Filtering posted data. Converting localized data if needed
-     *
-     * @param array
-     * @return array
-     */
-    protected function _filterPostData($data)
-    {
-        $data = $this->_filterDates($data, array('dob'));
-        return $data;
-    }
-
     /**
      * Check can page show for unregistered users
      *
diff --git a/app/code/Magento/Checkout/Helper/Cart.php b/app/code/Magento/Checkout/Helper/Cart.php
index f25f095da6b..eef0d2f0c94 100644
--- a/app/code/Magento/Checkout/Helper/Cart.php
+++ b/app/code/Magento/Checkout/Helper/Cart.php
@@ -65,16 +65,16 @@ class Cart extends \Magento\Core\Helper\Url
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Checkout\Model\Cart $checkoutCart
      * @param \Magento\Checkout\Model\Session $checkoutSession
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Checkout\Model\Cart $checkoutCart,
@@ -107,7 +107,7 @@ class Cart extends \Magento\Core\Helper\Url
     public function getAddUrl($product, $additional = array())
     {
         $continueUrl    = $this->_coreData->urlEncode($this->getCurrentUrl());
-        $urlParamName   = \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED;
+        $urlParamName   = \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED;
 
         $routeParams = array(
             $urlParamName   => $continueUrl,
@@ -141,7 +141,7 @@ class Cart extends \Magento\Core\Helper\Url
     {
         $params = array(
             'id'=>$item->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_BASE64_URL => $this->getCurrentBase64Url()
+            \Magento\App\Action\Action::PARAM_NAME_BASE64_URL => $this->getCurrentBase64Url()
         );
         return $this->_getUrl('checkout/cart/delete', $params);
     }
diff --git a/app/code/Magento/Checkout/Helper/Data.php b/app/code/Magento/Checkout/Helper/Data.php
index ba27c5b1dc1..531760bba5f 100644
--- a/app/code/Magento/Checkout/Helper/Data.php
+++ b/app/code/Magento/Checkout/Helper/Data.php
@@ -31,20 +31,13 @@
  */
 namespace Magento\Checkout\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_GUEST_CHECKOUT = 'checkout/options/guest_checkout';
     const XML_PATH_CUSTOMER_MUST_BE_LOGGED = 'checkout/options/customer_must_be_logged';
 
     protected $_agreements = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core store config
      *
@@ -73,31 +66,28 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_agreementCollFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_emailTemplFactory;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $agreementCollFactory
-     * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplFactory
+     * @param \Magento\Email\Model\TemplateFactory $emailTemplFactory
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Checkout\Model\Resource\Agreement\CollectionFactory $agreementCollFactory,
-        \Magento\Core\Model\Email\TemplateFactory $emailTemplFactory
+        \Magento\Email\Model\TemplateFactory $emailTemplFactory
     ) {
-        $this->_eventManager = $eventManager;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_storeManager = $storeManager;
         $this->_checkoutSession = $checkoutSession;
@@ -221,14 +211,15 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         /* @var $translate \Magento\Core\Model\Translate */
         $this->_translator->setTranslateInline(false);
 
-        /** @var \Magento\Core\Model\Email\Template $mailTemplate */
+        /** @var \Magento\Email\Model\Template $mailTemplate */
         $mailTemplate = $this->_emailTemplFactory->create();
-        /* @var $mailTemplate \Magento\Core\Model\Email\Template */
 
         $template = $this->_coreStoreConfig->getConfig('checkout/payment_failed/template', $checkout->getStoreId());
 
         $copyTo = $this->_getEmails('checkout/payment_failed/copy_to', $checkout->getStoreId());
-        $copyMethod = $this->_coreStoreConfig->getConfig('checkout/payment_failed/copy_method', $checkout->getStoreId());
+        $copyMethod = $this->_coreStoreConfig->getConfig(
+            'checkout/payment_failed/copy_method', $checkout->getStoreId()
+        );
         if ($copyTo && $copyMethod == 'bcc') {
             $mailTemplate->addBcc($copyTo);
         }
@@ -236,8 +227,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         $_receiver = $this->_coreStoreConfig->getConfig('checkout/payment_failed/receiver', $checkout->getStoreId());
         $sendTo = array(
             array(
-                'email' => $this->_coreStoreConfig->getConfig('trans_email/ident_'.$_receiver.'/email', $checkout->getStoreId()),
-                'name'  => $this->_coreStoreConfig->getConfig('trans_email/ident_'.$_receiver.'/name', $checkout->getStoreId())
+                'email' => $this->_coreStoreConfig->getConfig(
+                        'trans_email/ident_' . $_receiver . '/email', $checkout->getStoreId()
+                    ),
+                'name'  => $this->_coreStoreConfig->getConfig(
+                        'trans_email/ident_' . $_receiver . '/name', $checkout->getStoreId()
+                    )
             )
         );
 
diff --git a/app/code/Magento/Checkout/Model/Cart.php b/app/code/Magento/Checkout/Model/Cart.php
index 667ecd068ae..8ec67fb6c1d 100644
--- a/app/code/Magento/Checkout/Model/Cart.php
+++ b/app/code/Magento/Checkout/Model/Cart.php
@@ -89,9 +89,9 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\Message
+     * @var \Magento\Message\Factory
      */
-    protected $_message;
+    protected $messageFactory;
 
     /**
      * @param \Magento\Event\ManagerInterface $eventManager
@@ -101,7 +101,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
      * @param \Magento\Checkout\Model\Resource\Cart $resourceCart
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Message $message
+     * @param \Magento\Message\Factory $messageFactory
      * @param array $data
      */
     public function __construct(
@@ -112,7 +112,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
         \Magento\Checkout\Model\Resource\Cart $resourceCart,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Message $message,
+        \Magento\Message\Factory $messageFactory,
         array $data = array()
     ) {
         $this->_eventManager = $eventManager;
@@ -122,7 +122,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
         $this->_resourceCart = $resourceCart;
         $this->_checkoutSession = $checkoutSession;
         $this->_customerSession = $customerSession;
-        $this->_message = $message;
+        $this->messageFactory = $messageFactory;
         parent::__construct($data);
     }
 
@@ -499,7 +499,9 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
 
                 if (isset($itemInfo['before_suggest_qty']) && ($itemInfo['before_suggest_qty'] != $qty)) {
                     $qtyRecalculatedFlag = true;
-                    $message = $this->_message->notice(__('Quantity was recalculated from %1 to %2', $itemInfo['before_suggest_qty'], $qty));
+                    $message = $this->messageFactory->notice(
+                        __('Quantity was recalculated from %1 to %2', $itemInfo['before_suggest_qty'], $qty)
+                    );
                     $session->addQuoteItemMessage($item->getId(), $message);
                 }
             }
diff --git a/app/code/Magento/Checkout/Model/Session.php b/app/code/Magento/Checkout/Model/Session.php
index de136ca5222..b67a58eaed3 100644
--- a/app/code/Magento/Checkout/Model/Session.php
+++ b/app/code/Magento/Checkout/Model/Session.php
@@ -64,31 +64,16 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      */
     protected $_orderFactory;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
     protected $_customerSession;
 
-    /**
-     * @var \Magento\Core\Model\Message\CollectionFactory
-     */
-    protected $_messageCollFactory;
-
     /**
      * @var \Magento\Sales\Model\QuoteFactory
      */
     protected $_quoteFactory;
 
-    /**
-     * @var \Magento\App\RequestInterface
-     */
-    protected $_request;
-
     /**
      * @var \Magento\HTTP\PhpEnvironment\RemoteAddress
      */
@@ -97,9 +82,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     /**
      * @param \Magento\Core\Model\Session\Context $context
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Message\CollectionFactory $messageCollFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\HTTP\PhpEnvironment\RemoteAddress $remoteAddress
      * @param null $sessionName
@@ -108,18 +91,14 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     public function __construct(
         \Magento\Core\Model\Session\Context $context,
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Message\CollectionFactory $messageCollFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\HTTP\PhpEnvironment\RemoteAddress $remoteAddress,
         $sessionName = null,
         array $data = array()
     ) {
         $this->_orderFactory = $orderFactory;
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
-        $this->_messageCollFactory = $messageCollFactory;
         $this->_quoteFactory = $quoteFactory;
         $this->_remoteAddress = $remoteAddress;
         parent::__construct($context, $data);
@@ -360,7 +339,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      * @param string $itemKey
      * @param bool $clear
      *
-     * @return null|\Magento\Core\Model\Message\Collection
+     * @return null|\Magento\Message\Collection
      */
     public function getItemAdditionalMessages($itemKey, $clear = false)
     {
@@ -382,7 +361,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      * itemKey is a unique hash (e.g 'quote_item17') to distinguish item messages among message collections
      *
      * @param string $itemKey
-     * @param \Magento\Core\Model\Message $message
+     * @param \Magento\Message\AbstractMessage $message
      *
      * @return \Magento\Checkout\Model\Session
      */
@@ -390,7 +369,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     {
         $allMessages = $this->getAdditionalMessages();
         if (!isset($allMessages[$itemKey])) {
-            $allMessages[$itemKey] = $this->_messageCollFactory->create();
+            $allMessages[$itemKey] = $this->messagesFactory->create();
         }
         $allMessages[$itemKey]->add($message);
         $this->setAdditionalMessages($allMessages);
@@ -403,7 +382,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      * @param int $itemId
      * @param bool $clear
      *
-     * @return null|\Magento\Core\Model\Message\Collection
+     * @return null|\Magento\Message\Collection
      */
     public function getQuoteItemMessages($itemId, $clear = false)
     {
@@ -414,11 +393,11 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      * Adds new message to a list of quote item messages, saved in this session
      *
      * @param int $itemId
-     * @param \Magento\Core\Model\Message $message
+     * @param \Magento\Message\AbstractMessage $message
      *
      * @return \Magento\Checkout\Model\Session
      */
-    function addQuoteItemMessage($itemId, $message)
+    public function addQuoteItemMessage($itemId, $message)
     {
         return $this->addItemAdditionalMessage('quote_item' . $itemId, $message);
     }
diff --git a/app/code/Magento/Checkout/etc/frontend/di.xml b/app/code/Magento/Checkout/etc/frontend/di.xml
index 75935756987..7339df75782 100644
--- a/app/code/Magento/Checkout/etc/frontend/di.xml
+++ b/app/code/Magento/Checkout/etc/frontend/di.xml
@@ -37,4 +37,14 @@
             </value>
         </param>
     </type>
+    <virtualType name="checkoutCartInitSession" type="Magento\Core\App\Action\Plugin\Session">
+        <param name="cookieCheckActions">
+            <value>
+                <checkoutCartAdd>add</checkoutCartAdd>
+            </value>
+        </param>
+    </virtualType>
+    <type name="Magento\Checkout\Controller\Cart">
+        <plugin name="sessionInitializer" type="checkoutCartInitSession" />
+    </type>
 </config>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml b/app/code/Magento/Checkout/view/frontend/agreements.phtml
similarity index 74%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
rename to app/code/Magento/Checkout/view/frontend/agreements.phtml
index c2d5797a9f6..5550fb0fd73 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
+++ b/app/code/Magento/Checkout/view/frontend/agreements.phtml
@@ -26,23 +26,23 @@
 ?>
 <?php
 /**
- * @see \Magento\Checkout\Block\Agreements
+ * @var $this \Magento\Checkout\Block\Agreements
  */
 ?>
-<?php  if (!$this->getAgreements()) return;  ?>
-<ol id="checkout-agreements" class="checkout agreements">
+<?php if (!$this->getAgreements()) return; ?>
+<ol id="checkout-agreements" class="agreements checkout items">
 <?php foreach ($this->getAgreements() as $_a): ?>
     <li class="item">
-        <div class="agreement"<?php echo ($_a->getContentHeight() ? ' style="height:' . $_a->getContentHeight() . '"' : '')?>>
+        <div class="agreement content"<?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">
+        <div class="field choice agree required">
             <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>
+            <label class="label" for="agreement-<?php echo $_a->getId()?>"><span><?php echo $_a->getIsHtml() ? $_a->getCheckboxText() : $this->escapeHtml($_a->getCheckboxText()) ?></span></label>
         </div>
     </li>
 <?php endforeach ?>
diff --git a/app/code/Magento/Checkout/view/frontend/cart.phtml b/app/code/Magento/Checkout/view/frontend/cart.phtml
index 2931540d95f..2725134f131 100644
--- a/app/code/Magento/Checkout/view/frontend/cart.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -28,145 +27,11 @@
 /**
  * Shopping cart template
  *
- * @see \Magento\Checkout\Block\Cart
+ * @var $this \Magento\Checkout\Block\Cart
  */
-?>
-<?php if ($this->getItemsCount()): ?>
-<div class="cart">
-    <div class="page-title title-buttons">
-        <h1><?php echo __('Shopping Cart') ?></h1>
-        <?php if(!$this->hasError()): ?>
-        <ul class="checkout-types">
-        <?php foreach ($this->getMethods('top_methods') as $method): ?>
-            <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
-            <li><?php echo $methodHtml; ?></li>
-            <?php endif; ?>
-        <?php endforeach; ?>
-        </ul>
-        <?php endif; ?>
-    </div>
-    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <?php echo $this->getChildHtml('form_before') ?>
-    <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post" id="form-validate" data-mage-init="{validation: []}">
-        <fieldset>
-            <table id="shopping-cart-table" class="data-table cart-table">
-                <col width="1" />
-                <col />
-                <col width="1" />
-            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
-                <col width="1" />
-            <?php endif ?>
-            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                <col width="1" />
-            <?php endif; ?>
-            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                <col width="1" />
-            <?php endif; ?>
-                <col width="1" />
-            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                <col width="1" />
-            <?php endif; ?>
-            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                <col width="1" />
-            <?php endif; ?>
-                <col width="1" />
 
-            <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
-                <thead>
-                    <tr>
-                        <th rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
-                        <th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo __('Product Name') ?></span></th>
-                        <th rowspan="<?php echo $mergedCells; ?>"></th>
-                        <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
-                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo __('Move to Wish List') ?></span></th>
-                        <?php endif ?>
-                        <th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo __('Unit Price') ?></span></th>
-                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Qty') ?></th>
-                        <th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo __('Subtotal') ?></th>
-                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center">&nbsp;</th>
-                    </tr>
-                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                    <tr>
-                        <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                        <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
-                        <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                        <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
-                    </tr>
-                    <?php endif; ?>
-                </thead>
-                <tfoot>
-                    <tr>
-                        <td colspan="50" class="a-right">
-                            <?php if($this->getContinueShoppingUrl()): ?>
-                                <button type="button" title="<?php echo __('Continue Shopping') ?>" class="button btn-continue"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
-                            <?php endif; ?>
-                            <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo __('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo __('Update Shopping Cart'); ?></span></span></button>
-                            <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo __('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo __('Clear Shopping Cart'); ?></span></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({
-                                                continueShoppingButton: 'button.btn-continue',
-                                                continueShoppingUrl: '<?php echo $this->getContinueShoppingUrl() ?>',
-                                                emptyCartButton: 'button.btn-empty',
-                                                updateCartActionContainer: '#update_cart_action_container'
-                                            });
-                                        });
-                                })(jQuery);
-                            //]]>
-                            </script>
-                        </td>
-                    </tr>
-                </tfoot>
-                <tbody>
-                <?php foreach($this->getItems() as $_item): ?>
-                    <?php echo $this->getItemHtml($_item) ?>
-                <?php endforeach ?>
-                </tbody>
-            </table>
-            <script type="text/javascript">(function($) {$('#shopping-cart-table').decorate('table')})(jQuery)</script>
-        </fieldset>
-    </form>
-    <div class="cart-collaterals">
-        <div class="col2-set">
-            <div class="col-1">
-                <?php echo $this->getChildHtml('crosssell') ?>
-            </div>
-            <div class="col-2">
-                <?php /* Extensions placeholder */ ?>
-                <?php echo $this->getChildHtml('checkout.cart.extra') ?>
-                <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
-            </div>
-        </div>
-        <div class="totals">
-            <?php echo $this->getChildHtml('totals'); ?>
-            <?php if(!$this->hasError()): ?>
-            <ul class="checkout-types">
-            <?php foreach ($this->getMethods('methods') as $method): ?>
-                <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
-                <li><?php echo $methodHtml; ?></li>
-                <?php endif; ?>
-            <?php endforeach; ?>
-            </ul>
-            <?php endif; ?>
-        </div>
-    </div>
-</div>
-<?php else: ?>
-<div class="page-title">
-    <h1><?php echo __('Shopping Cart is Empty') ?></h1>
-</div>
-<div class="cart-empty">
-    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <?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>
-<?php endif; ?>
+if ($this->getItemsCount()) {
+    echo $this->getChildHtml('with-items');
+} else {
+    echo $this->getChildHtml('no-items');
+}
diff --git a/app/code/Magento/Checkout/view/frontend/cart/coupon.phtml b/app/code/Magento/Checkout/view/frontend/cart/coupon.phtml
index 9386430baa0..9bd1430c089 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/coupon.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/coupon.phtml
@@ -19,31 +19,38 @@
  * 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 id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
-    <div class="discount">
-        <h2><?php echo __('Discount Codes') ?></h2>
-        <div class="discount-form">
-            <label for="coupon_code"><?php echo __('Enter your coupon code if you have one.') ?></label>
-            <input type="hidden" name="remove" id="remove-coupon" value="0" />
-            <div class="input-box">
-                <input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->escapeHtml($this->getCouponCode()) ?>" />
-            </div>
-            <div class="buttons-set">
-                <button type="button" title="<?php echo __('Apply Coupon') ?>" class="button apply-coupon" value="<?php echo __('Apply Coupon') ?>"><span><span><?php echo __('Apply Coupon') ?></span></span></button>
-                <?php if(strlen($this->getCouponCode())): ?>
-                    &nbsp; <button type="button" title="<?php echo __('Cancel Coupon') ?>" class="button cancel-coupon" value="<?php echo __('Cancel Coupon') ?>"><span><span><?php echo __('Cancel Coupon') ?></span></span></button>
-                <?php endif;?>
-            </div>
-        </div>
-    </div>
-</form>
-<script type="text/javascript">
-//<![CDATA[
+<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')?>",
@@ -52,9 +59,11 @@
             "<?php echo $this->getViewFileUrl('Magento_Checkout::js/discount-codes.js')?>", function() {
                 $('#discount-coupon-form').discountCode({
                     couponCodeSelector: '#coupon_code', removeCouponSelector: '#remove-coupon',
-                    applyButton: 'button.apply-coupon', cancelButton: 'button.cancel-coupon'
+                    applyButton: 'button.action.apply', cancelButton: 'button.action.cancel'
                 });
             });
     })(jQuery);
-//]]>
-</script>
+    //]]>
+    </script>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml b/app/code/Magento/Checkout/view/frontend/cart/form.phtml
similarity index 96%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
rename to app/code/Magento/Checkout/view/frontend/cart/form.phtml
index 4efca67cfb0..e139a2d4904 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/form.phtml
@@ -18,17 +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    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
- */
+
+/**  @var $this \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' : ''; ?>">
@@ -39,7 +33,7 @@
                 <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 qty" rowspan="<?php echo $mergedCells; ?>"><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()): ?>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/item/configure/updatecart.phtml b/app/code/Magento/Checkout/view/frontend/cart/item/configure/updatecart.phtml
index e24f55d04ae..1c13b896e14 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/item/configure/updatecart.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/item/configure/updatecart.phtml
@@ -19,27 +19,25 @@
  * 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 $_product = $this->getProduct(); ?>
 <?php $buttonTitle = __('Update Cart'); ?>
 <?php if ($_product->isSaleable()): ?>
-    <div class="add-to-cart">
+    <div class="box tocart update">
         <?php if (!$_product->isGrouped()): ?>
-        <label for="qty"><?php echo __('Qty:') ?></label>
-        <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>"
-               title="<?php echo __('Qty') ?>" class="input-text qty"
-            <?php if ($_product->getStockItem() && $_product->getStockItem()->getIsQtyDecimal()) : ?>
-                data-validate="{required:true, 'validate-greater-than-zero':true}"/>
-            <?php else: ?>
-                data-validate="{required:true, digits:true}"/>
-            <?php endif; ?>
+        <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; ?>
-        <button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" id="product-updatecart-button"><span><span><?php echo $buttonTitle ?></span></span></button>
+        <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>
 
diff --git a/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml b/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml
index 1c3fff9ed0a..faf4f01808d 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/item/default.phtml
@@ -18,75 +18,70 @@
  * versions 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 $_item \Magento\Sales\Model\Quote\Item */
+
+/** @var $this \Magento\Checkout\Block\Cart\Item\Renderer */
+
 $_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);
 ?>
-<tr>
-    <td><?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><?php endif;?><img src="<?php echo $this->getProductThumbnailUrl() ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /><?php if ($this->hasProductUrl()):?></a><?php endif;?></td>
-    <td>
-        <h2 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; ?>
-        </h2>
-        <?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 ($messages = $this->getMessages()): ?>
-        <?php foreach ($messages as $message): ?>
-            <p class="item-msg <?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() ?>
+<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 else:?>
+            <span 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 else: ?></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()):?>
+            <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): ?>
+                <div class="cart item message <?php echo $message['type'] ?>"><div>* <?php echo $this->escapeHtml($message['text']) ?></div></div>
+            <?php endforeach; ?>
+            <?php endif; ?>
+            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+            <?php if ($addInfoBlock): ?>
+                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
+            <?php endif;?>
+        </div>
+        <?php $cols = 1; ?>
     </td>
-    <td class="a-center">
-        <?php if ($isVisibleProduct): ?>
-        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><?php echo __('Edit') ?></a>
-        <?php endif ?>
-    </td>
-    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
-    <td class="a-center">
-        <?php if ($isVisibleProduct): ?>
-        <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo __('Move'); ?></a>
-        <?php endif ?>
-    </td>
-    <?php endif ?>
 
     <?php if ($canApplyMsrp): ?>
-        <td class="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>
+        <td class="col msrp"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+            <span class="pricing msrp">
+                <span class="msrp notice"><?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>
+                <a id="<?php echo $helpLinkId ?>" href="#" class="action help map"><span><?php echo __("What's this?"); ?></span></a>
                 <?php $_product = $_item->getProduct(); ?>
                 <script type="text/javascript">
                     (function ($) {
@@ -103,28 +98,27 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
                     })(jQuery);
                 </script>
             </span>
+            <?php $cols++; ?>
         </td>
     <?php else: ?>
 
         <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-        <td class="a-right">
+        <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(); ?>"}'>
+                <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
             <?php else: ?>
-                <span class="cart-price">
+                <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;">
+                <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>
@@ -141,20 +135,22 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
                 </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(); ?>"}'>
+                    <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; ?>
+            <?php $cols++; ?>
         </td>
+
         <?php endif; ?>
         <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-        <td>
+        <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(); ?>"}'>
+                <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
             <?php else: ?>
-                <span class="cart-price">
+                <span class="cart price">
             <?php endif; ?>
 
                 <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -166,7 +162,7 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
             </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;">
+                <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>
@@ -183,27 +179,31 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
                 </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(); ?>"}'>
+                    <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; ?>
+            <?php $cols++; ?>
         </td>
         <?php endif; ?>
     <?php endif; ?>
-    <td class="a-center">
-        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
+    <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>
+        <?php $cols++; ?>
     </td>
     <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
-    <td class="a-right">
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($canApplyMsrp): ?>
-                <span class="cart-msrp-subtotal">--</span>
+                <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()); ?>
@@ -215,7 +215,7 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
         </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;">
+            <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>
@@ -232,24 +232,25 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
             </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(); ?>"}'>
+                <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; ?>
+        <?php $cols++; ?>
     </td>
     <?php endif; ?>
     <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
-    <td>
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($canApplyMsrp): ?>
-                <span class="cart-msrp-subtotal">--</span>
+                <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()); ?>
@@ -263,7 +264,7 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
 
         <?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;">
+            <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>
@@ -280,12 +281,33 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
             </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(); ?>"}'>
+                <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; ?>
+        <?php $cols++; ?>
     </td>
     <?php endif; ?>
-    <td class="a-center"><a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="btn-remove btn-remove2"><?php echo __('Remove item')?></a></td>
 </tr>
+<tr class="item actions">
+    <td colspan="<?php echo $cols;?>">
+        <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/code/Magento/Checkout/view/frontend/cart/methods.phtml
similarity index 94%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
rename to app/code/Magento/Checkout/view/frontend/cart/methods.phtml
index 8c71d1ff073..591d3cd8e4b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/methods.phtml
@@ -24,11 +24,7 @@
  */
 ?>
 <?php
-/**
- * Shopping cart template
- *
- * @see \Magento\Checkout\Block\Cart
- */
+/** @var $this \Magento\Checkout\Block\Cart */
 ?>
 <?php if(!$this->hasError()): ?>
 <?php $methods = $this->getMethods('methods') ? : $this->getMethods('top_methods') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml b/app/code/Magento/Checkout/view/frontend/cart/minicart.phtml
similarity index 97%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
rename to app/code/Magento/Checkout/view/frontend/cart/minicart.phtml
index 6614e01c4fa..6bcc918c8b4 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/minicart.phtml
@@ -23,11 +23,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 
-/**
- * Shoping cart sidebar
- *
- * @see \Magento\Checkout\Block\Cart\Sidebar
- */
+/** @var $this \Magento\Checkout\Block\Cart\Sidebar */
 ?>
 <?php if ($this->getInList()): ?>
     <li data-block="minicart" class="minicart wrapper">
@@ -80,7 +76,7 @@
                     <div class="subtotal">
                         <?php if ($this->canApplyMsrp()): ?>
                         <span class="mark msrp">
-                            <?php echo __('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?>
+                            <?php echo __('Order total will be displayed before you submit the order'); ?>
                         </span>
                         <?php else: ?>
                             <span class="mark">
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml b/app/code/Magento/Checkout/view/frontend/cart/noItems.phtml
similarity index 96%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
rename to app/code/Magento/Checkout/view/frontend/cart/noItems.phtml
index 1b41606e3f0..4060ad8457c 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/noItems.phtml
@@ -22,6 +22,8 @@
  * @copyright   Copyright (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\Cart */
 ?>
 <div class="cart empty">
     <?php echo $this->getChildHtml('checkout_cart_empty_widget'); ?>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/shipping.phtml b/app/code/Magento/Checkout/view/frontend/cart/shipping.phtml
index 89aa5e352ff..35caee43cee 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/shipping.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/shipping.phtml
@@ -19,109 +19,108 @@
  * 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\Checkout\Block\Cart\Shipping */ ?>
-<div class="shipping">
-    <h2><?php echo __('Estimate Shipping and Tax') ?></h2>
-    <div class="shipping-form">
-       <form action="<?php echo $this->getUrl('checkout/cart/estimatePost') ?>" method="post" id="shipping-zip-form">
-            <p><?php echo __('Enter your destination to get a shipping estimate.') ?></p>
-            <ul class="form-list">
-                <li>
-                    <label for="country" class="required"><em>*</em><?php echo __('Country') ?></label>
-                    <div class="input-box">
-                        <?php echo $this->getDirectoryBlock()->getCountryHtmlSelect($this->getEstimateCountryId()) ?>
-                    </div>
-                </li>
+<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()): ?>
-                <li>
-                    <label for="region_id"<?php if ($this->isStateProvinceRequired()) echo ' class="required"' ?>><?php if ($this->isStateProvinceRequired()) echo '<em>*</em>' ?><?php echo __('State/Province') ?></label>
-                    <div class="input-box">
-                        <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 a 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>
-                </li>
+            <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()): ?>
-                <li>
-                    <label for="city"<?php if ($this->isCityRequired()) echo ' class="required"' ?>><?php if ($this->isCityRequired()) echo '<em>*</em>' ?><?php echo __('City') ?></label>
-                    <div class="input-box">
-                        <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>
-                </li>
+            <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; ?>
-                <li>
-                    <label for="postcode"<?php if ($this->isZipCodeRequired()) echo ' class="required"' ?>><?php if ($this->isZipCodeRequired()) echo '<em>*</em>' ?><?php echo __('Zip/Postal Code') ?></label>
-                    <div class="input-box">
-                        <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>
-                </li>
-            </ul>
-            <div class="buttons-set">
-                <button type="submit" title="<?php echo __('Get a Quote') ?>" class="button"><span><span><?php echo __('Get a Quote') ?></span></span></button>
+            <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>
-        </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) ?>
-                        });
+        </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') ?>">
-            <dl class="sp-methods">
+                });
+        })(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><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
-                    <dd>
-                        <ul>
-                        <?php foreach ($_rates as $_rate): ?>
-                            <li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"';?>>
-                               <?php if ($_rate->getErrorMessage()): ?>
-                                    <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
-                               <?php else: ?>
-                                    <input name="estimate_method" type="radio" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
-                                    <label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                    <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 ?>
-                            </li>
-                        <?php endforeach; ?>
-                        </ul>
+                                </label>
+                           <?php endif ?>
+                        </div>
+                    <?php endforeach; ?>
                     </dd>
                 <?php endforeach; ?>
             </dl>
-            <div class="buttons-set">
-                <button type="submit" title="<?php echo __('Update Total') ?>" class="button" name="do" value="<?php echo __('Update Total') ?>"><span><span><?php echo __('Update Total') ?></span></span></button>
+            <div class="actions">
+                <button type="submit" class="action update" name="do" value="<?php echo __('Update Total') ?>"><span><?php echo __('Update Total') ?></span></button>
             </div>
-        </form>
-        <?php endif; ?>
+        </fieldset>
+    </form>
+    <?php endif; ?>
     </div>
 </div>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml b/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml
index ca93d77ee32..a0d912bd646 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/sidebar/default.phtml
@@ -19,127 +19,188 @@
  * 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();
-    $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);
-?>
-<li class="item">
+<?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-image"><img src="<?php echo $this->getProductThumbnailSidebarUrl() ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></a>
+        <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-image"><img src="<?php echo $this->getProductThumbnailSidebarUrl() ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></span>
+        <span class="product photo">
+            <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?>
+        </span>
     <?php endif; ?>
-    <div class="product-details">
-        <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove This Item') ?>"  class="btn-remove"><?php echo __('Remove This Item') ?></a>
-        <?php if ($isVisibleProduct): ?>
-        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="btn-edit"><?php echo __('Edit item')?></a>
-        <?php endif ?>
-        <p class="product-name"><?php if ($this->hasProductUrl()): ?><a href="<?php echo $this->getProductUrl() ?>"><?php endif; ?><?php echo $this->escapeHtml($this->getProductName()) ?><?php if ($this->hasProductUrl()): ?></a><?php endif; ?></p>
-        <strong><?php echo $this->getQty() ?></strong> x
 
-    <?php if ($canApplyMsrp): ?>
+        <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>
 
-        <span class="map-cart-sidebar-item"><?php echo __('See price before order confirmation.'); ?></span>
 
-    <?php else: ?>
+            <?php if ($_options = $this->getOptionList()):?>
+                <div class="product options wrapper">
+                    <span class="more"><?php echo __('View Details') ?></span>
 
-    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-            <?php echo __('Excl. Tax'); ?>:
-        <?php endif; ?>
-        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
-            <?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; ?>
-        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
-            <br />
-            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
-                <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')): ?>
-                <?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')): ?>
-                <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; ?>
-            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
-                <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></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 endif; ?>
-    <?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 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); ?>
-        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-            <br /><?php echo __('Incl. Tax'); ?>:
-        <?php endif; ?>
-        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
-            <?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; ?>
-        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
-            <br />
-            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
-                <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')): ?>
-                <?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')): ?>
-                <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; ?>
-            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
-                <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
-            <?php endif; ?>
-        <?php endif; ?>
-    <?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 endif; //Can apply MSRP ?>
-
-        <?php if ($_options = $this->getOptionList()):?>
-        <div class="truncated" data-mage-init="{truncateOptions:[]}">
-          <div class="truncated_full_value">
-            <dl class="item-options">
-                <?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 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: ?>
-                    <?php echo $_option['value'] ?>
+                        <span class="label display"><?php echo __('Price'); ?></span>
                     <?php endif; ?>
-                </dd>
-                <?php endforeach; ?>
-            </dl>
-          </div>
-        <a href="#" onclick="return false;" class="details"><?php echo __('Details') ?></a>
+                    <?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>
-        <?php endif; ?>
     </div>
+</div>
 </li>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/totals.phtml b/app/code/Magento/Checkout/view/frontend/cart/totals.phtml
index 53a0e844767..605a230d6cb 100644
--- a/app/code/Magento/Checkout/view/frontend/cart/totals.phtml
+++ b/app/code/Magento/Checkout/view/frontend/cart/totals.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -27,22 +26,18 @@
 <?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 __('You will see the order total before you submit the order.'); ?></div>
 <?php else: ?>
-    <table id="shopping-cart-totals-table">
-        <col />
-        <col width="1" />
+    <table id="shopping-cart-totals-table" class="data table totals">
+        <?php echo $this->renderTotals(); ?>
         <tfoot>
             <?php echo $this->renderTotals('footer'); ?>
         </tfoot>
-        <tbody>
-            <?php echo $this->renderTotals(); ?>
-        </tbody>
     </table>
 <?php endif; ?>
+</div>
diff --git a/app/code/Magento/Checkout/view/frontend/js/opcheckout.js b/app/code/Magento/Checkout/view/frontend/js/opcheckout.js
index b9e20dd2b43..1e2f48c7e8d 100644
--- a/app/code/Magento/Checkout/view/frontend/js/opcheckout.js
+++ b/app/code/Magento/Checkout/view/frontend/js/opcheckout.js
@@ -34,7 +34,7 @@
                 loginRegisterSelector: '#login\\:register',
                 loginFormSelector: '#login-form',
                 continueSelector: '#onepage-guest-register-button',
-                registerCustomerPasswordSelector: '#register-customer-password',
+                registerCustomerPasswordSelector: '#co-billing-form .field.password,#co-billing-form .field.confirm',
                 suggestRegistration: false
             },
             sectionSelectorPrefix: '#opc-',
@@ -42,8 +42,12 @@
             ajaxLoaderPlaceButton: false,
             updateSelectorPrefix: '#checkout-',
             updateSelectorSuffix: '-load',
-            backSelector: '.back-link',
-            minBalance: 0.0001
+            backSelector: '.action.back',
+            minBalance: 0.0001,
+            methodsListContainer: 'dl',
+            methodContainer: 'dt',
+            methodDescription : 'dd ul',
+            methodOn: 'dt input:radio'
         },
 
         _create: function() {
@@ -83,6 +87,7 @@
          * @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();
@@ -94,6 +99,7 @@
          * @private
          */
         _ajaxComplete: function() {
+            this.element.removeClass('loading');
             this.element.find('.please-wait').hide();
             if (this.options.ajaxLoaderPlaceButton) {
                 this.element.find('.button').show();
@@ -232,13 +238,13 @@
             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))
+                    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))
+                    if ($(this.options.billing.form).validation && $(this.options.billing.form).validation('isValid')) {
+                        this._billingSave();
+                    }
+                }, this))
                 .find(this.options.billing.form).validation();
         } ,
 
@@ -267,24 +273,24 @@
             this._super();
             this.element
                 .on('change', this.options.shipping.addressDropdownSelector, $.proxy(function(e) {
-                $(this.options.shipping.newAddressFormSelector).toggle(!$(e.target).val());
-            }, this))
+                    $(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))
+                    $(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))
+                    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')) {
+                    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))
+                    }
+                }, this))
                 .find(this.options.shipping.form).validation();
         },
 
@@ -318,12 +324,12 @@
             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))
+                    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;
@@ -331,9 +337,9 @@
                     _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))
+                    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();
         },
 
@@ -374,39 +380,39 @@
             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))
+                    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))
+                    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))
+                    $(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({
                     errorPlacement: function(error, element) {
@@ -426,11 +432,11 @@
          */
         _paymentMethodHandler: function(e) {
             var _this = $(e.target),
-                parentsDl = _this.closest('dl');
-            parentsDl.find('dt input:radio').prop('checked', false);
+                parentsDl = _this.closest(this.options.methodsListContainer);
+            parentsDl.find(this.options.methodOn).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);
+            parentsDl.find(this.options.methodDescription).hide().find('[name^="payment["]').prop('disabled', true);
+            _this.parent().nextUntil(this.options.methodContainer).find(this.options.methodDescription).show().find('[name^="payment["]').prop('disabled', false);
         },
 
         /**
@@ -460,8 +466,8 @@
         _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.methodsContainer).find('[name^="payment["]').prop('disabled', true);
+            paymentForm.find('input[id^="use"][name^="payment[use"]:not(:checked)').prop('disabled', true).parent();
             paymentForm.find(this.options.payment.freeInput.selector).remove();
             $.tmpl(this.options.payment.freeInput.tmpl).appendTo(paymentForm);
         },
@@ -486,7 +492,7 @@
             review: {
                 continueSelector: '#review-buttons-container .button',
                 container: '#opc-review',
-                agreementFormSelector:'#checkout-agreements',
+                agreementFormSelector:'#checkout-agreements input[type="checkbox"]',
                 submitContainer: '#checkout-review-submit'
             }
         },
@@ -507,12 +513,12 @@
         },
 
         _saveOrder: function() {
-            if ($(this.options.payment.form).validation &&
-                $(this.options.payment.form).validation('isValid')) {
-                this._ajaxContinue(
-                    this.options.review.saveUrl,
+                    if ($(this.options.payment.form).validation &&
+                        $(this.options.payment.form).validation('isValid')) {
+                        this._ajaxContinue(
+                            this.options.review.saveUrl,
                     $(this.options.payment.form).serialize() + '&' + $(this.options.review.agreementFormSelector).serialize());
-            }
+                    }
         }
     });
 })(jQuery, window);
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml
index 72685dcf904..e13f318ffbe 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml
@@ -24,33 +24,36 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="root">
-        <action method="setTemplate">
-            <argument name="template" xsi:type="string">1column.phtml</argument>
-        </action>
-    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.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.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/>
-            <container name="checkout.cart.top_methods" as="top_methods" label="Payment Methods Before Checkout Button">
-                <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.top" template="onepage/link.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.form.before" as="form_before" label="Shopping Cart Form Before"/>
-            <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 name="checkout.cart.noitems" label="invisible" as="no-items">
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.empty" before="-" template="cart/noItems.phtml"/>
+                <container name="checkout.cart.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/>
             </container>
-            <container name="checkout.cart.extra" label="Shopping Cart Extra Contents">
-                <container name="checkout.cart.widget" as="checkout_cart_widget" before="-" label="Shopping Cart Items After"/>
-                <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" template="cart/coupon.phtml"/>
-            </container>
-            <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" template="cart/shipping.phtml"/>
-            <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" as="crosssell" template="cart/crosssell.phtml"/>
-            <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml"/>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <!-- <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/> -->
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editaddress.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editaddress.xml
index 01155fca00b..b99353cee0e 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editaddress.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editaddress.xml
@@ -26,4 +26,9 @@
 <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editbilling.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editbilling.xml
index 01155fca00b..024408703e3 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editbilling.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editbilling.xml
@@ -26,4 +26,9 @@
 <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editshipping.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editshipping.xml
index 01155fca00b..6354c13f57a 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editshipping.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_editshipping.xml
@@ -26,4 +26,9 @@
 <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newbilling.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newbilling.xml
index 01155fca00b..7830a2c990e 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newbilling.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newbilling.xml
@@ -26,4 +26,9 @@
 <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newshipping.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newshipping.xml
index 01155fca00b..f9a3309971a 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newshipping.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_newshipping.xml
@@ -26,4 +26,9 @@
 <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml
index edbe6ce92e8..c04545dfaeb 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_address_selectbilling.xml
@@ -25,6 +25,11 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument name="label" translate="true" xsi:type="string">Change Billing Address</argument>
+        </action>
+    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml"/>
     </referenceContainer>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml
index cb8f206e735..dacf3e65ab9 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_addresses.xml
@@ -25,6 +25,11 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Ship to Multiple Addresses</argument>
+        </action>
+    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Multishipping\Addresses" name="checkout_addresses" template="multishipping/addresses.phtml">
             <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
@@ -32,4 +37,5 @@
             <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/>
         </block>
     </referenceContainer>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml
index 727670fe7b5..405c180c549 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_billing.xml
@@ -25,12 +25,19 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Billing Information</argument>
+        </action>
+    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Multishipping\Billing" name="checkout_billing" template="multishipping/billing.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>
+            <container name="payment_methods_before" label="Payment Methods Before"/>
+            <container name="payment_methods_after" label="Payment Methods After"/>
         </block>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml
index 8e46496c74a..dfb78250e9a 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_customer_address.xml
@@ -27,4 +27,5 @@
     <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/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml
index 6fae4733fab..00fa8577451 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_overview.xml
@@ -25,6 +25,11 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Review Order</argument>
+        </action>
+    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Multishipping\Overview" name="checkout_overview" template="multishipping/overview.phtml">
             <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
@@ -38,9 +43,10 @@
                     <argument name="template" xsi:type="string"/>
                 </action>
             </block>
-            <block class="Magento\Checkout\Block\Agreements" name="checkout.multishipping.agreements" as="agreements" template="multishipping/agreements.phtml"/>
+            <block class="Magento\Checkout\Block\Agreements" name="checkout.multishipping.agreements" as="agreements" template="agreements.phtml"/>
             <block class="Magento\Checkout\Block\Cart\Totals" name="totals"/>
             <container name="checkout.multishipping.overview.items.after" as="items_after" label="Overview Items After"/>
         </block>
     </referenceContainer>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml
index 09e49208bc0..d5362947403 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_shipping.xml
@@ -25,6 +25,11 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Shipping Information</argument>
+        </action>
+    </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Checkout\Block\Multishipping\Shipping" name="checkout_shipping" template="multishipping/shipping.phtml">
             <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
@@ -37,4 +42,5 @@
             </block>
         </block>
     </referenceContainer>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml
index 6e453eef56b..4d7829f661e 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_multishipping_success.xml
@@ -25,6 +25,11 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="checkout_multishipping"/>
+    <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\Multishipping\Success" name="checkout_success" template="multishipping/success.phtml"/>
     </referenceContainer>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_additional.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_additional.xml
index 7784b3f5619..4502d9b8008 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_additional.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_additional.xml
@@ -23,10 +23,10 @@
  * @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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="page">
     <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="shipping_method_additional" output="1" template="onepage/shipping_method/additional.phtml">
-        <action method="setDontDisplayContainer">
-            <argument name="param" xsi:type="string">1</argument>
-        </action>
+        <arguments>
+            <argument name="dontDisplayContainer" xsi:type="string">1</argument>
+        </arguments>
     </block>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml
index fa508817825..f4a491f3acb 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_failure.xml
@@ -24,9 +24,10 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="root">
-        <action method="setTemplate">
-            <argument name="template" xsi:type="string">2columns-right.phtml</argument>
+    <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">
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml
index d50608564d2..85128b7b94f 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_index.xml
@@ -24,12 +24,8 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="root">
-        <action method="setTemplate">
-            <argument name="template" xsi:type="string">2columns-right.phtml</argument>
-        </action>
-    </referenceBlock>
-    <referenceContainer name="right">
+    <update handle="page_one_column"/>
+    <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>
@@ -38,9 +34,12 @@
         <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\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml"/>
-            <block class="Magento\Checkout\Block\Onepage\Shipping" name="checkout.onepage.shipping" as="shipping" template="onepage/shipping.phtml"/>
+            <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"/>
@@ -52,8 +51,11 @@
                         <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument>
                     </action>
                 </block>
+                <block class="Magento\View\Block\Template" name="checkout.onepage.payment.additional" as="additional"/>
+                <block class="Magento\View\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/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml
index 25a577d24d1..c5252ab7027 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_paymentmethod.xml
@@ -29,5 +29,7 @@
             <argument name="method" xsi:type="string">purchaseorder</argument>
             <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument>
         </action>
+        <block class="Magento\View\Block\Template" name="checkout.onepage.payment.methods.scripts" as="scripts"/>
+        <block class="Magento\View\Block\Template" name="checkout.onepage.payment.methods.additional" as="additional"/>
     </block>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml
index d2f3c9f0fee..ae8fae2ac76 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_review.xml
@@ -31,7 +31,8 @@
         <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.onepage.review.info.totals" as="totals" template="onepage/review/totals.phtml"/>
         <container name="checkout.onepage.review.info.items.before" as="items_before" label="Items Before"/>
         <container name="checkout.onepage.review.info.items.after" as="items_after" label="Items After"/>
-        <block class="Magento\Checkout\Block\Agreements" name="checkout.onepage.agreements" as="agreements" template="onepage/agreements.phtml"/>
-        <block class="Magento\Core\Block\Template" name="checkout.onepage.review.button" as="button" template="Magento_Checkout::onepage/review/button.phtml"/>
+        <block class="Magento\Checkout\Block\Agreements" name="checkout.onepage.agreements" as="agreements" template="agreements.phtml"/>
+        <block class="Magento\View\Block\Template" name="checkout.onepage.review.button" as="button" template="Magento_Checkout::onepage/review/button.phtml"/>
+        <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
     </block>
 </layout>
diff --git a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml
index ac8dc93f7f6..65a3aea343b 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/checkout_onepage_success.xml
@@ -24,9 +24,10 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="root">
-        <action method="setTemplate">
-            <argument name="template" xsi:type="string">2columns-right.phtml</argument>
+    <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">
diff --git a/app/code/Magento/Checkout/view/frontend/layout/default.xml b/app/code/Magento/Checkout/view/frontend/layout/default.xml
index 942683120c6..1088c62a076 100644
--- a/app/code/Magento/Checkout/view/frontend/layout/default.xml
+++ b/app/code/Magento/Checkout/view/frontend/layout/default.xml
@@ -27,20 +27,13 @@
     <referenceBlock name="head.components">
         <block class="Magento\Page\Block\Js\Components" name="checkout_page_head_components" template="Magento_Checkout::js/components.phtml"/>
     </referenceBlock>
-    <referenceBlock name="top.links">
-        <block class="Magento\Checkout\Block\Cart\Link" name="my-cart-link"/>
-        <block class="Magento\Checkout\Block\Link" name="onepage-checkout-link" after="my-cart-link">
-            <arguments>
-                <argument name="label" xsi:type="string">Checkout</argument>
-            </arguments>
-        </block>
-    </referenceBlock>
-    <referenceContainer name="right">
-        <block class="Magento\Checkout\Block\Cart\Sidebar" name="cart_sidebar" template="cart/sidebar.phtml" before="-">
+    <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="cart_sidebar.extra_actions" as="extra_actions" label="My Cart Extra Actions"/>
+            <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/code/Magento/Checkout/view/frontend/multishipping/address/select.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/address/select.phtml
index 4dea9b79df9..2cf9a8f4688 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/address/select.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/address/select.phtml
@@ -19,40 +19,40 @@
  * 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="multiple-checkout">
-    <div class="page-title title-buttons">
-        <h1><?php echo __('Change Billing Address') ?></h1>
-        <button type="button" title="<?php echo __('Add New Address') ?>" class="button" onclick="setLocation('<?php echo $this->getAddNewUrl() ?>')"><span><span><?php echo __('Add New Address') ?></span></span></button>
+<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 echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <?php $_index=0 ?>
     <?php foreach ($this->getAddressCollection() as $_address): ?>
-        <?php if($_index%3==0): ?><div class="col3-set"><?php endif; ?>
-        <div class="col-<?php echo ($_index%3+1) ?>">
-                <p class="actions">
-                    <a href="<?php echo $this->getEditAddressUrl($_address) ?>"><?php echo __('Edit Address') ?></a> <span class="separator">|</span> 
-                    <a href="<?php echo $this->getSetAddressUrl($_address) ?>"><strong><?php echo __('Select Address') ?></strong></a>
-                </p>
-                <address>
-                    <?php echo $_address->format('html') ?>
-                </address>
+        <div class="box billing">
+            <address>
+                <?php echo $_address->format('html') ?>
                 <?php if($this->isAddressDefaultBilling($_address)): ?>
-                   <strong><?php echo __('Default Billing') ?></strong>
+                    <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 if($_index && $_index%3==0): ?></div><?php endif; ?>
     <?php endforeach; ?>
-    <?php if(!$_index || $_index%3!=0): ?></div><?php endif; ?>
-    <div class="buttons-set">
-        <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Billing Information') ?></a></p>
+    <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/code/Magento/Checkout/view/frontend/multishipping/addresses.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/addresses.phtml
index 2b55e1349e1..e91a5f250f1 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/addresses.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/addresses.phtml
@@ -18,8 +18,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    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)
  */
@@ -28,57 +26,61 @@
 /**
  * Ship to multiple address template
  *
- * @see \Magento\Checkout\Block\Multishipping\Addresses
+ * @var $this \Magento\Checkout\Block\Multishipping\Addresses
  */
 ?>
-<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-<form id="checkout_multishipping_form" action="<?php echo $this->getPostActionUrl() ?>" method="post">
-    <div class="multiple-checkout">
-        <div class="page-title title-buttons">
-            <h1><?php echo __('Ship to Multiple Addresses') ?></h1>
-            <button type="button" title="<?php echo __('Enter a New Address') ?>" class="button" data-role="add-new-address"><span><span><?php echo __('Enter a New Address') ?></span></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" />
-        <h2><?php echo __('Please select a shipping address for applicable items.') ?></h2>
-        <table class="data-table" id="multiship-addresses-table">
-            <col />
-            <col width="1" />
-            <col width="1" />
-            <col width="1" />
-            <thead>
-                <tr>
-                    <th><?php echo __('Product') ?></th>
-                    <th class="a-center"><?php echo __('Qty') ?></th>
-                    <th><?php echo __('Send To') ?></th>
-                    <th>&nbsp;</th>
-                </tr>
-            </thead>
-            <tfoot>
-                <tr>
-                    <td colspan="100" class="a-right"><button type="submit" title="<?php echo __('Update Qty &amp; Addresses') ?>" class="button" data-role="can-continue" data-flag="0"><span><span><?php echo __('Update Qty &amp; Addresses') ?></span></span></button></td>
-                </tr>
-            </tfoot>
-            <tbody>
-            <?php foreach ($this->getItems() as $_index => $_item): ?>
-                <?php if ($_item->getQuoteItem()) :?>
+<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><?php echo $this->getItemHtml($_item->getQuoteItem())?></td>
-                    <td><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><?php if ($_item->getProduct()->getIsVirtual()): echo __('Shipping selection is not applicable.'); else: echo $this->getAddressesHtmlSelect($_item, $_index); endif; ?></td>
-                    <td class="a-center"><a href="<?php echo $this->getItemDeleteUrl($_item) ?>" title="<?php echo __('Remove Item') ?>" class="btn-remove2"><?php echo __('Remove Item') ?></a></td>
+                    <td class="col product"><?php echo $this->getItemHtml($_item->getQuoteItem()) ?></td>
+                    <td class="col qty">
+                        <div class="control 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}"/>
+                        </div>
+                    </td>
+                    <td class="col address">
+                        <?php if ($_item->getProduct()->getIsVirtual()): ?>
+                            <div class="applicable"><?php echo __('Shipping selection is not applicable.'); ?></div>
+                        <?php else: ?>
+                            <div class="control address">
+                                <?php echo $this->getAddressesHtmlSelect($_item, $_index); ?>
+                            </div>
+                        <?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>
-        <script type="text/javascript">jQuery('#multiship-addresses-table').decorate('table')</script>
-        <div class="buttons-set">
-            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Shopping Cart') ?></a></p>
-            <button type="submit" title="<?php echo __('Continue to Shipping Information') ?>" class="button<?php if ($this->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($this->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><span><?php echo __('Continue to Shipping Information') ?></span></span></button>
-        </div>
+            <?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') ?>",
@@ -86,7 +88,7 @@
         "<?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() {
+        function () {
             jQuery('#checkout_multishipping_form').multiShipping().validation();
         }
     );
diff --git a/app/code/Magento/Checkout/view/frontend/multishipping/billing.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/billing.phtml
index faa48086693..10086cb8541 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/billing.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/billing.phtml
@@ -18,8 +18,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    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)
  */
@@ -28,84 +26,72 @@
 /**
  * Multishipping checkout billing information
  *
- * @see \Magento\Checkout\Block\Multishipping\Billing
+ * @var $this \Magento\Checkout\Block\Multishipping\Billing
  */
 ?>
-<div class="multiple-checkout">
-    <div class="page-title">
-        <h1><?php echo __('Billing Information') ?></h1>
-    </div>
-    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="multishipping-billing-form">
-        <div class="col2-set">
-            <div class="col-1 col-narrow">
-                <div class="box">
-                    <div class="box-title">
-                        <h2><?php echo __('Billing Address') ?> <span class="separator">|</span> <a href="<?php echo $this->getSelectAddressUrl() ?>"><?php echo __('Change') ?></a></h2>
-                    </div>
-                    <div class="box-content">
-                        <?php $_address=$this->getAddress() ?>
-                        <address><?php echo $_address->format('html') ?></address>
-                    </div>
-                </div>
-            </div>
-            <div class="col-2 col-wide">
-                <div class="box">
-                    <div class="box-title">
-                        <h2><?php echo __('Payment Method') ?></h2>
-                    </div>
-                    <div class="box-content">
-                        <!-- Payment methods forms list -->
-                        <dl class="sp-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 :?>
-                                <span class="no-display"><input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" checked="checked" class="radio" /></span>
-                                <?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('checkout_billing_items') ?>
-                    </div>
-                </div>
-            </div>
+<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="buttons-set">
-            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Shipping Information') ?></a></p>
-            <button id="payment-continue" type="submit" title="<?php echo __('Continue to Review Your Order') ?>" class="button"><span><span><?php echo __('Continue to Review Your Order') ?></span></span></button>
+        <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>
-    </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>
-</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/code/Magento/Checkout/view/frontend/multishipping/billing/items.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/billing/items.phtml
index 96d7e0a4e99..25a6d9d17e6 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/billing/items.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/billing/items.phtml
@@ -19,36 +19,34 @@
  * 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 ($this->getQuote()->hasVirtualItems()): ?>
-    <div class="col2-set">
-        <h2 class="legend"><?php echo __('Other Items in Your Order') ?></h2>
-        <div class="col-1 col-narrow"></div>
-        <div class="col-2 col-wide">
-            <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getVirtualProductEditUrl() ?>"><?php echo __('Edit Items') ?></a></h3>
-            <table class="data-table" id="unavailable-shipping-table">
-                <col />
-                <col width="1" />
-                <thead>
-                    <tr>
-                        <th><?php echo __('Product Name') ?></th>
-                        <th class="a-center"><?php echo __('Qty') ?></th>
-                    </tr>
-                </thead>
-                <tbody>
-                <?php foreach ($this->getVirtualQuoteItems() as $_item): ?>
-                    <tr>
-                        <td><?php echo $this->getItemHtml($_item) ?></td>
-                        <td class="a-center"><?php echo $_item->getQty() ?></td>
-                    </tr>
-                <?php endforeach; ?>
-                </tbody>
-            </table>
-            <script type="text/javascript">(function($) {$('#unavailable-shipping-table').decorate('table')})(jQuery)</script>
-        </div>
+<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/code/Magento/Checkout/view/frontend/multishipping/item/default.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/item/default.phtml
index 9f29bfc9734..3b4ffb1fea8 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/item/default.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/item/default.phtml
@@ -19,27 +19,29 @@
  * 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)
  */
 ?>
-<h3 class="product-name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></h3>
-<?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">
+<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 echo $_formatedOptionValue['full_view'] ?></dd>
-            </dl>
-        </div>
-        <?php endif; ?>
-    </dd>
-    <?php endforeach; ?>
-</dl>
-<?php endif; ?>
+                <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/code/Magento/Checkout/view/frontend/multishipping/link.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/link.phtml
index e141179eb76..6d72e1a9009 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/link.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/link.phtml
@@ -19,9 +19,8 @@
  * 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)
  */
 ?>
-<a href="<?php echo $this->getCheckoutUrl()?>" title="<?php echo __('Checkout with Multiple Addresses');?>"><?php echo __('Checkout with Multiple Addresses');?></a>
+<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/code/Magento/Checkout/view/frontend/multishipping/overview.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/overview.phtml
index 73b2f58a5c0..c08dd2689cc 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/overview.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/overview.phtml
@@ -19,199 +19,167 @@
  * 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\Checkout\Block\Multishipping\Overview */ ?>
-<div class="multiple-checkout">
-    <div class="page-title">
-        <h1><?php echo __('Review Order') ?></h1>
-    </div>
-    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="review-order-form">
-        <div class="col2-set">
-            <h2 class="legend"><?php echo __('Billing Information') ?></h2>
-            <div class="col-1">
-                <div class="box">
-                    <?php $_address=$this->getBillingAddress() ?>
-                    <div class="box-title">
-                        <h3><?php echo __('Billing Address') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditBillingAddressUrl($_address) ?>"><?php echo __('Change') ?></a></h3>
-                    </div>
-                    <div class="box-content">
-                        <address>
-                            <?php echo $_address->format('html') ?>
-                        </address>
-                    </div>
-                </div>
-            </div>
-            <div class="col-2">
-                <div class="box">
-                    <div class="box-title">
-                        <h3><?php echo __('Payment Method') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditBillingUrl() ?>"><?php echo __('Change') ?></a></h3>
-                    </div>
-                    <div class="box-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>
+<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>
+    <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); ?>
-        <div class="col2-set">
-        <h2 class="legend"><?php echo __('Shipping Information') ?></h2>
         <?php foreach ($this->getShippingAddresses() as $_index => $_address): ?>
-            <h3 class="legend"><?php echo __('Address %1 of %2', ($_index+1), $this->getShippingAddressCount()) ?></h3>
-                <div class="col-1 col-narrow">
-                    <div class="box">
-                        <div class="box-title">
-                            <h4><?php echo __('Shipping To') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditShippingAddressUrl($_address) ?>"><?php echo __('Change') ?></a></h4>
-                        </div>
-                        <div class="box-content">
-                            <address>
-                                <?php echo $_address->format('html') ?>
-                            </address>
-                        </div>
-                    </div>
-                    <div class="box">
-                        <div class="box-title">
-                            <h4><?php echo __('Shipping Method') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditShippingUrl() ?>"><?php echo __('Change') ?></a></h4>
-                        </div>
-                        <div class="box-content">
-                            <?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>
-                </div>
-                <div class="col-2 col-wide">
-                    <h4><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getAddressesEditUrl() ?>"><?php echo __('Edit Items') ?></a></h4>
-                    <table class="data-table" id="overview-table-<?php echo $_address->getId() ?>">
-                        <col />
-                        <col width="1" />
-                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                        <col width="1" />
-                        <?php endif; ?>
-                        <col width="1" />
-                        <col width="1" />
-                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                        <col width="1" />
+            <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; ?>
-                        <thead>
-                            <tr>
-                                <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Product Name') ?></th>
-                                <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Price') ?></th>
-                                <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Qty') ?></th>
-                                <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Subtotal') ?></th>
-                            </tr>
-                            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                            <tr>
-                                <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                                <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
-                                <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                                <th><?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>
-                    <script type="text/javascript">jQuery('#overview-table-<?php echo $_address->getId() ?>').decorate('table')</script>
-                </div>
-            <?php if($this->getShippingAddressCount()!=$_index+1): ?>
-                <div class="divider"></div>
-            <?php endif; ?>
-        <?php endforeach; ?>
-        </div>
-        <?php if ($this->getQuote()->hasVirtualItems()): ?>
-        <div class="col2-set">
-            <h2 class="legend"><?php echo __('Other Items in Your Order') ?></h2>
-            <div class="col-1 col-narrow"></div>
-            <div class="col-2 col-wide">
-                <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getVirtualProductEditUrl() ?>"><?php echo __('Edit Items') ?></a></h3>
-                <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
-                <table class="data-table" id="virtual-overview-table">
-                    <col />
-                    <col width="1" />
-                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                    <col width="1" />
-                    <?php endif; ?>
-                    <col width="1" />
-                    <col width="1" />
-                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                    <col width="70" />
-                    <?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 rowspan="<?php echo $mergedCells; ?>"><?php echo __('Product Name') ?></th>
-                            <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Price') ?></th>
-                            <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Qty') ?></th>
-                            <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Subtotal') ?></th>
-                        </tr>
-                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-                        <tr>
-                            <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                            <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
-                            <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                            <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                            <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; ?>
+                    <?php endif; ?>
                     </thead>
                     <tfoot>
-                        <?php echo $this->renderTotals($this->getBillinAddressTotals()); ?>
+                        <?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>
+        </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>
-                    <script type="text/javascript">jQuery('#virtual-overview-table').decorate('table')</script>
-                </div>
+                </tbody>
+            </table>
         </div>
-        <?php endif; ?>
+    </div>
+    <?php endif; ?>
 
-           <?php echo $this->getChildHtml('items_after'); ?>
+    <?php echo $this->getChildHtml('items_after'); ?>
 
-            <div id="checkout-review-submit" data-mage-init="{paymentAuthentication:{}}">
-                <?php echo $this->getChildHtml('agreements') ?>
-                <div class="place-order">
-                    <div class="grand-total">
-                        <div class="inner">
-                            <big><?php echo __('Grand Total:') ?> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()) ?></big>
-                            <div id="review-buttons-container">
-                                <button type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout" id="review-button"><span><span><?php echo __('Place Order') ?></span></span></button>
-                            </div>
-                        </div>
-                    </div>
-                    <span class="please-wait" id="review-please-wait" style="display:none;">
-                        <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Submitting order information...') ?>" title="<?php echo __('Submitting order information...') ?>" class="v-middle" /> <?php echo __('Submitting order information...') ?>
-                    </span>
-                </div>
-            </div>
-            <div class="buttons-set">
-                <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Billing Information') ?></a></p>
-            </div>
-        </form>
-        <script type="text/javascript">
-            head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/overview.js')?>", function() {
-                jQuery('#review-order-form').orderOverview();
-            });
-        </script>
-</div>
+    <div id="checkout-review-submit" class="checkout review">
+        <?php echo $this->getChildHtml('agreements') ?>
+        <div class="totals grand">
+            <strong class="mark"><?php echo __('Grand Total:') ?></strong>
+            <strong class="amount"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()) ?></strong>
+        </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/code/Magento/Checkout/view/frontend/multishipping/overview/item.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/overview/item.phtml
index bc68ca43f9e..d7cb049a107 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/overview/item.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/overview/item.phtml
@@ -33,15 +33,14 @@
 ?>
 <?php $_item = $this->getItem() ?>
 <tr>
-    <td><?php echo $this->getRenderedBlock()->getItemHtml($_item) ?></td>
-
-    <!--- Excluding Tax -->
+    <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="a-right">
+    <td class="col price excl tax">
         <?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(); ?>"}'>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <div class="cart-price">
+            <span class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -49,27 +48,23 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
             <?php endif; ?>
-
-        </div>
-
+        </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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
                     <?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 />
+                        <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="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                        <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; ?>
@@ -83,16 +78,16 @@
         <?php endif; ?>
     </td>
     <?php endif; ?>
-    <!--- // Excluding Tax -->
+<?php /* // Excluding Tax */ ?>
 
-    <!--- Including Tax -->
+<?php /* Including Tax */ ?>
     <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td>
+    <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()): ?>
-            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <div class="cart-price">
+            <span class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -100,27 +95,22 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
             <?php endif; ?>
-
-        </div>
+        </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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
                     <?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 />
+                        <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="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                        <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>
 
@@ -133,17 +123,15 @@
 
     </td>
     <?php endif; ?>
-    <!--- // Including Tax -->
-
-    <td class="a-center"><?php echo $_item->getQty()*1 ?></td>
-
-    <!--- Excluding Tax Subtotal -->
+<?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="a-right">
+    <td class="col subtotal excl tax">
         <?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(); ?>"}'>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <div class="cart-price">
+            <span class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -152,47 +140,43 @@
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
             <?php endif; ?>
 
-        </div>
+        </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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
                     <?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 />
+                        <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()): ?>
-                    <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 />
+                        <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; ?>
-                    </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>
+                    <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; ?>
-    <!--- //Excluding Tax Subtotal -->
+<?php /* //Excluding Tax Subtotal */ ?>
 
-    <!--- Including Tax Subtotal -->
+<?php /* Including Tax Subtotal */ ?>
     <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td>
+    <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()): ?>
-            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <div class="cart-price">
+            <span class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -200,39 +184,33 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
             <?php endif; ?>
-
-        </div>
-
+        </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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
                     <?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 />
+                        <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()): ?>
-                    <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 />
+                        <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; ?>
-                    </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>
+                    <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; ?>
-    <!--- //Including Tax Subtotal -->
+<?php /* //Including Tax Subtotal */ ?>
 </tr>
diff --git a/app/code/Magento/Checkout/view/frontend/multishipping/shipping.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/shipping.phtml
index 50bd5ae841c..2c9bd1acf96 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/shipping.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/shipping.phtml
@@ -18,8 +18,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    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)
  */
@@ -28,103 +26,91 @@
 /**
  * Multishipping checkout shipping template
  *
- * @see \Magento\Checkout\Block\Multishipping\Shipping
  * @var $this \Magento\Checkout\Block\Multishipping\Shipping
  */
 ?>
-<div class="multiple-checkout">
-    <div class="page-title">
-        <h1><?php echo __('Select Shipping Method') ?></h1>
+<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 echo $this->getMessagesBlock()->getGroupedHtml() ?>
-    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="shipping_method_form">
-        <?php foreach ($this->getAddresses() as $_index => $_address): ?>
-        <div class="col2-set">
-            <h2 class="legend"><?php echo __('Address %1 of %2', ($_index+1), $this->getAddressCount()) ?></h2>
-            <div class="col-1 col-narrow">
-                <div class="box">
-                    <div class="box-title">
-                        <h3><?php echo __('Shipping To') ?> <span class="separator">|</span> <a href="<?php echo $this->getAddressEditUrl($_address) ?>"><?php echo __('Change') ?></a></h3>
-                    </div>
-                    <div class="box-content">
-                        <address><?php echo $_address->format('html') ?></address>
-                    </div>
-                </div>
-                <div class="box box-sp-methods">
-                    <div class="pointer"></div>
-                    <div class="box-title">
-                        <h3><?php echo __('Shipping Method') ?></h3>
-                    </div>
-                    <div class="box-content">
-                        <?php if (!($_shippingRateGroups = $this->getShippingRates($_address))): ?>
-                            <p><?php echo __('Sorry, no quotes are available for this order.') ?></p>
-                        <?php else: ?>
-                        <dl class="sp-methods">
-                            <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
-                                <dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
-                                <dd>
-                                    <ul>
-                                    <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
-                                        <li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"' ?>>
-                                           <?php if ($_rate->getErrorMessage()): ?>
-                                                <?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?>: <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
-                                           <?php else: ?>
-                                                <?php if ($_sole) : ?>
-                                                <span class="no-display"><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() ?>" checked="checked"/></span>
-                                                <?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 ?>
-                                        </li>
-                                    <?php endforeach; ?>
-                                    </ul>
-                                </dd>
+    <?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; ?>
-                        </dl>
-                        <?php endif; ?>
-                    </div>
-                </div>
+                        </dd>
+                    <?php endforeach; ?>
+                </dl>
+                <?php endif; ?>
             </div>
-            <div class="col-2 col-wide">
+            <div class="box items">
                 <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_adress_checkbox', $_address); ?>
-                <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getItemsEditUrl($_address) ?>"><?php echo __('Edit Items') ?></a></h3>
-                <table class="data-table" id="shipping-table-<?php echo $_address->getId() ?>">
-                    <col />
-                    <col width="1" />
+                <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><?php echo __('Product Name') ?></th>
-                            <th class="a-center"><?php echo __('Qty') ?></th>
+                            <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>
-                                <?php echo $this->getItemHtml($_item->getQuoteItem()) ?>
-                            </td>
-                            <td class="a-center"><?php echo $_item->getQty() ?></td>
+                            <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>
-                <script type="text/javascript">(function($) {$('#shipping-table-<?php echo $_address->getId()?>').decorate('table')})(jQuery)</script>
                 <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_address', $_address); ?>
             </div>
         </div>
-        <?php endforeach; ?>
-        <?php echo $this->getChildHtml('checkout_billing_items') ?>
-        <div class="buttons-set">
-            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Select Addresses') ?></a></p>
-            <button type="submit" title="<?php echo __('Continue to Billing Information') ?>" class="button"><span><span><?php echo __('Continue to Billing Information') ?></span></span></button>
-        </div>
-    </form>
-</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/code/Magento/Checkout/view/frontend/multishipping/state.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/state.phtml
index 660d5fe126c..e4a21f0e037 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/state.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/state.phtml
@@ -24,16 +24,15 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php 
+<?php
 /**
  * Mustishipping state
- * 
+ *
  * @see \Magento\Checkout\Block\Multishipping\State
  */
 ?>
-<ul class="checkout-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>
-<script type="text/javascript">(function($) {$('#checkout-progress-state li').decorate('generic', ['first','last'])})(jQuery)</script>
+<ol class="block multicheckout progress items" id="checkout-progress-state">
+    <?php foreach ($this->getSteps() as $_step): ?>
+        <li title="<?php echo $_step->getLabel() ?>" class="item<?php echo ($_step->getIsActive()) ? ' active' : ''?>"><span><?php echo $_step->getLabel() ?></span></li>
+    <?php endforeach; ?>
+</ol>
diff --git a/app/code/Magento/Checkout/view/frontend/multishipping/success.phtml b/app/code/Magento/Checkout/view/frontend/multishipping/success.phtml
index d666ec7ca0a..51ef877cc16 100644
--- a/app/code/Magento/Checkout/view/frontend/multishipping/success.phtml
+++ b/app/code/Magento/Checkout/view/frontend/multishipping/success.phtml
@@ -24,27 +24,22 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<div class="multiple-checkout">
-    <div class="page-title">
-        <h1><?php echo __('Order Success') ?></h1>
-    </div>
-    <h2 class="sub-title"><?php echo __('Thank you for your purchase!') ?></h2>
+<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 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="buttons-set">
-        <button type="button" title="<?php echo __('Continue Shopping') ?>" class="button" onclick="window.location = '<?php echo $this->getContinueUrl() ?>';"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
+    <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/code/Magento/Checkout/view/frontend/onepage.phtml b/app/code/Magento/Checkout/view/frontend/onepage.phtml
index 1ee814f2e63..de732fa6c42 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -28,71 +27,69 @@
 $_paymentBlock = $this->getLayout()->getBlock('checkout.onepage.payment');
 $_registerParam = $this->getRequest()->getParam('register');
 ?>
-<div class="page-title">
-    <h1><?php echo __('Checkout') ?></h1>
+<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>
+            </div>
+            <div id="checkout-step-<?php echo $_stepId ?>" class="step content" 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/opcheckout.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') ?>'
+                            },
+                            methodDescription : '.items'
+                        });
+                });
+        })(jQuery);
+    </script>
 </div>
-<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/opcheckout.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',
-                        ajaxLoaderPlaceButton: true,
-                        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>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/billing.phtml b/app/code/Magento/Checkout/view/frontend/onepage/billing.phtml
index 35d3e9389cb..49eedbea9b0 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/billing.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/billing.phtml
@@ -19,185 +19,191 @@
  * 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\Checkout\Block\Onepage\Billing  */ ?>
-<form id="co-billing-form" action="">
-<fieldset>
-    <ul class="form-list">
+<form class="form billing" id="co-billing-form" data-hasrequired="<?php echo __('* Required Fields') ?>">
+
     <?php if ($this->customerHasAddresses()): ?>
-        <li class="wide">
-            <label for="billing-address-select"><?php echo __('Select a billing address from your address book or enter a new address.') ?></label>
-            <div class="input-box">
+        <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>
-        </li>
+        </div>
     <?php endif; ?>
-    <li id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>>
-        <fieldset>
-            <input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
-            <ul>
-                <li class="fields"><?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() ?></li>
-                <li class="fields">
-                    <div class="field">
-                        <label for="billing:company"><?php echo __('Company') ?></label>
-                        <div class="input-box">
-                            <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->isCustomerLoggedIn()): ?>
-                    <div class="field">
-                        <label for="billing:email" class="required"><em>*</em><?php echo __('Email Address') ?></label>
-                        <div class="input-box">
-                            <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>
+    <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 email">
+                    <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; ?>
-                </li>
+
         <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
-                <li class="wide">
-                    <label for="billing:street1" class="required"><em>*</em><?php echo __('Address') ?></label>
-                    <div class="input-box">
-                        <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>
-                </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="wide">
-                    <div class="input-box">
-                        <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>
-                </li>
-        <?php endfor; ?>
-                <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
-                <li class="wide">
-                    <label for="billing:vat_id"><?php echo __('VAT Number') ?></label>
-                    <div class="input-box">
-                        <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>
-                </li>
-                <?php endif; ?>
-                <li class="fields">
-                    <div class="field">
-                        <label for="billing:city" class="required"><em>*</em><?php echo __('City') ?></label>
-                        <div class="input-box">
-                            <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 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>
-                    </div>
-                    <div class="field">
-                        <label for="billing:region_id" class="required"><em>*</em><?php echo __('State/Province') ?></label>
-                        <div class="input-box">
-                            <select id="billing:region_id" name="billing[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;" <?php if ($this->getConfig('general/region/display_all') === 0) { ?>disabled="disabled"<?php } ?>>
-                                <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;" <?php if ($this->getConfig('general/region/display_all') === 0) { ?>disabled="disabled"<?php } ?>/>
-                        </div>
-                    </div>
-                </li>
-                <li class="fields">
-                    <div class="field">
-                        <label for="billing:postcode" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
-                        <div class="input-box">
-                            <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">
-                        <label for="billing:country_id" class="required"><em>*</em><?php echo __('Country') ?></label>
-                        <div class="input-box">
-                            <?php echo $this->getCountryHtmlSelect('billing') ?>
-                        </div>
-                    </div>
-                </li>
-                <li class="fields">
-                    <div class="field">
-                        <label for="billing:telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
-                        <div class="input-box">
-                            <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">
-                        <label for="billing:fax"><?php echo __('Fax') ?></label>
-                        <div class="input-box">
-                            <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>
-                </li>
-                <?php if(!$this->isCustomerLoggedIn()): ?>
+                    <?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}"
+                        <?php if ($this->getConfig('general/region/display_all') === 0):?>disabled="disabled"<?php endif; ?>
+                        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') ?>"
+                        <?php if ($this->getConfig('general/region/display_all') === 0):?>disabled="disabled"<?php endif; ?>
+                        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() || $_gender->isEnabled()): ?>
-                <li class="fields">
-                <?php if ($_dob->isEnabled()): ?>
-                    <div class="field">
-                        <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
-                    </div>
-                <?php endif; ?>
-                <?php if ($_gender->isEnabled()): ?>
-                    <div class="field">
-                        <?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
-                    </div>
-                <?php endif ?>
-                </li>
-            <?php endif ?>
 
-        <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+        <?php if ($_dob->isEnabled()): ?>
+            <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif; ?>
         <?php if ($_taxvat->isEnabled()): ?>
-                <li>
-                    <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
-                </li>
+            <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
         <?php endif ?>
-
-                <li class="fields" id="register-customer-password">
-                    <div class="field">
-                        <label for="billing:customer_password" class="required"><em>*</em><?php echo __('Password') ?></label>
-                        <div class="input-box">
-                            <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">
-                        <label for="billing:confirm_password" class="required"><em>*</em><?php echo __('Confirm Password') ?></label>
-                        <div class="input-box">
-                            <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>
-                </li>
-                <?php endif; ?>
-                <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
-                    <li class="control">
-                        <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 for="billing:save_in_address_book"><?php echo __('Save in address book') ?></label>
-                    </li>
-                <?php else:?>
-                    <li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1" /></li>
-                <?php endif; ?>
-                <?php echo $this->getChildHtml('form.additional.info'); ?>
-            </ul>
-        </fieldset>
-    </li>
-    <?php /* Extensions placeholder */ ?>
-    <?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
-    <?php if ($this->canShip()): ?>
-        <li class="control">
-            <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo  __('Ship to this address') ?>" class="radio" /><label for="billing:use_for_shipping_yes"><?php echo  __('Ship to this address') ?></label></li>
-        <li class="control">
-            <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo __('Ship to different address') ?>" class="radio" /><label for="billing:use_for_shipping_no"><?php echo __('Ship to different address') ?></label>
-        </li>
-    <?php endif; ?>
-    </ul>
-    <?php if (!$this->canShip()): ?>
-        <input type="hidden" name="billing[use_for_shipping]" value="1" />
-    <?php endif; ?>
-    <div class="buttons-set" id="billing-buttons-container">
-        <p class="required"><?php echo __('* Required Fields') ?></p>
-        <button type="button" title="<?php echo __('Continue') ?>" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
-        <span class="please-wait" id="billing-please-wait" style="display:none;">
-            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
-        </span>
-    </div>
+        <?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" 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($) {
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/failure.phtml b/app/code/Magento/Checkout/view/frontend/onepage/failure.phtml
index dfccd26f471..f0ccb4c1f26 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/failure.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/failure.phtml
@@ -19,14 +19,10 @@
  * 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="page-title">
-    <h1><?php echo __('Something went wrong while processing your payment.') ?></h1>
-</div>
 <?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/code/Magento/Checkout/view/frontend/onepage/link.phtml b/app/code/Magento/Checkout/view/frontend/onepage/link.phtml
index e8cd3bda3e0..6c899a495c5 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/link.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/link.phtml
@@ -18,12 +18,16 @@
  * versions 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 ($this->isPossibleOnepageCheckout()):?>
-    <button type="button" title="<?php echo __('Proceed to Checkout') ?>" class="button btn-proceed-checkout btn-checkout<?php if ($this->isDisabled()):?> no-checkout<?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>
+    <button type="button"
+            title="<?php echo __('Proceed to Checkout') ?>"
+            class="action primary checkout<?php echo ($this->isDisabled()) ? ' disabled' : ''; ?>"
+            <?php if ($this->isDisabled()):?>disabled="disabled"<?php endif; ?>
+            onclick="window.location='<?php echo $this->getCheckoutUrl() ?>';">
+                <span><?php echo __('Proceed to Checkout') ?></span>
+    </button>
 <?php endif?>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/login.phtml b/app/code/Magento/Checkout/view/frontend/onepage/login.phtml
index db2cb53047d..a66ba381e91 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/login.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/login.phtml
@@ -19,91 +19,125 @@
  * 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 /* Extensions placeholder */ ?>
-<?php echo $this->getChildHtml('checkout.onepage.login.extra')?>
-<div class="col2-set">
-    <?php echo $this->getChildHtml('login_before')?>
-    <div class="col-1">
-        <h3><?php if( $this->isAllowedGuestCheckout() ): ?><?php echo __('Checkout as a Guest or Register') ?><?php else: ?><?php echo __('Register to Create an Account') ?><?php endif; ?></h3>
-        <?php if( $this->isAllowedGuestCheckout() ): ?>
-            <p><?php echo __('Sign up with us to save time on your next checkout:') ?></p>
+<?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 __('Sign up with us to save time on your next checkout:') ?></p>
+            <?php echo __('Register with us for future convenience:') ?></p>
             <ul>
                 <li><?php echo __('Fast and easy check out') ?></li>
-                <li><?php echo __('Get easy access to your order history and status.') ?></li>
+                <li><?php echo __('Easy access to your order history and status') ?></li>
             </ul>
-        <?php endif; ?>
+        <?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() ): ?>
-            <ul class="form-list">
+            <fieldset class="fieldset guest">
                 <?php if( $this->isAllowedGuestCheckout() ): ?>
-                <li class="control">
-                    <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 for="login:guest"><?php echo __('Checkout as Guest') ?></label>
-                </li>
+                <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; ?>
-                <li class="control">
-                    <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 for="login:register"><?php echo __('Register') ?></label>
-                </li>
-            </ul>
-            <h4><?php echo __('Register and save time!') ?></h4>
-            <p><?php echo __('Sign up with us to save time on your next checkout:') ?></p>
-            <ul class="ul">
-                <li><?php echo __('Fast and easy check out') ?></li>
-                <li><?php echo __('Get easy access to your order history and status.') ?></li>
-            </ul>
+                <?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>
-    <div class="col-2">
-        <h3><?php echo __('Login') ?></h3>
-        <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-        <form id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
-        <fieldset>
-            <h4><?php echo __('Already registered?') ?></h4>
-            <p><?php echo __('Please log in below:') ?></p>
-            <ul class="form-list">
-                <li>
-                    <label for="login-email" class="required"><em>*</em><?php echo __('Email Address') ?></label>
-                    <div class="input-box">
-                        <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>
-                </li>
-                <li>
-                    <label for="login-password" class="required"><em>*</em><?php echo __('Password') ?></label>
-                    <div class="input-box">
-                        <input type="password" class="input-text" id="login-password" name="login[password]" data-validate="{required:true}"/>
-                    </div>
-                </li>
-                <?php echo $this->getChildHtml('login.form.additional.info'); ?>
-            </ul>
-        </fieldset>
-        </form>
-    </div>
-</div>
-<div class="col2-set">
-    <div class="col-1">
-        <div class="buttons-set">
-            <p class="required">&nbsp;</p>
-            <button type="button" class="button" data-checkout='{"isGuestCheckoutAllowed":true}'><span><span><?php echo ($this->isAllowedGuestCheckout() ? __('Continue') : __('Register')) ?></span></span></button>
-            <span class="please-wait" style="display:none;">
-                <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="" class="v-middle" /> <?php echo __('Loading next step...') ?>
+        <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 class="col-2">
-        <div class="buttons-set">
-            <p class="required"><?php echo __('* Required Fields') ?></p>
-            <a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo __('Forgot your password?') ?></a>
-            <button type="submit" class="button" data-action='login-form-submit'><span><span><?php echo __('Login') ?></span></span></button>
-        </div>
-    </div>
+</div>
+<?php endif; ?>
 </div>
 <script type="text/javascript">
     (function($) {
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/payment.phtml b/app/code/Magento/Checkout/view/frontend/onepage/payment.phtml
index 4a11e6f8b6c..c57b38b3a22 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/payment.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/payment.phtml
@@ -18,22 +18,25 @@
  * versions 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="" id="co-payment-form">
-    <fieldset>
-        <?php echo $this->getChildHtml('methods') ?>
+<form id="co-payment-form" class="form payments">
+    <fieldset class="fieldset">
+        <?php echo $this->getChildChildHtml('methods_additional') ?>
+        <div id="checkout-payment-method-load"><?php echo $this->getChildHtml('methods') ?></div>
     </fieldset>
+    <?php echo $this->getChildChildHtml('additional') ?>
+    <div class="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>
-<div class="buttons-set" id="payment-buttons-container">
-    <p class="required"><?php echo __('* Required Fields') ?></p>
-    <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
-    <button type="button" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
-    <span class="please-wait" id="payment-please-wait" style="display:none;">
-        <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
-    </span>
-</div>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/payment/methods.phtml b/app/code/Magento/Checkout/view/frontend/onepage/payment/methods.phtml
index 914206cc665..c4894c62df7 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/payment/methods.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/payment/methods.phtml
@@ -18,8 +18,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    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)
  */
@@ -28,23 +26,23 @@
 /**
  * One page checkout payment methods
  *
- * @see \Magento\Checkout\Block\Onepage\Payment\Methods
+ * @var $this \Magento\Checkout\Block\Onepage\Payment\Methods
  */
 ?>
-<dl class="sp-methods" id="checkout-payment-method-load">
+<dl class="items methods payment">
 <?php
     $methods = $this->getMethods();
     $oneMethod = count($methods) <= 1;
 ?>
 <?php if (empty($methods)): ?>
-    <dt>
+    <dt class="item title">
         <?php echo __('No Payment Methods') ?>
     </dt>
 <?php else:
     foreach ($methods as $_method):
         $_code = $_method->getCode();
 ?>
-    <dt>
+    <dt class="item title <?php echo $_code ?>">
     <?php if(!$oneMethod): ?>
         <input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" <?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
     <?php else: ?>
@@ -54,7 +52,7 @@
         <label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
     </dt>
     <?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
-    <dd>
+    <dd class="item content <?php echo $_code ?>">
         <?php echo $html; ?>
     </dd>
     <?php endif; ?>
@@ -62,5 +60,5 @@
     endif;
 ?>
 </dl>
-<div class="no-display" data-checkout-price="<?php echo (float)$this->getQuote()->getBaseGrandTotal(); ?>" />
+<div class="no-display" data-checkout-price="<?php echo (float)$this->getQuote()->getBaseGrandTotal(); ?>"></div>
 <?php echo $this->getChildChildHtml('additional'); ?>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/progress.phtml b/app/code/Magento/Checkout/view/frontend/onepage/progress.phtml
index c68bcf8d449..5719d1f9962 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/progress.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/progress.phtml
@@ -19,17 +19,16 @@
  * 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\Checkout\Block\Onepage\Progress */
 ?>
-<div class="block block-progress opc-block-progress">
-    <div class="block-title">
-        <strong><span><?php echo __('Your Checkout Progress') ?></span></strong>
+<div class="block progress onepage opc-block-progress">
+    <div class="title">
+        <strong><?php echo __('Your Checkout Progress') ?></strong>
     </div>
-    <div class="block-content">
+    <div class="content">
         <dl>
         <?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
         <?php if ($this->isStepComplete('billing')): ?>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/review/button.phtml b/app/code/Magento/Checkout/view/frontend/onepage/review/button.phtml
index 82172d3fe29..19906996410 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/review/button.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/review/button.phtml
@@ -18,10 +18,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    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)
  */
 ?>
-<button data-role="review-save" type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout"><span><span><?php echo __('Place Order') ?></span></span></button>
+<button role='review-save' type="submit" title="<?php echo __('Place Order') ?>" class="button action checkout"><span><?php echo __('Place Order') ?></span></button>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/review/info.phtml b/app/code/Magento/Checkout/view/frontend/onepage/review/info.phtml
index 48f12caf1e4..700498e611a 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/review/info.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/review/info.phtml
@@ -18,41 +18,35 @@
  * versions 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\Checkout\Block\Onepage\Review\Info */
 ?>
 <?php echo $this->getChildHtml('items_before'); ?>
-<div id="checkout-review-table-wrapper" data-mage-init="{paymentAuthentication:{}}">
-    <table class="data-table" id="checkout-review-table">
-        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
-        <col />
-        <col width="1" />
-        <col width="1" />
-        <col width="1" />
-        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-        <col width="1" />
-        <col width="1" />
-        <?php endif; ?>
+<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 ?>"><?php echo __('Product Name') ?></th>
-                <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo __('Price') ?></th>
-                <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo __('Qty') ?></th>
-                <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo __('Subtotal') ?></th>
+                <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="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                    <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
-                    <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
-                    <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <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'); ?>
+        <tfoot>
+            <?php echo $this->getChildHtml('totals'); ?>
+        </tfoot>
         <tbody>
         <?php foreach($this->getItems() as $_item): ?>
             <?php echo $this->getItemHtml($_item)?>
@@ -61,14 +55,13 @@
     </table>
 </div>
 <?php echo $this->getChildHtml('items_after'); ?>
-<script type="text/javascript">jQuery('#checkout-review-table').decorate('table')</script>
-<div id="checkout-review-submit" data-mage-init="{paymentAuthentication:{}}">
+<div id="checkout-review-submit" data-mage-init="{paymentAuthentication:{}}" class="checkout submit order">
     <?php echo $this->getChildHtml('agreements') ?>
-    <div class="buttons-set" id="review-buttons-container">
-        <p class="f-left"><?php echo __('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo __('Edit Your Cart') ?></a></p>
-        <?php echo $this->getChildHtml('button') ?>
-        <span class="please-wait" id="review-please-wait" style="display:none;">
-            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Submitting order information...') ?>" title="<?php echo __('Submitting order information...') ?>" class="v-middle" /> <?php echo __('Submitting order information...') ?>
+    <div class="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/code/Magento/Checkout/view/frontend/onepage/review/item.phtml b/app/code/Magento/Checkout/view/frontend/onepage/review/item.phtml
index e3ea7b940b3..33405bd0c87 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/review/item.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/review/item.phtml
@@ -19,23 +19,25 @@
  * 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\Checkout\Block\Cart\Item\Renderer */
+
+$_item = $this->getItem()
 ?>
-<?php $_item = $this->getItem()?>
 <tr>
-    <td><h3 class="product-name"><?php echo $this->escapeHtml($this->getProductName()) ?></h3>
+    <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
         <?php if ($_options = $this->getOptionList()):?>
-        <dl class="item-options">
+        <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">
+                <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>
@@ -50,11 +52,11 @@
         <?php endif;?>
     </td>
     <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td class="a-right">
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -68,41 +70,37 @@
 
         <?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;">
+            <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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
                     <?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 />
+                        <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="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                        <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 class="cart tax total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?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>
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -116,39 +114,35 @@
 
             <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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
                     <?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 />
+                        <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="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                        <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" : "#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 class="cart tax total" data-tax-toggle='{"itemTaxId" : "#unit-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->getWeeeTaxAppliedAmount()); ?></span>
                 </div>
             <?php endif; ?>
         <?php endif; ?>
     </td>
     <?php endif; ?>
-    <td class="a-center"><?php echo $_item->getQty() ?></td>
+    <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="a-right">
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -160,41 +154,37 @@
         </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;">
+            <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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
                     <?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 />
+                        <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()): ?>
-                    <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 />
+                        <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; ?>
-                    </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>
+                    <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 if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td>
+    <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(); ?>"}'>
+            <span class="cart tax total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <span class="cart price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -208,29 +198,25 @@
 
         <?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;">
+            <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 />
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
                     <?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 />
+                        <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()): ?>
-                    <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 />
+                        <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; ?>
-                    </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 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; ?>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/review/totals.phtml b/app/code/Magento/Checkout/view/frontend/onepage/review/totals.phtml
index 9479a681acc..716dc4f01c8 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/review/totals.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/review/totals.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -29,19 +28,17 @@
  */
 ?>
 <?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="a-right" colspan="<?php echo $_colspan; ?>">
-            <small><?php echo __('Your credit card will be charged for') ?></small>
+    <tr class="totals charge">
+        <td class="mark" colspan="<?php echo $_colspan; ?>">
+            <?php echo __('Your credit card will be charged for') ?>
         </td>
-        <td class="a-right">
-            <small><?php echo $this->displayBaseGrandtotal() ?></small>
+        <td class="amount">
+            <?php echo $this->displayBaseGrandtotal() ?>
         </td>
     </tr>
     <?php endif?>
-</tfoot>
 <?php endif; ?>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/shipping.phtml b/app/code/Magento/Checkout/view/frontend/onepage/shipping.phtml
index 05f7c7fbcdc..5e2012203e6 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/shipping.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/shipping.phtml
@@ -19,123 +19,110 @@
  * 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\Checkout\Block\Onepage\Shipping */ ?>
-<form action="" id="co-shipping-form">
-    <ul class="form-list">
-    <?php if ($this->customerHasAddresses()): ?>
-       <li class="wide">
-           <label for="shipping-address-select"><?php echo __('Select a shipping address from your address book or enter a new address.') ?></label>
-           <div class="input-box">
-               <?php echo $this->getAddressesHtmlSelect('shipping') ?>
-           </div>
-       </li>
-    <?php endif ?>
-        <li id="shipping-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif ?>>
-            <fieldset>
-                <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
-                <ul>
-                    <li class="fields"><?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->toHtml() ?></li>
-                    <li class="fields">
-                        <div class="fields">
-                            <label for="shipping:company"><?php echo __('Company') ?></label>
-                            <div class="input-box">
-                                <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>
-                    </li>
-            <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
-                    <li class="wide">
-                        <label for="shipping:street1" class="required"><em>*</em><?php echo __('Address') ?></label>
-                        <div class="input-box">
-                            <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>
-                    </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="wide">
-                        <div class="input-box">
+<form class="form shipping address" 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>
-                    </li>
-            <?php endfor; ?>
-                    <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
-                    <li class="wide">
-                        <label for="billing:vat_id"><?php echo __('VAT Number'); ?></label>
-                        <div class="input-box">
-                            <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>
-                    </li>
-                    <?php endif; ?>
-                    <li class="fields">
-                        <div class="field">
-                            <label for="shipping:city" class="required"><em>*</em><?php echo __('City') ?></label>
-                            <div class="input-box">
-                                <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">
-                            <label for="shipping:region" class="required"><em>*</em><?php echo __('State/Province') ?></label>
-                            <div class="input-box">
-                                <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 a 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>
-                    </li>
-                    <li class="fields">
-                        <div class="field">
-                            <label for="shipping:postcode" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
-                            <div class="input-box">
-                                <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">
-                            <label for="shipping:country_id" class="required"><em>*</em><?php echo __('Country') ?></label>
-                            <div class="input-box">
-                                <?php echo $this->getCountryHtmlSelect('shipping') ?>
-                            </div>
-                        </div>
-                    </li>
-                    <li class="fields">
-                        <div class="field">
-                            <label for="shipping:telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
-                            <div class="input-box">
-                                <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">
-                            <label for="shipping:fax"><?php echo __('Fax') ?></label>
-                            <div class="input-box">
-                                <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>
-                    </li>
-                <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
-                    <li class="control">
-                        <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 for="shipping:save_in_address_book"><?php echo __('Save in address book') ?></label></li>
-                <?php else:?>
-                    <li class="no-display"><input type="hidden" name="shipping[save_in_address_book]" value="1" /></li>
-                <?php endif;?>
-                </ul>
-            </fieldset>
-        </li>
-        <li class="control">
-            <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1"<?php if($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?> title="<?php echo __('Use Billing Address') ?>" class="checkbox" /><label for="shipping:same_as_billing"><?php echo __('Use Billing Address') ?></label>
-        </li>
-    </ul>
-    <div class="buttons-set" id="shipping-buttons-container">
-        <p class="required"><?php echo __('* Required Fields') ?></p>
-        <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
-        <button type="button" class="button" title="<?php echo __('Continue') ?>"><span><span><?php echo __('Continue') ?></span></span></button>
-        <span id="shipping-please-wait" class="please-wait" style="display:none;">
-            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
-        </span>
+                    </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" 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></div>
+        <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">
@@ -144,21 +131,14 @@
             "<?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'); ?>,
+                    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) ?>,
-                    clearError: function() {
-                        var selectorArr = ['#shipping\\:region_id', '#shipping\\:region', '#shipping\\:postcode'];
-                        for (var i = 0; i < selectorArr.length; i++) {
-                            $(selectorArr[i]).removeClass('validation-failed').next("div.validation-advice").remove();
-                        }
-                    }
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
                 });
             });
     })(jQuery);
 </script>
-
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/shipping_method.phtml b/app/code/Magento/Checkout/view/frontend/onepage/shipping_method.phtml
index ac7166ee1b1..0d8a397f6e2 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/shipping_method.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/shipping_method.phtml
@@ -19,23 +19,22 @@
  * 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 id="co-shipping-method-form" action="">
+<form class="form shipping methods" id="co-shipping-method-form">
     <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="buttons-set" id="shipping-method-buttons-container">
-        <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
-        <button type="button" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
-        <span id="shipping-method-please-wait" class="please-wait" style="display:none;">
-            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
+    <div class="actions" 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/code/Magento/Checkout/view/frontend/onepage/shipping_method/available.phtml b/app/code/Magento/Checkout/view/frontend/onepage/shipping_method/available.phtml
index 8fa017be225..23bc36d330d 100644
--- a/app/code/Magento/Checkout/view/frontend/onepage/shipping_method/available.phtml
+++ b/app/code/Magento/Checkout/view/frontend/onepage/shipping_method/available.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -27,37 +26,36 @@
 <?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.') ?></p>
+    <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p>
 <?php else: ?>
-    <dl class="sp-methods">
+    <dl class="items methods shipping">
     <?php $shippingCodePrice = array(); ?>
     <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
-        <dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
-        <dd>
-            <ul>
+        <dt class="item title <?php echo $code ?>"><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+        <dd class="item content <?php echo $code ?>">
             <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
                 <?php $shippingCodePrice[] = '"'.$_rate->getCode().'":'.(float)$_rate->getPrice(); ?>
-                <li>
+                <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>
+                    <div class="message error"><div><?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></div></div>
                    <?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 for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                        <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 ?>
-                </li>
+                </div>
             <?php endforeach; ?>
-            </ul>
         </dd>
     <?php endforeach; ?>
     </dl>
diff --git a/app/code/Magento/Checkout/view/frontend/success.phtml b/app/code/Magento/Checkout/view/frontend/success.phtml
index 169c4d693f3..95681ab6f6e 100644
--- a/app/code/Magento/Checkout/view/frontend/success.phtml
+++ b/app/code/Magento/Checkout/view/frontend/success.phtml
@@ -19,30 +19,24 @@
  * 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="page-title">
-    <h1><?php echo __('We received your order.') ?></h1>
-</div>
-<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
-<h2 class="sub-title"><?php echo __('Thank you for your purchase!') ?></h2>
-
+<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 __('We\'ll send you a confirmation email with order details and tracking information.') ?></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 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()): ?>
@@ -51,14 +45,14 @@
 
 <?php if ($profiles = $this->getRecurringProfiles()):?>
 <p><?php echo __('Your recurring payment profiles:'); ?></p>
-<ul class="disc">
+<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>
+    <li><?php echo __('Payment profile # %1: "%2".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
 <?php endforeach;?>
 </ul>
 <?php endif;?>
 
-<div class="buttons-set">
-    <button type="button" class="button" title="<?php echo __('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
+<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/code/Magento/Checkout/view/frontend/total/default.phtml b/app/code/Magento/Checkout/view/frontend/total/default.phtml
index d34e1906d40..2e5eee7a9c4 100644
--- a/app/code/Magento/Checkout/view/frontend/total/default.phtml
+++ b/app/code/Magento/Checkout/view/frontend/total/default.phtml
@@ -18,21 +18,19 @@
  * versions 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)
  */
 ?>
-<tr>
-    <th colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>" class="a-right">
+<tr class="totals">
+    <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; ?>
-    </th>
-    <td style="<?php echo $this->getTotal()->getStyle() ?>" class="a-right">
+    </td>
+    <td style="<?php echo $this->getTotal()->getStyle() ?>" class="amount">
         <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?><strong><?php endif; ?>
-            <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
+            <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/code/Magento/Checkout/view/frontend/total/nominal.phtml b/app/code/Magento/Checkout/view/frontend/total/nominal.phtml
index 58537f0ac3f..f93b655db81 100644
--- a/app/code/Magento/Checkout/view/frontend/total/nominal.phtml
+++ b/app/code/Magento/Checkout/view/frontend/total/nominal.phtml
@@ -18,39 +18,34 @@
  * versions 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\Checkout\Block\Total\Nominal */
 ?>
-<?php
-/**
- * @see \Magento\Checkout\Block\Total\Nominal
- */
-?>
-<tr>
-    <th colspan="<?php echo $this->getColspan() + 1; ?>" style="<?php echo $this->getTotalStyle() ?>" class="a-right">
+<tr class="totals nominal">
+    <th colspan="<?php echo $this->getColspan() + 1; ?>" style="<?php echo $this->getTotalStyle() ?>" class="mark">
         <?php echo sprintf(($this->getRenderingArea() == $this->getTotalArea()) ? '<strong>%s</strong>' : '%s', $this->escapeHtml($this->getTotalTitle())) ?>
     </th>
 </tr>
 <?php foreach ($this->getTotalItems() as $i => $item): ?>
-<?php foreach ($this->getTotalItemDetails($item) as $j => $row):?>
-<tr class="summary-details <?php echo "summary-details-nominal-{$i}" . (0 == $j ? ' summary-details-first' : '') . ($this->getItemDetailsRowIsCompounded($row) ? '' : ' summary-details-excluded')?>" style="display:none;">
-    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>" class="a-right">
-        <?php echo $this->escapeHtml($this->getItemDetailsRowLabel($row)) ?>
-    </td>
-    <td class="a-right">
-        <?php echo $this->formatPrice($this->getItemDetailsRowAmount($row)) ?>
-    </td>
-</tr>
-<?php endforeach; ?>
-<tr class="summary-total" onclick="expandDetails(this, '<?php echo ".summary-details-nominal-{$i}"?>')">
-    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>">
-        <div class="summary-collapse"><?php echo $this->escapeHtml($this->getItemName($item)); ?></div>
-    </td>
-    <td class="a-right">
-        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getItemRowTotal($item)) ?>
-    </td>
-</tr>
+    <?php foreach ($this->getTotalItemDetails($item) as $j => $row):?>
+        <tr class="totals nominal details">
+            <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>" class="mark">
+                <?php echo $this->escapeHtml($this->getItemDetailsRowLabel($row)) ?>
+            </td>
+            <td class="amount">
+                <?php echo $this->formatPrice($this->getItemDetailsRowAmount($row)) ?>
+            </td>
+        </tr>
+    <?php endforeach; ?>
+    <tr class="totals nominal summary">
+        <td class="mark" colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>">
+            <div class="detailed"><?php echo $this->escapeHtml($this->getItemName($item)); ?></div>
+        </td>
+        <td class="amount">
+            <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getItemRowTotal($item)) ?>
+        </td>
+    </tr>
 <?php endforeach; ?>
diff --git a/app/code/Magento/Checkout/view/frontend/total/tax.phtml b/app/code/Magento/Checkout/view/frontend/total/tax.phtml
index 998107b44ca..dcc197ca0df 100644
--- a/app/code/Magento/Checkout/view/frontend/total/tax.phtml
+++ b/app/code/Magento/Checkout/view/frontend/total/tax.phtml
@@ -18,8 +18,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    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)
  */
@@ -35,8 +33,8 @@
                 <?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 $this->getTotal()->getStyle() ?>" colspan="<?php echo $this->getColspan(); ?>">
+                <tr class="totals tax details details-<?php echo $taxIter; ?>">
+                    <td class="mark" style="<?php echo $this->getTotal()->getStyle() ?>" colspan="<?php echo $this->getColspan(); ?>">
                         <?php echo $this->escapeHtml($rate['title']); ?>
                         <?php if (!is_null($rate['percent'])): ?>
                             (<?php echo (float)$rate['percent']; ?>%)
@@ -44,7 +42,7 @@
                         <br />
                     </td>
                     <?php if ($isFirst): ?>
-                        <td rowspan="<?php echo count($rates); ?>" class="a-right" style="<?php echo $this->getTotal()->getStyle() ?>">
+                        <td class="amount" rowspan="<?php echo count($rates); ?>" class="a-right" style="<?php echo $this->getTotal()->getStyle() ?>">
                             <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($amount); ?>
                         </td>
                     <?php endif; ?>
@@ -54,15 +52,21 @@
                 <?php endforeach; ?>
             <?php endforeach; ?>
 <?php endif;?>
-<tr<?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $this->getTotal()->getValue()!=0): ?> class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')"<?php endif; ?>>
-    <td class="a-right" colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>">
+<?php
+    $attributes = 'class="totals tax"';
+    if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $this->getTotal()->getValue()!=0) {
+        $attributes = 'class="totals tax summary"';
+    }
+?>
+<tr <?php echo $attributes; ?>>
+    <td class="mark" colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>">
         <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary()): ?>
-            <div class="summary-collapse"><?php echo $this->getTotal()->getTitle() ?></div>
+            <div class="detailed"><?php echo $this->getTotal()->getTitle() ?></div>
         <?php else: ?>
             <?php echo $this->getTotal()->getTitle() ?>
         <?php endif;?>
     </td>
-    <td class="a-right" style="<?php echo $this->getTotal()->getStyle() ?>">
-        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    <td class="amount" style="<?php echo $this->getTotal()->getStyle() ?>">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
     </td>
 </tr>
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Block/Edit.php b/app/code/Magento/Cms/Block/Adminhtml/Block/Edit.php
index 231df64e1a1..41f0483f9ba 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Block/Edit.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Block/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php b/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php
index 22a28803c44..b06331783db 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Block/Edit/Form.php
@@ -46,27 +46,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Block/Widget/Chooser.php b/app/code/Magento/Cms/Block/Adminhtml/Block/Widget/Chooser.php
index d4402ced6f4..0d5fa34087a 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Block/Widget/Chooser.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Block/Widget/Chooser.php
@@ -45,27 +45,25 @@ class Chooser extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Cms\Model\BlockFactory $blockFactory
-     * @param \Magento\Cms\Model\Resource\Block\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Cms\Model\BlockFactory $blockFactory
+     * @param \Magento\Cms\Model\Resource\Block\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\BlockFactory $blockFactory,
-        \Magento\Cms\Model\Resource\Block\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Cms\Model\BlockFactory $blockFactory,
+        \Magento\Cms\Model\Resource\Block\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_blockFactory = $blockFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit.php
index d3c42da2cd8..c11b33cb587 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -137,7 +137,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
     /**
      * Prepare layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php
index 760268aca13..d683d1d95bd 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Content.php
@@ -38,26 +38,24 @@ class Content
      */
     protected $_wysiwygConfig;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
+        array $data = array()
+    ) {
         $this->_wysiwygConfig = $wysiwygConfig;
-        parent::__construct($coreRegistry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Design.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Design.php
index 0119a603a67..dd4584c6a55 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Design.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Design.php
@@ -42,27 +42,27 @@ class Design
      */
     protected $_pageLayout;
 
-    /**
-     * @param \Magento\Page\Model\Source\Layout $pageLayout
-     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Page\Model\Source\Layout $pageLayout
+     * @param \Magento\Core\Model\Theme\LabelFactory $labelFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Page\Model\Source\Layout $pageLayout,
-        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Page\Model\Source\Layout $pageLayout,
+        \Magento\Core\Model\Theme\LabelFactory $labelFactory,
+        array $data = array()
+    ) {
         $this->_labelFactory = $labelFactory;
         $this->_pageLayout = $pageLayout;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Main.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Main.php
index 3cedb1c24eb..563446df85f 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Main.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Edit/Tab/Main.php
@@ -38,24 +38,24 @@ class Main
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _prepareForm()
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Grid.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Grid.php
index 48d4298126d..31c7bbe42d5 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Grid.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Grid.php
@@ -50,30 +50,28 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_pageLayout;
 
-    /**
-     * @param \Magento\Page\Model\Source\Layout $pageLayout
-     * @param \Magento\Cms\Model\Page $cmsPage
-     * @param \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Page\Model\Source\Layout $pageLayout
+     * @param \Magento\Cms\Model\Page $cmsPage
+     * @param \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Page\Model\Source\Layout $pageLayout,
-        \Magento\Cms\Model\Page $cmsPage,
-        \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Page\Model\Source\Layout $pageLayout,
+        \Magento\Cms\Model\Page $cmsPage,
+        \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_cmsPage = $cmsPage;
         $this->_pageLayout = $pageLayout;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Grid/Renderer/Action.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Grid/Renderer/Action.php
index eed40c878d1..aa36e49e7e3 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Grid/Renderer/Action.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Grid/Renderer/Action.php
@@ -34,16 +34,16 @@ class Action
      */
     protected $_urlFactory;
 
-    /**
-     * @param \Magento\Core\Model\UrlFactory $urlFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Model\UrlFactory $urlFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\UrlFactory $urlFactory,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Model\UrlFactory $urlFactory,
+        array $data = array()
+    ) {
         $this->_urlFactory = $urlFactory;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Page/Widget/Chooser.php b/app/code/Magento/Cms/Block/Adminhtml/Page/Widget/Chooser.php
index fac8309d3bc..49f2bca50bc 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Page/Widget/Chooser.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Page/Widget/Chooser.php
@@ -55,33 +55,31 @@ class Chooser extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Page\Model\Source\Layout $pageLayout
-     * @param \Magento\Cms\Model\Page $cmsPage
-     * @param \Magento\Cms\Model\PageFactory $pageFactory
-     * @param \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Page\Model\Source\Layout $pageLayout
+     * @param \Magento\Cms\Model\Page $cmsPage
+     * @param \Magento\Cms\Model\PageFactory $pageFactory
+     * @param \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Page\Model\Source\Layout $pageLayout,
-        \Magento\Cms\Model\Page $cmsPage,
-        \Magento\Cms\Model\PageFactory $pageFactory,
-        \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Page\Model\Source\Layout $pageLayout,
+        \Magento\Cms\Model\Page $cmsPage,
+        \Magento\Cms\Model\PageFactory $pageFactory,
+        \Magento\Cms\Model\Resource\Page\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_pageLayout = $pageLayout;
         $this->_cmsPage = $cmsPage;
         $this->_pageFactory = $pageFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Files.php b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Files.php
index 10fea8eea10..08c145f3c92 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Files.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Files.php
@@ -52,23 +52,23 @@ class Files extends \Magento\Adminhtml\Block\Template
      */
     protected $_imageHelper;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Images\Storage $imageStorage
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Cms\Helper\Wysiwyg\Images $imageHelper
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Cms\Model\Wysiwyg\Images\Storage $imageStorage
+     * @param \Magento\Cms\Helper\Wysiwyg\Images $imageHelper
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Images\Storage $imageStorage,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Cms\Helper\Wysiwyg\Images $imageHelper,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Cms\Model\Wysiwyg\Images\Storage $imageStorage,
+        \Magento\Cms\Helper\Wysiwyg\Images $imageHelper,
+        array $data = array()
+    ) {
         $this->_imageHelper = $imageHelper;
         $this->_imageStorage = $imageStorage;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Uploader.php b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Uploader.php
index 259357e1c77..f6718737640 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Uploader.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Content/Uploader.php
@@ -40,24 +40,22 @@ class Uploader extends \Magento\Adminhtml\Block\Media\Uploader
      */
     protected $_imagesStorage;
 
-    /**
-     * @param \Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\View\Url $viewUrl
-     * @param \Magento\File\Size $fileSize
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\File\Size $fileSize
+     * @param \Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\View\Url $viewUrl,
-        \Magento\File\Size $fileSize,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\File\Size $fileSize,
+        \Magento\Cms\Model\Wysiwyg\Images\Storage $imagesStorage,
+        array $data = array()
+    ) {
         $this->_imagesStorage = $imagesStorage;
-        parent::__construct($coreData, $context, $viewUrl, $fileSize, $data);
+        parent::__construct($context, $coreData, $fileSize, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Tree.php b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Tree.php
index bca6fda2869..d828961cc21 100644
--- a/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Tree.php
+++ b/app/code/Magento/Cms/Block/Adminhtml/Wysiwyg/Images/Tree.php
@@ -49,23 +49,23 @@ class Tree extends \Magento\Adminhtml\Block\Template
      */
     protected $_cmsWysiwygImages = null;
 
-    /**
-     * @param \Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Cms\Helper\Wysiwyg\Images $cmsWysiwygImages,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_cmsWysiwygImages = $cmsWysiwygImages;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Block.php b/app/code/Magento/Cms/Block/Block.php
index 08cba54e363..8f1ba323ae8 100644
--- a/app/code/Magento/Cms/Block/Block.php
+++ b/app/code/Magento/Cms/Block/Block.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Block;
 
-class Block extends \Magento\Core\Block\AbstractBlock
+class Block extends \Magento\View\Block\AbstractBlock
 {
     /**
      * @var \Magento\Cms\Model\Template\FilterProvider
@@ -58,14 +58,14 @@ class Block extends \Magento\Core\Block\AbstractBlock
     /**
      * Construct
      * 
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Cms\Model\BlockFactory $blockFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Cms\Model\Template\FilterProvider $filterProvider,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Cms\Model\BlockFactory $blockFactory,
diff --git a/app/code/Magento/Cms/Block/Page.php b/app/code/Magento/Cms/Block/Page.php
index deb564c192d..b3132f9d63b 100644
--- a/app/code/Magento/Cms/Block/Page.php
+++ b/app/code/Magento/Cms/Block/Page.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Block;
 
-class Page extends \Magento\Core\Block\AbstractBlock
+class Page extends \Magento\View\Block\AbstractBlock
 {
     /**
      * @var \Magento\Cms\Model\Template\FilterProvider
@@ -63,7 +63,7 @@ class Page extends \Magento\Core\Block\AbstractBlock
     /**
      * Construct
      *
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Cms\Model\Page $page
      * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -71,7 +71,7 @@ class Page extends \Magento\Core\Block\AbstractBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Cms\Model\Page $page,
         \Magento\Cms\Model\Template\FilterProvider $filterProvider,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Cms/Block/Widget/Block.php b/app/code/Magento/Cms/Block/Widget/Block.php
index 205d04e1447..3339bb9976c 100644
--- a/app/code/Magento/Cms/Block/Widget/Block.php
+++ b/app/code/Magento/Cms/Block/Widget/Block.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Block\Widget;
 
-class Block extends \Magento\Core\Block\Template implements \Magento\Widget\Block\BlockInterface
+class Block extends \Magento\View\Block\Template implements \Magento\Widget\Block\BlockInterface
 {
     /**
      * @var \Magento\Cms\Model\Template\FilterProvider
@@ -48,13 +48,6 @@ class Block extends \Magento\Core\Block\Template implements \Magento\Widget\Bloc
      */
     static protected $_widgetUsageMap = array();
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Block factory
      *
@@ -63,27 +56,22 @@ class Block extends \Magento\Core\Block\Template implements \Magento\Widget\Bloc
     protected $_blockFactory;
 
     /**
-     * Construct
-     * 
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
      * @param \Magento\Cms\Model\BlockFactory $blockFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Cms\Model\Template\FilterProvider $filterProvider,
         \Magento\Cms\Model\BlockFactory $blockFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_filterProvider = $filterProvider;
         $this->_blockFactory = $blockFactory;
-        $this->_storeManager = $storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Cms/Block/Widget/Page/Link.php b/app/code/Magento/Cms/Block/Widget/Page/Link.php
index 9d57574af3d..b2adfca4b5f 100644
--- a/app/code/Magento/Cms/Block/Widget/Page/Link.php
+++ b/app/code/Magento/Cms/Block/Widget/Page/Link.php
@@ -35,7 +35,7 @@
 namespace Magento\Cms\Block\Widget\Page;
 
 class Link
-    extends \Magento\Core\Block\Html\Link
+    extends \Magento\View\Block\Html\Link
     implements \Magento\Widget\Block\BlockInterface
 {
     /**
@@ -72,34 +72,22 @@ class Link
     protected $_cmsPage;
 
     /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Cms\Model\Resource\Page $resourcePage
      * @param \Magento\Cms\Helper\Page $cmsPage
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Cms\Model\Resource\Page $resourcePage,
         \Magento\Cms\Helper\Page $cmsPage,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_resourcePage = $resourcePage;
         $this->_cmsPage = $cmsPage;
-        $this->_storeManager = $storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Block.php b/app/code/Magento/Cms/Controller/Adminhtml/Block.php
index 1c01373f4c5..b70a1e50b95 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Block.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Block.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml;
 
-class Block extends \Magento\Backend\Controller\Adminhtml\Action
+class Block extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -44,11 +44,11 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -63,8 +63,8 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _initAction()
     {
         // load layout, set active menu and breadcrumbs
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Cms::cms_block')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Cms::cms_block')
             ->_addBreadcrumb(__('CMS'), __('CMS'))
             ->_addBreadcrumb(__('Static Blocks'), __('Static Blocks'));
         return $this;
@@ -75,10 +75,10 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Blocks'));
+        $this->_title->add(__('Blocks'));
 
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -95,7 +95,7 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->_title(__('Blocks'));
+        $this->_title->add(__('Blocks'));
 
         // 1. Get ID and create model
         $id = $this->getRequest()->getParam('block_id');
@@ -111,7 +111,7 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($model->getId() ? $model->getTitle() : __('New Block'));
+        $this->_title->add($model->getId() ? $model->getTitle() : __('New Block'));
 
         // 3. Set entered data if was error when we do save
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getFormData(true);
@@ -124,8 +124,8 @@ class Block extends \Magento\Backend\Controller\Adminhtml\Action
 
         // 5. Build edit form
         $this->_initAction()
-            ->_addBreadcrumb($id ? __('Edit Block') : __('New Block'), $id ? __('Edit Block') : __('New Block'))
-            ->renderLayout();
+            ->_addBreadcrumb($id ? __('Edit Block') : __('New Block'), $id ? __('Edit Block') : __('New Block'));
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Block/Widget.php b/app/code/Magento/Cms/Controller/Adminhtml/Block/Widget.php
index 83e42be7a0f..36ec786e8ee 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Block/Widget.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Block/Widget.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml\Block;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Chooser Source action
@@ -42,7 +42,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     public function chooserAction()
     {
         $uniqId = $this->getRequest()->getParam('uniq_id');
-        $pagesGrid = $this->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Block\Widget\Chooser', '', array(
+        $pagesGrid = $this->_view->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Block\Widget\Chooser', '', array(
             'data' => array('id' => $uniqId)
         ));
         $this->getResponse()->setBody($pagesGrid->toHtml());
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Page.php b/app/code/Magento/Cms/Controller/Adminhtml/Page.php
index 0427e9e664d..f3f9040ec45 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Page.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Page.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml;
 
-class Page extends \Magento\Backend\Controller\Adminhtml\Action
+class Page extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -44,14 +44,22 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Filter\Date $dateFilter
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Filter\Date $dateFilter
     ) {
         $this->_coreRegistry = $coreRegistry;
+        $this->_dateFilter = $dateFilter;
         parent::__construct($context);
     }
 
@@ -63,8 +71,8 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _initAction()
     {
         // load layout, set active menu and breadcrumbs
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Cms::cms_page')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Cms::cms_page')
             ->_addBreadcrumb(__('CMS'), __('CMS'))
             ->_addBreadcrumb(__('Manage Pages'), __('Manage Pages'))
         ;
@@ -76,10 +84,10 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Pages'));
+        $this->_title->add(__('Pages'));
 
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -96,7 +104,7 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->_title(__('Pages'));
+        $this->_title->add(__('Pages'));
 
         // 1. Get ID and create model
         $id = $this->getRequest()->getParam('page_id');
@@ -113,7 +121,7 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($model->getId() ? $model->getTitle() : __('New Page'));
+        $this->_title->add($model->getId() ? $model->getTitle() : __('New Page'));
 
         // 3. Set entered data if was error when we do save
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getFormData(true);
@@ -131,7 +139,7 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
                 $id ? __('Edit Page') : __('New Page')
         );
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -258,7 +266,9 @@ class Page extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _filterPostData($data)
     {
-        $data = $this->_filterDates($data, array('custom_theme_from', 'custom_theme_to'));
+        $inputFilter = new \Zend_Filter_Input(
+            array('custom_theme_from' => $this->_dateFilter, 'custom_theme_to' => $this->_dateFilter), array(), $data);
+        $data = $inputFilter->getUnescaped();
         return $data;
     }
 
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Page/Widget.php b/app/code/Magento/Cms/Controller/Adminhtml/Page/Widget.php
index 70a04863dbc..a0cc85cf497 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Page/Widget.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Page/Widget.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml\Page;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Chooser Source action
@@ -42,7 +42,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     public function chooserAction()
     {
         $uniqId = $this->getRequest()->getParam('uniq_id');
-        $pagesGrid = $this->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Page\Widget\Chooser', '', array(
+        $pagesGrid = $this->_view->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Page\Widget\Chooser', '', array(
             'data' => array('id' => $uniqId)
         ));
         $this->getResponse()->setBody($pagesGrid->toHtml());
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg.php b/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg.php
index 578ee2c164f..0cda5ac19ac 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml;
 
-class Wysiwyg extends \Magento\Backend\Controller\Adminhtml\Action
+class Wysiwyg extends \Magento\Backend\App\Action
 {
     /**
      * Template directives callback
@@ -44,7 +44,7 @@ class Wysiwyg extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $directive = $this->getRequest()->getParam('___directive');
         $directive = $this->_objectManager->get('Magento\Core\Helper\Data')->urlDecode($directive);
-        $url = $this->_objectManager->create('Magento\Core\Model\Email\Template\Filter')->filter($directive);
+        $url = $this->_objectManager->create('Magento\Email\Model\Template\Filter')->filter($directive);
         /** @var \Magento\Image\Adapter\AdapterInterface $image */
         $image = $this->_objectManager->get('Magento\Image\AdapterFactory')->create();
         $response = $this->getResponse();
diff --git a/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images.php b/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images.php
index 2c7ce7d3388..1ab03e2482e 100644
--- a/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images.php
+++ b/app/code/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Cms\Controller\Adminhtml\Wysiwyg;
 
-class Images extends \Magento\Backend\Controller\Adminhtml\Action
+class Images extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Images extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -74,12 +74,13 @@ class Images extends \Magento\Backend\Controller\Adminhtml\Action
         } catch (\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
         }
-        $this->_initAction()->loadLayout('overlay_popup');
-        $block = $this->getLayout()->getBlock('wysiwyg_images.js');
+        $this->_initAction();
+        $this->_view->loadLayout('overlay_popup');
+        $block = $this->_view->getLayout()->getBlock('wysiwyg_images.js');
         if ($block) {
             $block->setStoreId($storeId);
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function treeJsonAction()
@@ -87,7 +88,7 @@ class Images extends \Magento\Backend\Controller\Adminhtml\Action
         try {
             $this->_initAction();
             $this->getResponse()->setBody(
-                $this->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Wysiwyg\Images\Tree')
+                $this->_view->getLayout()->createBlock('Magento\Cms\Block\Adminhtml\Wysiwyg\Images\Tree')
                     ->getTreeJson()
             );
         } catch (\Exception $e) {
@@ -100,8 +101,8 @@ class Images extends \Magento\Backend\Controller\Adminhtml\Action
     {
         try {
             $this->_initAction()->_saveSessionCurrentPath();
-            $this->loadLayout('empty');
-            $this->renderLayout();
+            $this->_view->loadLayout('empty');
+            $this->_view->renderLayout();
         } catch (\Exception $e) {
             $result = array('error' => true, 'message' => $e->getMessage());
             $this->getResponse()->setBody($this->_objectManager->get('Magento\Core\Helper\Data')->jsonEncode($result));
diff --git a/app/code/Magento/Cms/Controller/Index.php b/app/code/Magento/Cms/Controller/Index.php
index a6f6da460ce..dd639d4fd4b 100644
--- a/app/code/Magento/Cms/Controller/Index.php
+++ b/app/code/Magento/Cms/Controller/Index.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+class Index extends \Magento\App\Action\Action
 {
     /**
      * Renders CMS Home page
@@ -60,25 +60,8 @@ class Index extends \Magento\Core\Controller\Front\Action
         $this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
         $this->getResponse()->setHeader('Status','404 File not found');
 
-        $this->loadLayout();
-        $this->renderLayout();
-    }
-
-    /**
-     * Render CMS 404 Not found page
-     *
-     * @param string $coreRoute
-     */
-    public function noRouteAction($coreRoute = null)
-    {
-        $this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
-        $this->getResponse()->setHeader('Status','404 File not found');
-
-        $pageId = $this->_objectManager->get('Magento\Core\Model\Store\Config')
-            ->getConfig(\Magento\Cms\Helper\Page::XML_PATH_NO_ROUTE_PAGE);
-        if (!$this->_objectManager->get('Magento\Cms\Helper\Page')->renderPage($this, $pageId)) {
-            $this->_forward('defaultNoRoute');
-        }
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -91,8 +74,8 @@ class Index extends \Magento\Core\Controller\Front\Action
         $this->getResponse()->setHeader('HTTP/1.1','404 Not Found');
         $this->getResponse()->setHeader('Status','404 File not found');
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -115,7 +98,7 @@ class Index extends \Magento\Core\Controller\Front\Action
      */
     public function defaultNoCookiesAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Cms/Controller/Noroute.php b/app/code/Magento/Cms/Controller/Noroute.php
new file mode 100644
index 00000000000..9f28cd4ff91
--- /dev/null
+++ b/app/code/Magento/Cms/Controller/Noroute.php
@@ -0,0 +1,43 @@
+<?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\Cms\Controller;
+
+class Noroute extends \Magento\App\Action\Action
+{
+    /**
+     * Render CMS 404 Not found page
+     */
+    public function indexAction()
+    {
+        $this->getResponse()->setHeader('HTTP/1.1', '404 Not Found');
+        $this->getResponse()->setHeader('Status', '404 File not found');
+
+        $pageId = $this->_objectManager->get('Magento\Core\Model\Store\Config')
+            ->getConfig(\Magento\Cms\Helper\Page::XML_PATH_NO_ROUTE_PAGE);
+        if (!$this->_objectManager->get('Magento\Cms\Helper\Page')->renderPage($this, $pageId)) {
+            $this->_forward('defaultNoRoute');
+        }
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Cms/Controller/Page.php b/app/code/Magento/Cms/Controller/Page.php
index a4baf7f31b9..275d4a7f6f0 100644
--- a/app/code/Magento/Cms/Controller/Page.php
+++ b/app/code/Magento/Cms/Controller/Page.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Controller;
 
-class Page extends \Magento\Core\Controller\Front\Action
+class Page extends \Magento\App\Action\Action
 {
     /**
      * View CMS page action
@@ -45,7 +45,7 @@ class Page extends \Magento\Core\Controller\Front\Action
         $pageId = $this->getRequest()
             ->getParam('page_id', $this->getRequest()->getParam('id', false));
         if (!$this->_objectManager->get('Magento\Cms\Helper\Page')->renderPage($this, $pageId)) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 }
diff --git a/app/code/Magento/Cms/Helper/Data.php b/app/code/Magento/Cms/Helper/Data.php
index 9d97c200593..adc465f822b 100644
--- a/app/code/Magento/Cms/Helper/Data.php
+++ b/app/code/Magento/Cms/Helper/Data.php
@@ -25,6 +25,6 @@
  */
 namespace Magento\Cms\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Cms/Helper/Page.php b/app/code/Magento/Cms/Helper/Page.php
index 1961a2d978e..18a94685167 100644
--- a/app/code/Magento/Cms/Helper/Page.php
+++ b/app/code/Magento/Cms/Helper/Page.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Helper;
 
-class Page extends \Magento\Core\Helper\AbstractHelper
+class Page extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_NO_ROUTE_PAGE        = 'web/default/cms_no_route';
     const XML_PATH_NO_COOKIES_PAGE      = 'web/default/cms_no_cookies';
@@ -47,13 +47,6 @@ class Page extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_pageLayout;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Design package instance
      *
@@ -93,52 +86,44 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     protected $_pageFactory;
 
     /**
-     * Url
-     *
-     * @var \Magento\UrlInterface
+     * @var \Magento\Escaper
      */
-    protected $_url;
+    protected $_escaper;
 
     /**
-     * @var \Magento\Escaper
+     * @var \Magento\App\ViewInterface
      */
-    protected $_escaper;
+    protected $_view;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Session\Pool $sessionFactory
      * @param \Magento\Cms\Model\Page $page
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Page\Helper\Layout $pageLayout
      * @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
      * @param \Magento\Escaper $escaper
+     * @param \Magento\App\ViewInterface $view
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Session\Pool $sessionFactory,
         \Magento\Cms\Model\Page $page,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Page\Helper\Layout $pageLayout,
         \Magento\View\DesignInterface $design,
-        \Magento\UrlInterface $url,
         \Magento\Cms\Model\PageFactory $pageFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Escaper $escaper
+        \Magento\Escaper $escaper,
+        \Magento\App\ViewInterface $view
     ) {
         $this->_sessionPool = $sessionFactory;
-        // used singleton (instead factory) because there exist dependencies on \Magento\Cms\Helper\Page
+        $this->_view = $view;
         $this->_page = $page;
-        $this->_eventManager = $eventManager;
         $this->_pageLayout = $pageLayout;
         $this->_design = $design;
-        $this->_url = $url;
         $this->_pageFactory = $pageFactory;
         $this->_storeManager = $storeManager;
         $this->_locale = $locale;
@@ -151,11 +136,11 @@ class Page extends \Magento\Core\Helper\AbstractHelper
      *
      * Call from controller action
      *
-     * @param \Magento\Core\Controller\Front\Action $action
+     * @param \Magento\App\Action\Action $action
      * @param integer $pageId
      * @return boolean
      */
-    public function renderPage(\Magento\Core\Controller\Front\Action $action, $pageId = null)
+    public function renderPage(\Magento\App\Action\Action $action, $pageId = null)
     {
         return $this->_renderPage($action, $pageId);
     }
@@ -163,17 +148,17 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     /**
      * Renders CMS page
      *
-     * @param \Magento\Core\Controller\Front\Action|\Magento\Core\Controller\Varien\Action $action
+     * @param \Magento\App\Action\Action|\Magento\App\Action\Action $action
      * @param integer $pageId
      * @param bool $renderLayout
      * @return boolean
      */
-    protected function _renderPage(\Magento\Core\Controller\Varien\Action  $action, $pageId = null, $renderLayout = true)
+    protected function _renderPage(\Magento\App\Action\Action  $action, $pageId = null, $renderLayout = true)
     {
         if (!is_null($pageId) && $pageId!==$this->_page->getId()) {
-            $delimeterPosition = strrpos($pageId, '|');
-            if ($delimeterPosition) {
-                $pageId = substr($pageId, 0, $delimeterPosition);
+            $delimiterPosition = strrpos($pageId, '|');
+            if ($delimiterPosition) {
+                $pageId = substr($pageId, 0, $delimiterPosition);
             }
 
             $this->_page->setStoreId($this->_storeManager->getStore()->getId());
@@ -194,10 +179,10 @@ class Page extends \Magento\Core\Helper\AbstractHelper
                 $this->_design->setDesignTheme($this->_page->getCustomTheme());
             }
         }
-        $action->getLayout()->getUpdate()->addHandle('default')->addHandle('cms_page_view');
-        $action->addPageLayoutHandles(array('id' => $this->_page->getIdentifier()));
+        $this->_view->getLayout()->getUpdate()->addHandle('default')->addHandle('cms_page_view');
+        $this->_view->addPageLayoutHandles(array('id' => $this->_page->getIdentifier()));
 
-        $action->addActionLayoutHandles();
+        $this->_view->addActionLayoutHandles();
         if ($this->_page->getRootTemplate()) {
             $handle = ($this->_page->getCustomRootTemplate()
                         && $this->_page->getCustomRootTemplate() != 'empty'
@@ -210,15 +195,15 @@ class Page extends \Magento\Core\Helper\AbstractHelper
             array('page' => $this->_page, 'controller_action' => $action)
         );
 
-        $action->loadLayoutUpdates();
+        $this->_view->loadLayoutUpdates();
         $layoutUpdate = ($this->_page->getCustomLayoutUpdateXml() && $inRange)
             ? $this->_page->getCustomLayoutUpdateXml() : $this->_page->getLayoutUpdateXml();
         if (!empty($layoutUpdate)) {
-            $action->getLayout()->getUpdate()->addUpdate($layoutUpdate);
+            $this->_view->getLayout()->getUpdate()->addUpdate($layoutUpdate);
         }
-        $action->generateLayoutXml()->generateLayoutBlocks();
+        $this->_view->generateLayoutXml()->generateLayoutBlocks();
 
-        $contentHeadingBlock = $action->getLayout()->getBlock('page_content_heading');
+        $contentHeadingBlock = $this->_view->getLayout()->getBlock('page_content_heading');
         if ($contentHeadingBlock) {
             $contentHeading = $this->_escaper->escapeHtml($this->_page->getContentHeading());
             $contentHeadingBlock->setContentHeading($contentHeading);
@@ -229,7 +214,7 @@ class Page extends \Magento\Core\Helper\AbstractHelper
         }
 
         /* @TODO: Move catalog and checkout storage types to appropriate modules */
-        $messageBlock = $action->getLayout()->getMessagesBlock();
+        $messageBlock = $this->_view->getLayout()->getMessagesBlock();
         $sessions = array(
             'Magento\Catalog\Model\Session',
             'Magento\Checkout\Model\Session',
@@ -244,7 +229,7 @@ class Page extends \Magento\Core\Helper\AbstractHelper
         }
 
         if ($renderLayout) {
-            $action->renderLayout();
+            $this->_view->renderLayout();
         }
 
         return true;
@@ -255,12 +240,12 @@ class Page extends \Magento\Core\Helper\AbstractHelper
      * Allows to use also backend action as first parameter.
      * Also takes third parameter which allows not run renderLayout method.
      *
-     * @param \Magento\Core\Controller\Varien\Action $action
+     * @param \Magento\App\Action\Action $action
      * @param $pageId
      * @param $renderLayout
      * @return bool
      */
-    public function renderPageExtended(\Magento\Core\Controller\Varien\Action $action, $pageId = null, $renderLayout = true)
+    public function renderPageExtended(\Magento\App\Action\Action $action, $pageId = null, $renderLayout = true)
     {
         return $this->_renderPage($action, $pageId, $renderLayout);
     }
@@ -286,6 +271,6 @@ class Page extends \Magento\Core\Helper\AbstractHelper
             return null;
         }
 
-        return $this->_url->getUrl(null, array('_direct' => $page->getIdentifier()));
+        return $this->_urlBuilder->getUrl(null, array('_direct' => $page->getIdentifier()));
     }
 }
diff --git a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
index 8abb1516f9c..8739d10493e 100644
--- a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
+++ b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Cms\Helper\Wysiwyg;
 
-class Images extends \Magento\Core\Helper\AbstractHelper
+class Images extends \Magento\App\Helper\AbstractHelper
 {
 
     /**
@@ -70,13 +70,6 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_backendData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Store manager
      *
@@ -92,10 +85,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     protected $_dir;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Backend\Helper\Data $backendData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Filesystem $filesystem
@@ -103,8 +93,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\App\Dir $dir
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\App\Helper\Context $context,
         \Magento\Backend\Helper\Data $backendData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Filesystem $filesystem,
@@ -112,7 +101,6 @@ class Images extends \Magento\Core\Helper\AbstractHelper
         \Magento\App\Dir $dir
     ) {
         parent::__construct($context);
-        $this->_eventManager = $eventManager;
         $this->_backendData = $backendData;
         $this->_coreData = $coreData;
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Cms/Model/Observer.php b/app/code/Magento/Cms/Model/Observer.php
index 4e975cf1ca1..2cba4c75587 100644
--- a/app/code/Magento/Cms/Model/Observer.php
+++ b/app/code/Magento/Cms/Model/Observer.php
@@ -74,7 +74,7 @@ class Observer
             ->setLoaded(true)
             ->setForwardModule('cms')
             ->setForwardController('index')
-            ->setForwardAction('noRoute');
+            ->setForwardAction('noroute');
         return $this;
     }
 
diff --git a/app/code/Magento/Cms/Model/Page.php b/app/code/Magento/Cms/Model/Page.php
index 50de0f72df0..dd3af5fb205 100644
--- a/app/code/Magento/Cms/Model/Page.php
+++ b/app/code/Magento/Cms/Model/Page.php
@@ -91,33 +91,6 @@ class Page extends \Magento\Core\Model\AbstractModel
      */
     protected $_eventPrefix = 'cms_page';
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
-    /**
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_eventManager = $eventManager;
-        parent::__construct($context, $registry, $resource, $resourceCollection, $data);
-    }
-
     /**
      * Initialize resource model
      *
diff --git a/app/code/Magento/Cms/Model/Template/Filter.php b/app/code/Magento/Cms/Model/Template/Filter.php
index 57ec0e67992..43463ce941b 100644
--- a/app/code/Magento/Cms/Model/Template/Filter.php
+++ b/app/code/Magento/Cms/Model/Template/Filter.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Cms\Model\Template;
 
-class Filter extends \Magento\Core\Model\Email\Template\Filter
+class Filter extends \Magento\Email\Model\Template\Filter
 {
     /**
      * Whether to allow SID in store directive: AUTO
diff --git a/app/code/Magento/Cms/etc/config.xml b/app/code/Magento/Cms/etc/config.xml
index 7e56549a08a..09dd511c071 100644
--- a/app/code/Magento/Cms/etc/config.xml
+++ b/app/code/Magento/Cms/etc/config.xml
@@ -33,7 +33,7 @@
                 <cms_no_route>no-route</cms_no_route>
                 <cms_no_cookies>enable-cookies</cms_no_cookies>
                 <front>cms</front>
-                <no_route>cms/index/noRoute</no_route>
+                <no_route>cms/noroute/index</no_route>
                 <show_cms_breadcrumbs>1</show_cms_breadcrumbs>
             </default>
         </web>
diff --git a/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultindex.xml b/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultindex.xml
index 97933cab584..0c622876982 100644
--- a/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultindex.xml
+++ b/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultindex.xml
@@ -30,6 +30,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="default_home_page" template="Magento_Cms::default/home.phtml"/>
+        <block class="Magento\View\Block\Template" name="default_home_page" template="Magento_Cms::default/home.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultnoroute.xml b/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultnoroute.xml
index 60768622749..ea923101aa1 100644
--- a/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultnoroute.xml
+++ b/app/code/Magento/Cms/view/frontend/layout/cms_index_defaultnoroute.xml
@@ -30,6 +30,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="default_no_route" template="Magento_Cms::default/no-route.phtml"/>
+        <block class="Magento\View\Block\Template" name="default_no_route" template="Magento_Cms::default/no-route.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Cms/view/frontend/layout/cms_page_view.xml b/app/code/Magento/Cms/view/frontend/layout/cms_page_view.xml
index c2f6546fbf2..6876cd1901f 100644
--- a/app/code/Magento/Cms/view/frontend/layout/cms_page_view.xml
+++ b/app/code/Magento/Cms/view/frontend/layout/cms_page_view.xml
@@ -25,7 +25,7 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="page_content_heading" template="Magento_Cms::content_heading.phtml"/>
+        <block class="Magento\View\Block\Template" name="page_content_heading" template="Magento_Cms::content_heading.phtml"/>
         <container name="cms.wrapper" label="CMS Content Wrapper" htmlTag="div" htmlClass="std">
             <block class="Magento\Cms\Block\Page" name="cms_page"/>
         </container>
diff --git a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/AbstractTab.php b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/AbstractTab.php
index ba6a666aaa7..f5899bb18f1 100644
--- a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/AbstractTab.php
+++ b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/AbstractTab.php
@@ -52,23 +52,23 @@ abstract class AbstractTab
      */
     protected $_addFileDepButtonHtml;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Connect\Model\Session $session
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Connect\Model\Session $session
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Connect\Model\Session $session,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Connect\Model\Session $session,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->setData($session->getCustomExtensionPackageFormData());
     }
 
diff --git a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Contents.php b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Contents.php
index 642f27dd1a3..70b67a67f91 100644
--- a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Contents.php
+++ b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Contents.php
@@ -43,26 +43,26 @@ class Contents
      */
     protected $_extensionFactory;
 
-    /**
-     * @param \Magento\Connect\Model\ExtensionFactory $extensionFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Connect\Model\Session $session
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Connect\Model\Session $session
+     * @param \Magento\Connect\Model\ExtensionFactory $extensionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Connect\Model\ExtensionFactory $extensionFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Connect\Model\Session $session,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Connect\Model\Session $session,
+        \Magento\Connect\Model\ExtensionFactory $extensionFactory,
+        array $data = array()
+    ) {
         $this->_extensionFactory = $extensionFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $session, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $session, $data);
     }
 
     /**
diff --git a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Grid.php b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Grid.php
index 1a69b01315d..f97d91d72c8 100644
--- a/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Grid.php
+++ b/app/code/Magento/Connect/Block/Adminhtml/Extension/Custom/Edit/Tab/Grid.php
@@ -42,24 +42,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Connect\Model\Extension\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Connect\Model\Extension\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Connect\Model\Extension\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Connect\Model\Extension\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Connect/Controller/Adminhtml/Extension/Custom.php b/app/code/Magento/Connect/Controller/Adminhtml/Extension/Custom.php
index da99cdca2f2..be4be85923a 100644
--- a/app/code/Magento/Connect/Controller/Adminhtml/Extension/Custom.php
+++ b/app/code/Magento/Connect/Controller/Adminhtml/Extension/Custom.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Connect\Controller\Adminhtml\Extension;
 
-class Custom extends \Magento\Backend\Controller\Adminhtml\Action
+class Custom extends \Magento\Backend\App\Action
 {
     /**
      * Redirect to edit Extension Package action
@@ -41,7 +41,7 @@ class Custom extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Package Extensions'));
+        $this->_title->add(__('Package Extensions'));
 
         $this->_forward('edit');
     }
@@ -52,11 +52,11 @@ class Custom extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this ->_title(__('Extension'));
+        $this ->_title->add(__('Extension'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Connect::system_extensions_custom');
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -175,8 +175,8 @@ class Custom extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function loadtabAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -185,8 +185,8 @@ class Custom extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Connect/Controller/Adminhtml/Extension/Local.php b/app/code/Magento/Connect/Controller/Adminhtml/Extension/Local.php
index 6d4448187b2..c69126b9ff2 100644
--- a/app/code/Magento/Connect/Controller/Adminhtml/Extension/Local.php
+++ b/app/code/Magento/Connect/Controller/Adminhtml/Extension/Local.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Connect\Controller\Adminhtml\Extension;
 
-class Local extends \Magento\Backend\Controller\Adminhtml\Action
+class Local extends \Magento\Backend\App\Action
 {
     /**
      * Redirect to Magento Connect
diff --git a/app/code/Magento/Connect/Helper/Data.php b/app/code/Magento/Connect/Helper/Data.php
index 1c82d5f68bf..7438729beca 100644
--- a/app/code/Magento/Connect/Helper/Data.php
+++ b/app/code/Magento/Connect/Helper/Data.php
@@ -48,9 +48,9 @@ class Data extends \Magento\Core\Helper\Data
     protected $_xmlConverter;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Filesystem $filesystem
@@ -59,9 +59,9 @@ class Data extends \Magento\Core\Helper\Data
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Connect/Model/Session.php b/app/code/Magento/Connect/Model/Session.php
index ba7257092c2..738c9f5593e 100644
--- a/app/code/Magento/Connect/Model/Session.php
+++ b/app/code/Magento/Connect/Model/Session.php
@@ -80,9 +80,9 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
                     ) {
                         continue;
                     }
-                    array_push($data['authors']['name'], $data['maintainers']['name'][$i]);
-                    array_push($data['authors']['user'], $data['maintainers']['handle'][$i]);
-                    array_push($data['authors']['email'], $data['maintainers']['email'][$i]);
+                    $data['authors']['name'][] = $data['maintainers']['name'][$i];
+                    $data['authors']['user'][] = $data['maintainers']['handle'][$i];
+                    $data['authors']['email'][] = $data['maintainers']['email'][$i];
                 }
                 // Convert channel from previous version for entire package
                 $helper = $this->_connectData;
diff --git a/app/code/Magento/Contacts/Controller/Index.php b/app/code/Magento/Contacts/Controller/Index.php
index 0ed36cdfbd1..d3037b115fa 100644
--- a/app/code/Magento/Contacts/Controller/Index.php
+++ b/app/code/Magento/Contacts/Controller/Index.php
@@ -33,7 +33,10 @@
  */
 namespace Magento\Contacts\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Index extends \Magento\App\Action\Action
 {
     const XML_PATH_EMAIL_RECIPIENT  = 'contacts/email/recipient_email';
     const XML_PATH_EMAIL_SENDER     = 'contacts/email/sender_email_identity';
@@ -41,15 +44,18 @@ class Index extends \Magento\Core\Controller\Front\Action
     const XML_PATH_ENABLED          = 'contacts/contacts/enabled';
 
     /**
-     * Check is page enabled
+     * Dispatch request
+     *
+     * @param RequestInterface $request
+     * @return mixed
+     * @throws \Magento\App\Action\NotFoundException
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         if (!$this->_objectManager->get('Magento\Core\Model\Store\Config')->getConfigFlag(self::XML_PATH_ENABLED)) {
-            $this->norouteAction();
+            throw new NotFoundException();
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -57,13 +63,13 @@ class Index extends \Magento\Core\Controller\Front\Action
      */
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->getLayout()->getBlock('contactForm')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('contactForm')
             ->setFormAction($this->_objectManager->create('Magento\Core\Model\Url')->getUrl('*/*/post'));
 
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->renderLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -107,8 +113,8 @@ class Index extends \Magento\Core\Controller\Front\Action
                 if ($error) {
                     throw new \Exception();
                 }
-                $mailTemplate = $this->_objectManager->create('Magento\Core\Model\Email\Template');
-                /* @var $mailTemplate \Magento\Core\Model\Email\Template */
+                $mailTemplate = $this->_objectManager->create('Magento\Email\Model\Template');
+                /* @var $mailTemplate \Magento\Email\Model\Template */
                 $mailTemplate->setDesignConfig(array(
                     'area' => \Magento\Core\Model\App\Area::AREA_FRONTEND,
                     'store' => $this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')
diff --git a/app/code/Magento/Contacts/Helper/Data.php b/app/code/Magento/Contacts/Helper/Data.php
index a3fd38b7911..66da1d95128 100644
--- a/app/code/Magento/Contacts/Helper/Data.php
+++ b/app/code/Magento/Contacts/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Contacts\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
     const XML_PATH_ENABLED   = 'contacts/contacts/enabled';
@@ -53,12 +53,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Session $customerSession
     ) {
diff --git a/app/code/Magento/Contacts/view/frontend/layout/contacts_index_index.xml b/app/code/Magento/Contacts/view/frontend/layout/contacts_index_index.xml
index 6079d7243cc..5c9374a609d 100644
--- a/app/code/Magento/Contacts/view/frontend/layout/contacts_index_index.xml
+++ b/app/code/Magento/Contacts/view/frontend/layout/contacts_index_index.xml
@@ -38,7 +38,7 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="contactForm" template="Magento_Contacts::form.phtml">
+        <block class="Magento\View\Block\Template" name="contactForm" template="Magento_Contacts::form.phtml">
             <container name="form.additional.info" label="Form Additional Info"/>
         </block>
     </referenceContainer>
diff --git a/app/code/Magento/Core/App/Action/FormKeyValidator.php b/app/code/Magento/Core/App/Action/FormKeyValidator.php
new file mode 100644
index 00000000000..b9735512382
--- /dev/null
+++ b/app/code/Magento/Core/App/Action/FormKeyValidator.php
@@ -0,0 +1,56 @@
+<?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\Action;
+
+class FormKeyValidator
+{
+    /**
+     * @var \Magento\Core\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @param \Magento\Core\Model\Session $session
+     */
+    public function __construct(\Magento\Core\Model\Session $session)
+    {
+        $this->_session = $session;
+    }
+
+    /**
+     * Validate form key
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return bool
+     */
+    public function validate(\Magento\App\RequestInterface $request)
+    {
+        $formKey = $request->getParam('form_key', null);
+        if (!$formKey || $formKey != $this->_session->getFormKey()) {
+            return false;
+        }
+        return true;
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/Action/Plugin/Design.php b/app/code/Magento/Core/App/Action/Plugin/Design.php
new file mode 100644
index 00000000000..714c9c4c05f
--- /dev/null
+++ b/app/code/Magento/Core/App/Action/Plugin/Design.php
@@ -0,0 +1,54 @@
+<?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\Action\Plugin;
+
+class Design
+{
+    /**
+     * @var \Magento\Core\Model\DesignLoader
+     */
+    protected $_designLoader;
+
+    /**
+     * @param \Magento\Core\Model\DesignLoader $designLoader
+     */
+    public function __construct(\Magento\Core\Model\DesignLoader $designLoader)
+    {
+        $this->_designLoader = $designLoader;
+    }
+
+    /**
+     * Initialize design
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $this->_designLoader->load();
+        return $invocationChain->proceed($arguments);
+    }
+}
diff --git a/app/code/Magento/Core/App/Action/Plugin/Install.php b/app/code/Magento/Core/App/Action/Plugin/Install.php
new file mode 100644
index 00000000000..f70abd41b31
--- /dev/null
+++ b/app/code/Magento/Core/App/Action/Plugin/Install.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\Core\App\Action\Plugin;
+
+
+class Install
+{
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_url;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\ResponseInterface $response
+     * @param \Magento\Core\Model\Url $url
+     * @param \Magento\App\ActionFlag $actionFlag
+     */
+    public function __construct(
+        \Magento\App\State $appState,
+        \Magento\App\ResponseInterface $response,
+        \Magento\Core\Model\Url $url,
+        \Magento\App\ActionFlag $actionFlag
+    ) {
+        $this->_appState = $appState;
+        $this->_response = $response;
+        $this->_url = $url;
+        $this->_actionFlag = $actionFlag;
+    }
+
+    /**
+     * Dispatch request
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        if (!$this->_appState->isInstalled()) {
+            $this->_actionFlag->set('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
+            $this->_response->setRedirect(
+                $this->_url->getUrl('install')
+            );
+            return;
+        }
+        $invocationChain->proceed($arguments);
+    }
+}
diff --git a/app/code/Magento/Core/Controller/Front/Action.php b/app/code/Magento/Core/App/Action/Plugin/LastUrl.php
similarity index 57%
rename from app/code/Magento/Core/Controller/Front/Action.php
rename to app/code/Magento/Core/App/Action/Plugin/LastUrl.php
index 6555ad32388..35c565e68cf 100644
--- a/app/code/Magento/Core/Controller/Front/Action.php
+++ b/app/code/Magento/Core/App/Action/Plugin/LastUrl.php
@@ -18,8 +18,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)
  */
@@ -27,15 +25,25 @@
 /**
  * Generic frontend controller
  */
-namespace Magento\Core\Controller\Front;
+namespace Magento\Core\App\Action\Plugin;
 
-class Action extends \Magento\Core\Controller\Varien\Action
+class LastUrl
 {
     /**
      * Session namespace to refer in other places
      */
     const SESSION_NAMESPACE = 'frontend';
 
+    /**
+     * @var \Magento\Core\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_url;
+
     /**
      * Namespace for session.
      *
@@ -44,19 +52,26 @@ class Action extends \Magento\Core\Controller\Varien\Action
     protected $_sessionNamespace = self::SESSION_NAMESPACE;
 
     /**
-     * Remember the last visited url in the session
+     * @param \Magento\Core\Model\Session $session
+     * @param \Magento\Core\Model\Url $url
+     */
+    public function __construct(\Magento\Core\Model\Session $session, \Magento\Core\Model\Url $url)
+    {
+        $this->_session = $session;
+        $this->_url = $url;
+    }
+
+    /**
+     * Process request
      *
-     * @return \Magento\Core\Controller\Front\Action
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
      */
-    public function postDispatch()
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
     {
-        parent::postDispatch();
-        if (!$this->getFlag('', self::FLAG_NO_START_SESSION )) {
-            $this->_objectManager->get('Magento\Core\Model\Session')
-                ->setLastUrl(
-                    $this->_objectManager->create('Magento\Core\Model\Url')->getUrl('*/*/*', array('_current' => true))
-                );
-        }
-        return $this;
+        $result = $invocationChain->proceed($arguments);
+        $this->_session->setLastUrl($this->_url->getUrl('*/*/*', array('_current' => true)));
+        return $result;
     }
 }
diff --git a/app/code/Magento/Core/App/Action/Plugin/Session.php b/app/code/Magento/Core/App/Action/Plugin/Session.php
new file mode 100644
index 00000000000..3705d66a85e
--- /dev/null
+++ b/app/code/Magento/Core/App/Action/Plugin/Session.php
@@ -0,0 +1,144 @@
+<?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\Action\Plugin;
+
+class Session
+{
+    /**
+     * @var \Magento\Core\Model\Session
+     */
+    protected $_session;
+
+    /**
+     * @var \Magento\Core\Model\Cookie
+     */
+    protected $_cookie;
+
+    /**
+     * @var array
+     */
+    protected $_cookieCheckActions;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_url;
+
+    /**
+     * @var string
+     */
+    protected $_sessionNamespace;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_flag;
+
+    /**
+     * @var \Magento\Core\Model\Store\Config
+     */
+    protected $_storeConfig;
+
+    /**
+     * @param \Magento\Core\Model\Session $session
+     * @param \Magento\Core\Model\Cookie $cookie
+     * @param \Magento\Core\Model\Url $url
+     * @param \Magento\App\ActionFlag $flag
+     * @param \Magento\Core\Model\Store\Config $storeConfig
+     * @param string $sessionNamespace
+     * @param array $cookieCheckActions
+     */
+    public function __construct(
+        \Magento\App\ActionFlag $flag,
+        \Magento\Core\Model\Session $session,
+        \Magento\Core\Model\Cookie $cookie,
+        \Magento\Core\Model\Url $url,
+        \Magento\Core\Model\Store\Config $storeConfig,
+        $sessionNamespace = '',
+        array $cookieCheckActions = array()
+    ) {
+        $this->_session = $session;
+        $this->_cookie = $cookie;
+        $this->_cookieCheckActions = $cookieCheckActions;
+        $this->_url = $url;
+        $this->_sessionNamespace = $sessionNamespace;
+        $this->_flag = $flag;
+        $this->_storeConfig = $storeConfig;
+    }
+
+    /**
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return array
+     */
+    public function aroundDispatch(array $arguments = array(), \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $request = $arguments[0];
+        $checkCookie = in_array($request->getActionName(), $this->_cookieCheckActions)
+            && !$request->getParam('nocookie', false);
+
+        $cookies = $this->_cookie->get();
+        /** @var $session \Magento\Core\Model\Session */
+        $session = $this->_session->start();
+
+        if (empty($cookies)) {
+            if ($session->getCookieShouldBeReceived()) {
+                $session->unsCookieShouldBeReceived();
+                $session->setSkipSessionIdFlag(true);
+                if ($this->_storeConfig->getConfig('web/browser_capabilities/cookies')) {
+                    $this->_forward($request);
+                    return null;
+                }
+            } elseif ($checkCookie) {
+                if (isset($_GET[$session->getSessionIdQueryParam()])
+                    && $this->_url->getUseSession()
+                    && $this->_sessionNamespace != \Magento\Backend\App\AbstractAction::SESSION_NAMESPACE
+                ) {
+                    $session->setCookieShouldBeReceived(true);
+                } else {
+                    $this->_forward($request);
+                    return null;
+                }
+            }
+        }
+        return $invocationChain->proceed($arguments);
+    }
+
+    /**
+     * Forward to noCookies action
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return \Magento\App\RequestInterface
+     */
+    protected function _forward(\Magento\App\RequestInterface $request)
+    {
+        $request->initForwared();
+        $request->setActionName('noCookies');
+        $request->setControllerName('index');
+        $request->setModuleName('core');
+        $request->setDispatched(false);
+        return $request;
+    }
+}
diff --git a/app/code/Magento/Core/App/Action/Plugin/StoreCheck.php b/app/code/Magento/Core/App/Action/Plugin/StoreCheck.php
new file mode 100644
index 00000000000..62ae90dac0b
--- /dev/null
+++ b/app/code/Magento/Core/App/Action/Plugin/StoreCheck.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\Core\App\Action\Plugin;
+
+
+class StoreCheck
+{
+    /**
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     */
+    public function __construct(
+        \Magento\Core\Model\StoreManagerInterface $storeManager
+    ) {
+        $this->_storeManager = $storeManager;
+    }
+
+    /**
+     * Dispatch request
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        if (!$this->_storeManager->getStore()->getIsActive())
+        {
+            $this->_storeManager->throwStoreException();
+        }
+        return $invocationChain->proceed($arguments);
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/DispatchExceptionHandler.php b/app/code/Magento/Core/App/FrontController/Plugin/DispatchExceptionHandler.php
index 378994adff2..697085bde97 100644
--- a/app/code/Magento/Core/App/FrontController/Plugin/DispatchExceptionHandler.php
+++ b/app/code/Magento/Core/App/FrontController/Plugin/DispatchExceptionHandler.php
@@ -31,7 +31,7 @@ use Magento\Core\Model\StoreManager,
 class DispatchExceptionHandler
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
index 8ea7e827e02..5b21f634a8e 100644
--- a/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
+++ b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
@@ -46,19 +46,19 @@ class RequestPreprocessor
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Url $url
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\App\ResponseFactory $responseFactory
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\App\State $appState,
         \Magento\Core\Model\Url $url,
         \Magento\Core\Model\Store\Config $storeConfig,
diff --git a/app/code/Magento/Core/App/Request/PathInfoProcessor.php b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
index 60997635cde..2c802b8bea5 100644
--- a/app/code/Magento/Core/App/Request/PathInfoProcessor.php
+++ b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
@@ -26,14 +26,14 @@ namespace Magento\Core\App\Request;
 class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterface
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     private $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
-    public function __construct(\Magento\Core\Model\StoreManager $storeManager)
+    public function __construct(\Magento\Core\Model\StoreManagerInterface $storeManager)
     {
         $this->_storeManager = $storeManager;
     }
@@ -57,7 +57,7 @@ class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterfa
                 $pathInfo = '/' . (isset($pathParts[1]) ? $pathParts[1] : '');
                 return $pathInfo;
             } elseif (!empty($storeCode)) {
-                $request->setActionName('noRoute');
+                $request->setActionName('noroute');
                 return $pathInfo;
             }
             return $pathInfo;
diff --git a/app/code/Magento/Core/App/Response/Redirect.php b/app/code/Magento/Core/App/Response/Redirect.php
new file mode 100644
index 00000000000..b1631c6fa3d
--- /dev/null
+++ b/app/code/Magento/Core/App/Response/Redirect.php
@@ -0,0 +1,210 @@
+<?php
+/**
+ * Response redirector
+ *
+ * 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\Response;
+
+class Redirect implements \Magento\App\Response\RedirectInterface
+{
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @var \Magento\Encryption\UrlCoder
+     */
+    protected $_urlCoder;
+
+    /**
+     * @var \Magento\Core\Model\Session\AbstractSession
+     */
+    protected $_session;
+
+    /**
+     * @var bool
+     */
+    protected $_canUseSessionIdInParam;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_urlBuilder;
+
+    /**
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Encryption\UrlCoder $urlCoder
+     * @param \Magento\Core\Model\Session\AbstractSession $session
+     * @param \Magento\Core\Model\Url $urlBuilder
+     * @param bool $canUseSessionIdInParam
+     */
+    public function __construct(
+        \Magento\App\RequestInterface $request,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Encryption\UrlCoder $urlCoder,
+        \Magento\Core\Model\Session\AbstractSession $session,
+        \Magento\Core\Model\Url $urlBuilder,
+        $canUseSessionIdInParam = true
+    ) {
+        $this->_canUseSessionIdInParam = $canUseSessionIdInParam;
+        $this->_request = $request;
+        $this->_storeManager = $storeManager;
+        $this->_urlCoder = $urlCoder;
+        $this->_session = $session;
+        $this->_urlBuilder = $urlBuilder;
+    }
+
+    /**
+     * @return string
+     */
+    protected function _getUrl()
+    {
+        $refererUrl = $this->_request->getServer('HTTP_REFERER');
+        $url = (string)$this->_request->getParam(self::PARAM_NAME_REFERER_URL);
+        if ($url) {
+            $refererUrl = $url;
+        }
+        $url = $this->_request->getParam(\Magento\App\Action\Action::PARAM_NAME_BASE64_URL);
+        if ($url) {
+            $refererUrl = $this->_urlCoder->decode($url);
+        }
+        $url = $this->_request->getParam(\Magento\App\Action\Action::PARAM_NAME_URL_ENCODED);
+        if ($url) {
+            $refererUrl = $this->_urlCoder->decode($url);
+        }
+
+        if (!$this->_isUrlInternal($refererUrl)) {
+            $refererUrl = $this->_storeManager->getStore()->getBaseUrl();
+        }
+        return $refererUrl;
+    }
+
+    /**
+     * Identify referer url via all accepted methods (HTTP_REFERER, regular or base64-encoded request param)
+     *
+     * @return string
+     */
+    public function getRefererUrl()
+    {
+        return $this->_getUrl();
+    }
+
+    /**
+     * Set referer url for redirect in response
+     *
+     * @param   string $defaultUrl
+     * @return  \Magento\App\ActionInterface
+     */
+    public function getRedirectUrl($defaultUrl = null)
+    {
+        $refererUrl = $this->_getUrl();
+        if (empty($refererUrl)) {
+            $refererUrl = empty($defaultUrl)
+                ? $this->_storeManager->getStore()->getBaseUrl()
+                : $defaultUrl;
+        }
+        return $refererUrl;
+    }
+
+    /**
+     * Redirect to error page
+     *
+     * @param string $defaultUrl
+     * @return  string
+     */
+    public function error($defaultUrl)
+    {
+        $errorUrl = $this->_request->getParam(self::PARAM_NAME_ERROR_URL);
+        if (empty($errorUrl)) {
+            $errorUrl = $defaultUrl;
+        }
+        if (!$this->_isUrlInternal($errorUrl)) {
+            $errorUrl = $this->_storeManager->getStore()->getBaseUrl();
+        }
+        return $errorUrl;
+    }
+
+    /**
+     * Redirect to success page
+     *
+     * @param string $defaultUrl
+     * @return string
+     */
+    public function success($defaultUrl)
+    {
+        $successUrl = $this->_request->getParam(self::PARAM_NAME_SUCCESS_URL);
+        if (empty($successUrl)) {
+            $successUrl = $defaultUrl;
+        }
+        if (!$this->_isUrlInternal($successUrl)) {
+            $successUrl = $this->_storeManager->getStore()->getBaseUrl();
+        }
+        return $successUrl;
+    }
+
+    /**
+     * Set redirect into response
+     *
+     * @param \Magento\App\ResponseInterface $response
+     * @param string $path
+     * @param array $arguments
+     */
+    public function redirect(\Magento\App\ResponseInterface $response, $path, $arguments = array())
+    {
+        if ($this->_session->getCookieShouldBeReceived()
+            && $this->_urlBuilder->getUseSession()
+            && $this->_canUseSessionIdInParam
+        ) {
+            $arguments += array('_query' => array(
+                $this->_session->getSessionIdQueryParam() => $this->_session->getSessionId()
+            ));
+        }
+        $response->setRedirect($this->_urlBuilder->getUrl($path, $arguments));
+    }
+
+    /**
+     * Check whether URL is internal
+     *
+     * @param string $url
+     * @return bool
+     */
+    protected function _isUrlInternal($url)
+    {
+        if (strpos($url, 'http') !== false) {
+            $unsecure = (strpos($url, $this->_storeManager->getStore()->getBaseUrl()) === 0);
+            $secure = strpos(
+                    $url,
+                    $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_LINK, true)
+                ) === 0;
+            return $unsecure || $secure;
+        }
+        return false;
+    }
+}
diff --git a/app/code/Magento/Core/App/Router/Base.php b/app/code/Magento/Core/App/Router/Base.php
index 742c4168bdb..c95985b0e21 100644
--- a/app/code/Magento/Core/App/Router/Base.php
+++ b/app/code/Magento/Core/App/Router/Base.php
@@ -80,7 +80,7 @@ class Base extends \Magento\App\Router\AbstractRouter
     protected $_url;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -106,7 +106,7 @@ class Base extends \Magento\App\Router\AbstractRouter
      * @param \Magento\App\Route\ConfigInterface $routeConfig
      * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Url|\Magento\UrlInterface $url
-     * @param \Magento\Core\Model\StoreManager|\Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface|\Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
      * @param $routerId
@@ -140,7 +140,7 @@ class Base extends \Magento\App\Router\AbstractRouter
      * Match provided request and if matched - return corresponding controller
      *
      * @param \Magento\App\RequestInterface $request
-     * @return \Magento\Core\Controller\Front\Action|null
+     * @return \Magento\App\Action\Action|null
      */
     public function match(\Magento\App\RequestInterface $request)
     {
@@ -244,7 +244,7 @@ class Base extends \Magento\App\Router\AbstractRouter
      *
      * @param $currentModuleName
      * @param \Magento\App\RequestInterface $request
-     * @return \Magento\Core\Controller\Varien\Action|null
+     * @return \Magento\App\Action\Action|null
      */
     protected function _getNotFoundControllerInstance($currentModuleName, \Magento\App\RequestInterface $request)
     {
@@ -268,7 +268,7 @@ class Base extends \Magento\App\Router\AbstractRouter
      *
      * @param \Magento\App\RequestInterface $request
      * @param array $params
-     * @return \Magento\Core\Controller\Front\Action|null
+     * @return \Magento\App\Action\Action|null
      */
     protected function _matchController(\Magento\App\RequestInterface $request, array $params)
     {
diff --git a/app/code/Magento/Core/Block/Formkey.php b/app/code/Magento/Core/Block/Formkey.php
index 47090d27387..6e8e8464241 100644
--- a/app/code/Magento/Core/Block/Formkey.php
+++ b/app/code/Magento/Core/Block/Formkey.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Block;
 
-class Formkey extends \Magento\Core\Block\Template
+class Formkey extends \Magento\View\Block\Template
 {
     /**
      * Get form key
diff --git a/app/code/Magento/Core/Block/Store/Switcher.php b/app/code/Magento/Core/Block/Store/Switcher.php
index f3ea787049d..c93b913c5c0 100644
--- a/app/code/Magento/Core/Block/Store/Switcher.php
+++ b/app/code/Magento/Core/Block/Store/Switcher.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Block\Store;
 
-class Switcher extends \Magento\Core\Block\Template
+class Switcher extends \Magento\View\Block\Template
 {
     protected $_groups = array();
     protected $_stores = array();
@@ -54,30 +54,22 @@ class Switcher extends \Magento\Core\Block\Template
     protected $_storeGroupFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Store\GroupFactory $storeGroupFactory
      * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Store\GroupFactory $storeGroupFactory,
         \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         array $data = array()
     ) {
         $this->_storeGroupFactory = $storeGroupFactory;
         $this->_storeFactory = $storeFactory;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Core/Controller/Ajax.php b/app/code/Magento/Core/Controller/Ajax.php
index d84f0f91c63..6d6b8d63614 100644
--- a/app/code/Magento/Core/Controller/Ajax.php
+++ b/app/code/Magento/Core/Controller/Ajax.php
@@ -23,7 +23,7 @@
  */
 namespace Magento\Core\Controller;
 
-class Ajax extends \Magento\Core\Controller\Front\Action
+class Ajax extends \Magento\App\Action\Action
 {
     /**
      * Ajax action for inline translation
@@ -36,6 +36,6 @@ class Ajax extends \Magento\Core\Controller\Front\Action
         $translationHelper = $this->_objectManager->get('Magento\Core\Helper\Translate');
         $response = $translationHelper->apply($translationParams, $area);
         $this->getResponse()->setBody($response);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
     }
 }
diff --git a/app/code/Magento/Core/Controller/Index.php b/app/code/Magento/Core/Controller/Index.php
index 8eaa3ccd888..af5fa03247f 100644
--- a/app/code/Magento/Core/Controller/Index.php
+++ b/app/code/Magento/Core/Controller/Index.php
@@ -26,8 +26,8 @@
 
 namespace Magento\Core\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action {
-
+class Index extends \Magento\App\Action\Action
+{
     function indexAction()
     {
 
@@ -42,4 +42,28 @@ class Index extends \Magento\Core\Controller\Front\Action {
         $this->getResponse()->setHttpResponseCode(404);
         $this->getResponse()->setBody(__('Requested resource not found'));
     }
+
+    /**
+     * No cookies action
+     */
+    public function noCookiesAction()
+    {
+        $redirect = new \Magento\Object();
+        $this->_eventManager->dispatch('controller_action_nocookies', array(
+            'action' => $this,
+            'redirect' => $redirect
+        ));
+
+        $url = $redirect->getRedirectUrl();
+        if ($url) {
+            $this->getResponse()->setRedirect($url);
+        } elseif ($redirect->getRedirect()) {
+            $this->_redirect($redirect->getPath(), $redirect->getArguments());
+        } else {
+            $this->_view->loadLayout(array('default', 'noCookie'));
+            $this->_view->renderLayout();
+        }
+
+        $this->getRequest()->setDispatched(true);
+    }
 }
diff --git a/app/code/Magento/Core/Controller/Noroute.php b/app/code/Magento/Core/Controller/Noroute.php
new file mode 100644
index 00000000000..0177aea422c
--- /dev/null
+++ b/app/code/Magento/Core/Controller/Noroute.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Noroute application handler.
+ *
+ * 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\Controller;
+
+use Magento\App\Action\Action;
+
+class Noroute extends Action
+{
+    /**
+     * Noroute application handler
+     */
+    public function indexAction()
+    {
+        $status = $this->getRequest()->getParam('__status__');
+        if (!$status instanceof \Magento\Object) {
+            $status = new \Magento\Object();
+        }
+
+        $this->_eventManager->dispatch('controller_action_noroute', array('action' => $this, 'status' => $status));
+
+        if ($status->getLoaded() !== true || $status->getForwarded() === true) {
+            $this->_view->loadLayout(array('default', 'noroute'));
+            $this->_view->renderLayout();
+        } else {
+            $status->setForwarded(true);
+            $request = $this->getRequest();
+            $request->initForward();
+            $request->setParams(array('__status__' => $status));
+            $request->setControllerName($status->getForwardController());
+            $request->setModuleName($status->getForwardModule());
+            $request->setActionName($status->getForwardAction())
+                ->setDispatched(false);
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Controller/Varien/Action.php b/app/code/Magento/Core/Controller/Varien/Action.php
deleted file mode 100644
index dfcf474a3dd..00000000000
--- a/app/code/Magento/Core/Controller/Varien/Action.php
+++ /dev/null
@@ -1,1075 +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_Action class (formally)
- *
- * Allows dispatching before and after events for each controller action
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien;
-
-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';
-    const FLAG_NO_PRE_DISPATCH          = 'no-preDispatch';
-    const FLAG_NO_POST_DISPATCH         = 'no-postDispatch';
-    const FLAG_NO_START_SESSION         = 'no-startSession';
-    const FLAG_NO_DISPATCH_BLOCK_EVENT  = 'no-beforeGenerateLayoutBlocksDispatch';
-    const FLAG_NO_COOKIES_REDIRECT      = 'no-cookies-redirect';
-
-    const PARAM_NAME_SUCCESS_URL        = 'success_url';
-    const PARAM_NAME_ERROR_URL          = 'error_url';
-    const PARAM_NAME_REFERER_URL        = 'referer_url';
-    const PARAM_NAME_BASE64_URL         = 'r64';
-    const PARAM_NAME_URL_ENCODED        = 'uenc';
-
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * Real module name (like 'Magento_Module')
-     *
-     * @var string
-     */
-    protected $_realModuleName;
-
-    /**
-     * Action flags
-     *
-     * for example used to disable rendering default layout
-     *
-     * @var array
-     */
-    protected $_flags = array();
-
-    /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
-     */
-    protected $_cookieCheckActions = array();
-
-    /**
-     * Namespace for session.
-     * Should be defined for proper working session.
-     *
-     * @var string
-     */
-    protected $_sessionNamespace;
-
-    /**
-     * Whether layout is loaded
-     *
-     * @see self::loadLayout()
-     * @var bool
-     */
-    protected $_isLayoutLoaded = false;
-
-    /**
-     * Title parts to be rendered in the page head title
-     *
-     * @see self::_title()
-     * @var array
-     */
-    protected $_titles = array();
-
-    /**
-     * Whether the default title should be removed
-     *
-     * @see self::_title()
-     * @var bool
-     */
-    protected $_removeDefaultTitle = false;
-
-    /**
-     * @var \Magento\App\FrontController
-     */
-    protected $_frontController = null;
-
-    /**
-     * @var \Magento\View\LayoutInterface
-     */
-    protected $_layout;
-
-    /**
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
-    /**
-     * @var \Magento\HTTP\Authentication
-     */
-    protected $authentication;
-
-    /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
-     */
-    public function __construct(\Magento\Core\Controller\Varien\Action\Context $context)
-    {
-        parent::__construct($context->getRequest(), $context->getResponse());
-
-        $this->_objectManager   = $context->getObjectManager();
-        $this->_frontController = $context->getFrontController();
-        $this->_layout          = $context->getLayout();
-        $this->_eventManager    = $context->getEventManager();
-        $this->_frontController->setAction($this);
-        $this->authentication = $context->getAuthentication();
-
-        $this->_construct();
-    }
-
-    protected function _construct()
-    {
-    }
-
-    /**
-     * Check is controller method exist
-     *
-     * @param string $action
-     * @return bool
-     */
-    public function hasAction($action)
-    {
-        return method_exists($this, $this->getActionMethodName($action));
-    }
-
-    /**
-     * Retrieve flag value
-     *
-     * @param   string $action
-     * @param   string $flag
-     * @return  bool
-     */
-    public function getFlag($action, $flag = '')
-    {
-        if ('' === $action) {
-            $action = $this->getRequest()->getActionName();
-        }
-        if ('' === $flag) {
-            return $this->_flags;
-        } elseif (isset($this->_flags[$action][$flag])) {
-            return $this->_flags[$action][$flag];
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Setting flag value
-     *
-     * @param   string $action
-     * @param   string $flag
-     * @param   string $value
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    public function setFlag($action, $flag, $value)
-    {
-        if ('' === $action) {
-            $action = $this->getRequest()->getActionName();
-        }
-        $this->_flags[$action][$flag] = $value;
-        return $this;
-    }
-
-    /**
-     * Retrieve current layout object
-     *
-     * @return \Magento\View\LayoutInterface
-     */
-    public function getLayout()
-    {
-        /** @var \Magento\Config\ScopeInterface $configScope */
-        $configScope = $this->_objectManager->get('Magento\Config\ScopeInterface');
-        $this->_layout->setArea($configScope->getCurrentScope());
-        return $this->_layout;
-    }
-
-    /**
-     * Load layout by handles(s)
-     *
-     * @param   string|null|bool $handles
-     * @param   bool $generateBlocks
-     * @param   bool $generateXml
-     * @return  $this
-     * @throws  \RuntimeException
-     */
-    public function loadLayout($handles = null, $generateBlocks = true, $generateXml = true)
-    {
-        if ($this->_isLayoutLoaded) {
-            throw new \RuntimeException('Layout must be loaded only once.');
-        }
-        // if handles were specified in arguments load them first
-        if (false !== $handles && '' !== $handles) {
-            $this->getLayout()->getUpdate()->addHandle($handles ? $handles : 'default');
-        }
-
-        // add default layout handles for this action
-        $this->addActionLayoutHandles();
-
-        $this->loadLayoutUpdates();
-
-        if (!$generateXml) {
-            return $this;
-        }
-        $this->generateLayoutXml();
-
-        if (!$generateBlocks) {
-            return $this;
-        }
-        $this->generateLayoutBlocks();
-        $this->_isLayoutLoaded = true;
-
-        return $this;
-    }
-
-    /**
-     * Retrieve the default layout handle name for the current action
-     *
-     * @return string
-     */
-    public function getDefaultLayoutHandle()
-    {
-        return strtolower($this->getFullActionName());
-    }
-
-    /**
-     * Add layout handle by full controller action name
-     *
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    public function addActionLayoutHandles()
-    {
-        if (!$this->addPageLayoutHandles()) {
-            $this->getLayout()->getUpdate()->addHandle($this->getDefaultLayoutHandle());
-        }
-        return $this;
-    }
-
-    /**
-     * Add layout updates handles associated with the action page
-     *
-     * @param array $parameters page parameters
-     * @return bool
-     */
-    public function addPageLayoutHandles(array $parameters = array())
-    {
-        $handle = $this->getDefaultLayoutHandle();
-        $pageHandles = array($handle);
-        foreach ($parameters as $key => $value) {
-            $pageHandles[] = $handle . '_' . $key . '_' . $value;
-        }
-        // Do not sort array going into add page handles. Ensure default layout handle is added first.
-        return $this->getLayout()->getUpdate()->addPageHandles($pageHandles);
-    }
-
-    /**
-     * Load layout updates
-     *
-     * @return $this
-     */
-    public function loadLayoutUpdates()
-    {
-        \Magento\Profiler::start('LAYOUT');
-
-        // dispatch event for adding handles to layout update
-        $this->_eventManager->dispatch(
-            'controller_action_layout_load_before',
-            array('action' => $this, 'layout' => $this->getLayout())
-        );
-
-        // load layout updates by specified handles
-        \Magento\Profiler::start('layout_load');
-        $this->getLayout()->getUpdate()->load();
-        \Magento\Profiler::stop('layout_load');
-
-        \Magento\Profiler::stop('LAYOUT');
-        return $this;
-    }
-
-    /**
-     * Generate layout xml
-     *
-     * @return $this
-     */
-    public function generateLayoutXml()
-    {
-        \Magento\Profiler::start('LAYOUT');
-
-        // dispatch event for adding text layouts
-        if (!$this->getFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT)) {
-            $this->_eventManager->dispatch(
-                'controller_action_layout_generate_xml_before',
-                array('action' => $this, 'layout' => $this->getLayout())
-            );
-        }
-
-        // generate xml from collected text updates
-        \Magento\Profiler::start('layout_generate_xml');
-        $this->getLayout()->generateXml();
-        \Magento\Profiler::stop('layout_generate_xml');
-
-        \Magento\Profiler::stop('LAYOUT');
-        return $this;
-    }
-
-    /**
-     * Generate layout blocks
-     *
-     * @return $this
-     */
-    public function generateLayoutBlocks()
-    {
-        \Magento\Profiler::start('LAYOUT');
-
-        // dispatch event for adding xml layout elements
-        if (!$this->getFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT)) {
-            $this->_eventManager->dispatch(
-                'controller_action_layout_generate_blocks_before',
-                array('action' => $this, 'layout' => $this->getLayout())
-            );
-        }
-
-        // generate blocks from xml layout
-        \Magento\Profiler::start('layout_generate_blocks');
-        $this->getLayout()->generateElements();
-        \Magento\Profiler::stop('layout_generate_blocks');
-
-        if (!$this->getFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT)) {
-            $this->_eventManager->dispatch(
-                'controller_action_layout_generate_blocks_after',
-                array('action' => $this, 'layout' => $this->getLayout())
-            );
-        }
-
-        \Magento\Profiler::stop('LAYOUT');
-        return $this;
-    }
-
-    /**
-     * Rendering layout
-     *
-     * @param   string $output
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    public function renderLayout($output = '')
-    {
-        if ($this->getFlag('', 'no-renderLayout')) {
-            return;
-        }
-
-        \Magento\Profiler::start('LAYOUT');
-
-        $this->_renderTitles();
-
-        \Magento\Profiler::start('layout_render');
-
-        if ('' !== $output) {
-            $this->getLayout()->addOutputElement($output);
-        }
-
-        $this->_eventManager->dispatch('controller_action_layout_render_before');
-        $this->_eventManager->dispatch('controller_action_layout_render_before_' . $this->getFullActionName());
-
-        $output = $this->getLayout()->getOutput();
-        $this->_objectManager->get('Magento\Core\Model\Translate')->processResponseBody($output);
-        $this->getResponse()->appendBody($output);
-        \Magento\Profiler::stop('layout_render');
-
-        \Magento\Profiler::stop('LAYOUT');
-        return $this;
-    }
-
-    /**
-     * Dispatch action
-     *
-     * @param string $action
-     */
-    public function dispatch($action)
-    {
-        $this->getRequest()->setDispatched(true);
-        try {
-            $actionMethodName = $this->getActionMethodName($action);
-            if (!method_exists($this, $actionMethodName)) {
-                $actionMethodName = 'norouteAction';
-            }
-
-            $profilerKey = 'CONTROLLER_ACTION:' . $this->getFullActionName();
-            \Magento\Profiler::start($profilerKey);
-
-            \Magento\Profiler::start('predispatch');
-            $this->preDispatch();
-            \Magento\Profiler::stop('predispatch');
-
-            if ($this->getRequest()->isDispatched()) {
-                /**
-                 * preDispatch() didn't change the action, so we can continue
-                 */
-                if (!$this->getFlag('', self::FLAG_NO_DISPATCH)) {
-                    \Magento\Profiler::start('action_body');
-                    $this->$actionMethodName();
-                    \Magento\Profiler::stop('action_body');
-
-                    \Magento\Profiler::start('postdispatch');
-                    $this->postDispatch();
-                    \Magento\Profiler::stop('postdispatch');
-                }
-            }
-
-            \Magento\Profiler::stop($profilerKey);
-        } catch (\Magento\App\Action\Exception $e) {
-            // set prepared flags
-            foreach ($e->getResultFlags() as $flagData) {
-                list($action, $flag, $value) = $flagData;
-                $this->setFlag($action, $flag, $value);
-            }
-            // call forward, redirect or an action
-            list($method, $parameters) = $e->getResultCallback();
-            switch ($method) {
-                case \Magento\App\Action\Exception::RESULT_REDIRECT:
-                    list($path, $arguments) = $parameters;
-                    $this->_redirect($path, $arguments);
-                    break;
-                case \Magento\App\Action\Exception::RESULT_FORWARD:
-                    list($action, $controller, $module, $params) = $parameters;
-                    $this->_forward($action, $controller, $module, $params);
-                    break;
-                default:
-                    $actionMethodName = $this->getActionMethodName($method);
-                    $this->getRequest()->setActionName($method);
-                    $this->$actionMethodName($method);
-                    break;
-            }
-        }
-    }
-
-    /**
-     * Retrieve action method name
-     *
-     * @param string $action
-     * @return string
-     */
-    public function getActionMethodName($action)
-    {
-        return $action . 'Action';
-    }
-
-    /**
-     * Start session if it is not restricted
-     *
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _startSession()
-    {
-        if (!$this->getFlag('', self::FLAG_NO_START_SESSION)) {
-            $checkCookie = in_array($this->getRequest()->getActionName(), $this->_cookieCheckActions)
-                && !$this->getRequest()->getParam('nocookie', false);
-            $cookies = $this->_objectManager->get('Magento\Core\Model\Cookie')->get();
-            /** @var $session \Magento\Core\Model\Session */
-            $session = $this->_objectManager->get('Magento\Core\Model\Session')->start();
-
-            if (empty($cookies)) {
-                if ($session->getCookieShouldBeReceived()) {
-                    $this->setFlag('', self::FLAG_NO_COOKIES_REDIRECT, true);
-                    $session->unsCookieShouldBeReceived();
-                    $session->setSkipSessionIdFlag(true);
-                } elseif ($checkCookie) {
-                    if (isset($_GET[$session->getSessionIdQueryParam()])
-                        && $this->_objectManager->get('Magento\Core\Model\Url')->getUseSession()
-                        && $this->_sessionNamespace != \Magento\Backend\Controller\AbstractAction::SESSION_NAMESPACE
-                    ) {
-                        $session->setCookieShouldBeReceived(true);
-                    } else {
-                        $this->setFlag('', self::FLAG_NO_COOKIES_REDIRECT, true);
-                    }
-                }
-            }
-        }
-        return $this;
-    }
-
-    /**
-     * Initialize area and design
-     *
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _initDesign()
-    {
-        $area = $this->_objectManager->get('Magento\Core\Model\App')->getArea($this->getLayout()->getArea());
-        $area->load(\Magento\Core\Model\App\Area::PART_DESIGN);
-        $area->load(\Magento\Core\Model\App\Area::PART_TRANSLATE);
-        $area->detectDesign($this->getRequest());
-        return $this;
-    }
-
-    /**
-     * Dispatch event before action
-     *
-     * @return null
-     */
-    public function preDispatch()
-    {
-        if (!$this->getFlag('', self::FLAG_NO_CHECK_INSTALLATION)) {
-            if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
-                $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-                $this->_redirect('install');
-                return;
-            }
-        }
-
-        // Prohibit disabled store actions
-        $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-        if ($this->_objectManager->get('Magento\App\State')->isInstalled()
-            && !$storeManager->getStore()->getIsActive()
-        ) {
-            $this->_objectManager->get('Magento\Core\Model\StoreManager')->throwStoreException();
-        }
-
-        // Start session
-        $this->_startSession();
-
-        // Load area and initialize design depend on loaded area
-        $this->_initDesign();
-
-        if ($this->getFlag('', self::FLAG_NO_COOKIES_REDIRECT)
-            && $this->_objectManager->get('Magento\Core\Model\Store\Config')->getConfig('web/browser_capabilities/cookies')
-        ) {
-            $this->_forward('noCookies', 'index', 'core');
-            return;
-        }
-
-        if ($this->getFlag('', self::FLAG_NO_PRE_DISPATCH)) {
-            return;
-        }
-
-        $this->_firePreDispatchEvents();
-    }
-
-    /**
-     * Fire predispatch events, execute extra logic after predispatch
-     */
-    protected function _firePreDispatchEvents()
-    {
-        $this->_eventManager->dispatch('controller_action_predispatch', array('controller_action' => $this));
-        $this->_eventManager->dispatch('controller_action_predispatch_' . $this->getRequest()->getRouteName(),
-            array('controller_action' => $this));
-        $this->_eventManager->dispatch('controller_action_predispatch_' . $this->getFullActionName(),
-            array('controller_action' => $this));
-    }
-
-    /**
-     * Dispatches event after action
-     */
-    public function postDispatch()
-    {
-        if ($this->getFlag('', self::FLAG_NO_POST_DISPATCH)) {
-            return;
-        }
-
-        $this->_eventManager->dispatch(
-            'controller_action_postdispatch_' . $this->getFullActionName(),
-            array('controller_action' => $this)
-        );
-        $this->_eventManager->dispatch(
-            'controller_action_postdispatch_' . $this->getRequest()->getRouteName(),
-            array('controller_action' => $this)
-        );
-        $this->_eventManager->dispatch('controller_action_postdispatch', array('controller_action' => $this));
-    }
-
-    /**
-     * No route action
-     *
-     * @param null $coreRoute
-     */
-    public function norouteAction($coreRoute = null)
-    {
-        $status = $this->getRequest()->getParam('__status__');
-        if (!$status instanceof \Magento\Object) {
-            $status = new \Magento\Object();
-        }
-
-        $this->_eventManager->dispatch('controller_action_noroute', array('action' => $this, 'status' => $status));
-
-        if ($status->getLoaded() !== true
-            || $status->getForwarded() === true
-            || !is_null($coreRoute)
-        ) {
-            $this->loadLayout(array('default', 'noRoute'));
-            $this->renderLayout();
-        } else {
-            $status->setForwarded(true);
-            $this->_forward(
-                $status->getForwardAction(),
-                $status->getForwardController(),
-                $status->getForwardModule(),
-                array('__status__' => $status));
-        }
-    }
-
-    /**
-     * No cookies action
-     */
-    public function noCookiesAction()
-    {
-        $redirect = new \Magento\Object();
-        $this->_eventManager->dispatch('controller_action_nocookies', array(
-            'action'    => $this,
-            'redirect'  => $redirect
-        ));
-
-        $url = $redirect->getRedirectUrl();
-        if ($url) {
-            $this->_redirectUrl($url);
-        } elseif ($redirect->getRedirect()) {
-            $this->_redirect($redirect->getPath(), $redirect->getArguments());
-        } else {
-            $this->loadLayout(array('default', 'noCookie'));
-            $this->renderLayout();
-        }
-
-        $this->getRequest()->setDispatched(true);
-    }
-
-    /**
-     * Throw control to different action (control and module if was specified).
-     *
-     * @param string $action
-     * @param string|null $controller
-     * @param string|null $module
-     * @param array|null $params
-     */
-    protected function _forward($action, $controller = null, $module = null, array $params = null)
-    {
-        $request = $this->getRequest();
-
-        $request->initForward();
-
-        if (isset($params)) {
-            $request->setParams($params);
-        }
-
-        if (isset($controller)) {
-            $request->setControllerName($controller);
-
-            // Module should only be reset if controller has been specified
-            if (isset($module)) {
-                $request->setModuleName($module);
-            }
-        }
-
-        $request->setActionName($action)
-            ->setDispatched(false);
-    }
-
-    /**
-     * Initializing layout messages by message storage(s), loading and adding messages to layout messages block
-     *
-     * @param string|array $messagesStorage
-     * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _initLayoutMessages($messagesStorage)
-    {
-        if (!is_array($messagesStorage)) {
-            $messagesStorage = array($messagesStorage);
-        }
-        foreach ($messagesStorage as $storageName) {
-            $storage = $this->_objectManager->get($storageName);
-            if ($storage) {
-                $block = $this->getLayout()->getMessagesBlock();
-                $block->addMessages($storage->getMessages(true));
-                $block->setEscapeMessageFlag($storage->getEscapeMessages(true));
-                $block->addStorageType($storageName);
-            } else {
-                throw new \Magento\Core\Exception(
-                     __('Invalid messages storage "%1" for layout messages initialization', (string)$storageName)
-                );
-            }
-        }
-        return $this;
-    }
-
-    /**
-     * Initializing layout messages by message storage(s), loading and adding messages to layout messages block
-     *
-     * @param string|array $messagesStorage
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    public function initLayoutMessages($messagesStorage)
-    {
-        return $this->_initLayoutMessages($messagesStorage);
-    }
-
-    /**
-     * Set redirect url into response
-     *
-     * @param   string $url
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    protected function _redirectUrl($url)
-    {
-        $this->getResponse()->setRedirect($url);
-        return $this;
-    }
-
-    /**
-     * Set redirect into response
-     *
-     * @param   string $path
-     * @param   array $arguments
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    protected function _redirect($path, $arguments = array())
-    {
-        return $this->setRedirectWithCookieCheck($path, $arguments);
-    }
-
-    /**
-     * Set redirect into response with session id in URL if it is enabled.
-     * It allows to distinguish primordial request from browser with cookies disabled.
-     *
-     * @param   string $path
-     * @param   array $arguments
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    public function setRedirectWithCookieCheck($path, array $arguments = array())
-    {
-        /** @var $session \Magento\Core\Model\Session */
-        $session = $this->_objectManager->get('Magento\Core\Model\Session');
-        if ($session->getCookieShouldBeReceived()
-            && $this->_objectManager->get('Magento\Core\Model\Url')->getUseSession()
-            && $this->_sessionNamespace != \Magento\Backend\Controller\AbstractAction::SESSION_NAMESPACE
-        ) {
-            $arguments += array('_query' => array(
-                $session->getSessionIdQueryParam() => $session->getSessionId()
-            ));
-        }
-        $this->getResponse()->setRedirect(
-            $this->_objectManager->create('Magento\Core\Model\Url')->getUrl($path, $arguments)
-        );
-        return $this;
-    }
-
-
-    /**
-     * Redirect to success page
-     *
-     * @param string $defaultUrl
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _redirectSuccess($defaultUrl)
-    {
-        $successUrl = $this->getRequest()->getParam(self::PARAM_NAME_SUCCESS_URL);
-        if (empty($successUrl)) {
-            $successUrl = $defaultUrl;
-        }
-        if (!$this->_isUrlInternal($successUrl)) {
-            $successUrl = $this->_objectManager->get('Magento\Core\Model\StoreManager')->getStore()->getBaseUrl();
-        }
-        $this->getResponse()->setRedirect($successUrl);
-        return $this;
-    }
-
-    /**
-     * Redirect to error page
-     *
-     * @param string $defaultUrl
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    protected function _redirectError($defaultUrl)
-    {
-        $errorUrl = $this->getRequest()->getParam(self::PARAM_NAME_ERROR_URL);
-        if (empty($errorUrl)) {
-            $errorUrl = $defaultUrl;
-        }
-        if (!$this->_isUrlInternal($errorUrl)) {
-            $errorUrl = $this->_objectManager->get('Magento\Core\Model\StoreManager')->getStore()->getBaseUrl();
-        }
-        $this->getResponse()->setRedirect($errorUrl);
-        return $this;
-    }
-
-    /**
-     * Set referer url for redirect in response
-     *
-     * @param   string $defaultUrl
-     * @return  \Magento\Core\Controller\Varien\Action
-     */
-    protected function _redirectReferer($defaultUrl=null)
-    {
-
-        $refererUrl = $this->_getRefererUrl();
-        if (empty($refererUrl)) {
-            $refererUrl = empty($defaultUrl)
-                ? $this->_objectManager->get('Magento\Core\Model\StoreManager')->getBaseUrl()
-                : $defaultUrl;
-        }
-
-        $this->getResponse()->setRedirect($refererUrl);
-        return $this;
-    }
-
-    /**
-     * Identify referer url via all accepted methods (HTTP_REFERER, regular or base64-encoded request param)
-     *
-     * @return string
-     */
-    protected function _getRefererUrl()
-    {
-        $refererUrl = $this->getRequest()->getServer('HTTP_REFERER');
-        $url = $this->getRequest()->getParam(self::PARAM_NAME_REFERER_URL);
-        if ($url) {
-            $refererUrl = $url;
-        }
-        $url = $this->getRequest()->getParam(self::PARAM_NAME_BASE64_URL);
-        if ($url) {
-            $refererUrl = $this->_objectManager->get('Magento\Core\Helper\Data')->urlDecode($url);
-        }
-        $url = $this->getRequest()->getParam(self::PARAM_NAME_URL_ENCODED);
-        if ($url) {
-            $refererUrl = $this->_objectManager->get('Magento\Core\Helper\Data')->urlDecode($url);
-        }
-
-        if (!$this->_isUrlInternal($refererUrl)) {
-            $refererUrl = $this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')->getStore()->getBaseUrl();
-        }
-        return $refererUrl;
-    }
-
-    /**
-     * Check url to be used as internal
-     *
-     * @param   string $url
-     * @return  bool
-     */
-    protected function _isUrlInternal($url)
-    {
-        if (strpos($url, 'http') !== false) {
-            /**
-             * Url must start from base secure or base unsecure url
-             */
-            /** @var $store \Magento\Core\Model\StoreManagerInterface */
-            $store = $this->_objectManager->get('Magento\Core\Model\StoreManagerInterface')->getStore();
-            if ((strpos($url, $store->getBaseUrl()) === 0)
-                || (strpos($url, $store->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_LINK, true)) === 0)
-            ) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Validate Form Key
-     *
-     * @return bool
-     */
-    protected function _validateFormKey()
-    {
-        if (!($formKey = $this->getRequest()->getParam('form_key', null))
-            || $formKey != $this->_objectManager->get('Magento\Core\Model\Session')->getFormKey()
-        ) {
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Add an extra title to the end
-     *
-     * Usage examples:
-     * $this->_title('foo')->_title('bar');
-     * => bar / foo / <default title>
-     *
-     * @see self::_renderTitles()
-     * @param string $text
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _title($text)
-    {
-        $this->_titles[] = $text;
-        return $this;
-    }
-
-    /**
-     * Prepare titles in the 'head' layout block
-     * Supposed to work only in actions where layout is rendered
-     * Falls back to the default logic if there are no titles eventually
-     *
-     * @see self::loadLayout()
-     * @see self::renderLayout()
-     */
-    protected function _renderTitles()
-    {
-        if ($this->_isLayoutLoaded && $this->_titles) {
-            $titleBlock = $this->getLayout()->getBlock('head');
-            if ($titleBlock) {
-                if (!$this->_removeDefaultTitle) {
-                    $title = trim($titleBlock->getTitle());
-                    if ($title) {
-                        array_unshift($this->_titles, $title);
-                    }
-                }
-                $titleBlock->setTitle(array_reverse($this->_titles));
-            }
-        }
-    }
-
-    /**
-     * Convert dates in array from localized to internal format
-     *
-     * @param   array $array
-     * @param   array $dateFields
-     * @return  array
-     */
-    protected function _filterDates($array, $dateFields)
-    {
-        if (empty($dateFields)) {
-            return $array;
-        }
-        $filterInput = new \Zend_Filter_LocalizedToNormalized(array(
-            'date_format' => $this->_objectManager->get('Magento\Core\Model\LocaleInterface')
-                ->getDateFormat(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT)
-        ));
-        $filterInternal = new \Zend_Filter_NormalizedToLocalized(array(
-            'date_format' => \Magento\Stdlib\DateTime::DATE_INTERNAL_FORMAT
-        ));
-
-        foreach ($dateFields as $dateField) {
-            if (array_key_exists($dateField, $array) && !empty($dateField)) {
-                $array[$dateField] = $filterInput->filter($array[$dateField]);
-                $array[$dateField] = $filterInternal->filter($array[$dateField]);
-            }
-        }
-        return $array;
-    }
-
-    /**
-     * Convert dates with time in array from localized to internal format
-     *
-     * @param   array $array
-     * @param   array $dateFields
-     * @return  array
-     */
-    protected function _filterDateTime($array, $dateFields)
-    {
-        if (empty($dateFields)) {
-            return $array;
-        }
-        $filterInput = new \Zend_Filter_LocalizedToNormalized(array(
-            'date_format' => $this->_objectManager->get('Magento\Core\Model\LocaleInterface')
-                ->getDateTimeFormat(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT)
-        ));
-        $filterInternal = new \Zend_Filter_NormalizedToLocalized(array(
-            'date_format' => \Magento\Stdlib\DateTime::DATETIME_INTERNAL_FORMAT
-        ));
-
-        foreach ($dateFields as $dateField) {
-            if (array_key_exists($dateField, $array) && !empty($dateField)) {
-                $array[$dateField] = $filterInput->filter($array[$dateField]);
-                $array[$dateField] = $filterInternal->filter($array[$dateField]);
-            }
-        }
-        return $array;
-    }
-
-    /**
-     * Declare headers and content file in response for file download
-     *
-     * @param string $fileName
-     * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
-     *                              that case
-     * @param string $contentType
-     * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
-     * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Controller\Varien\Action
-     */
-    protected function _prepareDownloadResponse(
-        $fileName,
-        $content,
-        $contentType = 'application/octet-stream',
-        $contentLength = null
-    ) {
-        /** @var \Magento\Filesystem $filesystem */
-        $filesystem = $this->_objectManager->create('Magento\Filesystem');
-        $isFile = false;
-        $file   = null;
-        if (is_array($content)) {
-            if (!isset($content['type']) || !isset($content['value'])) {
-                return $this;
-            }
-            if ($content['type'] == 'filename') {
-                $isFile         = true;
-                $file           = $content['value'];
-                $contentLength  = $filesystem->getFileSize($file);
-            }
-        }
-
-        $this->getResponse()
-            ->setHttpResponseCode(200)
-            ->setHeader('Pragma', 'public', true)
-            ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
-            ->setHeader('Content-type', $contentType, true)
-            ->setHeader('Content-Length', is_null($contentLength) ? strlen($content) : $contentLength, true)
-            ->setHeader('Content-Disposition', 'attachment; filename="'.$fileName.'"', true)
-            ->setHeader('Last-Modified', date('r'), true);
-
-        if (!is_null($content)) {
-            if ($isFile) {
-                $this->getResponse()->clearBody();
-                $this->getResponse()->sendHeaders();
-
-                if (!$filesystem->isFile($file)) {
-                    throw new \Magento\Core\Exception(__('File not found'));
-                }
-                $stream = $filesystem->createAndOpenStream($file, 'r');
-                while ($buffer = $stream->read(1024)) {
-                    print $buffer;
-                }
-                flush();
-                $stream->close();
-                if (!empty($content['rm'])) {
-                    $filesystem->delete($file);
-                }
-
-                exit(0);
-            } else {
-                $this->getResponse()->setBody($content);
-            }
-        }
-        return $this;
-    }
-}
diff --git a/app/code/Magento/Core/Exception.php b/app/code/Magento/Core/Exception.php
index 0731ac095fb..cd0cc49686c 100644
--- a/app/code/Magento/Core/Exception.php
+++ b/app/code/Magento/Core/Exception.php
@@ -39,7 +39,7 @@ class Exception extends \Exception
 {
     protected $_messages = array();
 
-    public function addMessage(\Magento\Core\Model\Message\AbstractMessage $message)
+    public function addMessage(\Magento\Message\AbstractMessage $message)
     {
         if (!isset($this->_messages[$message->getType()])) {
             $this->_messages[$message->getType()] = array();
diff --git a/app/code/Magento/Core/Filter/Date.php b/app/code/Magento/Core/Filter/Date.php
new file mode 100644
index 00000000000..481d8507037
--- /dev/null
+++ b/app/code/Magento/Core/Filter/Date.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Date filter. Converts date from localized to internal format.
+ *
+ * @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)
+ */
+/**
+ * @todo move this class to library when locale interface is moved
+ */
+namespace Magento\Core\Filter;
+
+use Magento\Core\Model\LocaleInterface;
+
+class Date implements \Zend_Filter_Interface
+{
+    /**
+     * Filter that converts localized input into normalized format
+     *
+     * @var \Zend_Filter_LocalizedToNormalized
+     */
+    protected $_localToNormalFilter;
+
+    /**
+     * Filter that converts normalized input into internal format
+     *
+     * @var \Zend_Filter_NormalizedToLocalized
+     */
+    protected $_normalToLocalFilter;
+
+    /**
+     * @param LocaleInterface $locale
+     */
+    public function __construct(
+        LocaleInterface $locale
+    ) {
+        $this->_localToNormalFilter = new \Zend_Filter_LocalizedToNormalized(array(
+            'date_format' => $locale->getDateFormat(LocaleInterface::FORMAT_TYPE_SHORT)
+        ));
+        $this->_normalToLocalFilter = new \Zend_Filter_NormalizedToLocalized(array(
+            'date_format' => \Magento\Stdlib\DateTime::DATE_INTERNAL_FORMAT
+        ));
+    }
+
+    /**
+     * Convert date from localized to internal format
+     *
+     * @param string $value
+     * @return string
+     */
+    public function filter($value)
+    {
+        return $this->_normalToLocalFilter->filter($this->_localToNormalFilter->filter($value));
+    }
+}
diff --git a/app/code/Magento/Core/Filter/DateTime.php b/app/code/Magento/Core/Filter/DateTime.php
new file mode 100644
index 00000000000..ccd3d870370
--- /dev/null
+++ b/app/code/Magento/Core/Filter/DateTime.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Date/Time filter. Converts datetime from localized to internal format.
+ *
+ * @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)
+ */
+/**
+ * @todo move this class to library when locale interface is moved
+ */
+namespace Magento\Core\Filter;
+
+use Magento\Core\Model\LocaleInterface;
+
+class DateTime extends Date
+{
+    /**
+     * @param LocaleInterface $locale
+     */
+    public function __construct(
+        LocaleInterface $locale
+    ) {
+        parent::__construct($locale);
+        $this->_localToNormalFilter = new \Zend_Filter_LocalizedToNormalized(array(
+            'date_format' => $locale->getDateTimeFormat(LocaleInterface::FORMAT_TYPE_SHORT)
+        ));
+        $this->_normalToLocalFilter = new \Zend_Filter_NormalizedToLocalized(array(
+            'date_format' => \Magento\Stdlib\DateTime::DATETIME_INTERNAL_FORMAT
+        ));
+    }
+}
diff --git a/app/code/Magento/Core/Helper/Cookie.php b/app/code/Magento/Core/Helper/Cookie.php
index e48f364dcae..a90844b660e 100644
--- a/app/code/Magento/Core/Helper/Cookie.php
+++ b/app/code/Magento/Core/Helper/Cookie.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Helper;
 
-class Cookie extends \Magento\Core\Helper\AbstractHelper
+class Cookie extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Cookie name for users who allowed cookie save
@@ -66,18 +66,19 @@ class Cookie extends \Magento\Core\Helper\AbstractHelper
     protected $_website;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Cookie $cookie
      * @param array $data
+     * 
      * @throws \InvalidArgumentException
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Cookie $cookie,
-        array $data = array())
-    {
+        array $data = array()
+    ) {
         parent::__construct($context);
         $this->_currentStore = isset($data['current_store']) ? $data['current_store'] : $storeManager->getStore();
 
diff --git a/app/code/Magento/Core/Helper/Data.php b/app/code/Magento/Core/Helper/Data.php
index 0ca295bb001..7f83089b894 100644
--- a/app/code/Magento/Core/Helper/Data.php
+++ b/app/code/Magento/Core/Helper/Data.php
@@ -29,7 +29,7 @@ namespace Magento\Core\Helper;
 /**
  * Core data helper
  */
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_DEFAULT_COUNTRY              = 'general/country/default';
     const XML_PATH_DEV_ALLOW_IPS                = 'dev/restrict/allow_ips';
@@ -42,15 +42,19 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     const DIVIDE_EPSILON = 10000;
 
-    /**
-     * Config path to mail sending setting that shows if email communications are disabled
-     */
-    const XML_PATH_SYSTEM_SMTP_DISABLE = 'system/smtp/disable';
+    protected $_allowedFormats = array(
+        \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_FULL,
+        \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_LONG,
+        \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_MEDIUM,
+        \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT
+    );
 
     /**
-     * @var \Magento\Cache\ConfigInterface
+     * Core event manager proxy
+     *
+     * @var \Magento\Event\ManagerInterface
      */
-    protected $_cacheConfig;
+    protected $_eventManager = null;
 
     /**
      * Core store config
@@ -60,7 +64,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -80,30 +84,23 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_dbCompatibleMode;
 
     /**
-     * @var \Magento\HTTP\PhpEnvironment\RemoteAddress
-     */
-    protected $_remoteAddress;
-
-    /**
-     * @param Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         $dbCompatibleMode = true
     ) {
-        $this->_coreStoreConfig = $coreStoreConfig;
-        $this->_remoteAddress = $context->getRemoteAddress();
         parent::__construct($context);
-        $this->_cacheConfig = $context->getCacheConfig();
+        $this->_coreStoreConfig = $coreStoreConfig;
         $this->_storeManager = $storeManager;
         $this->_locale = $locale;
         $this->_appState = $appState;
@@ -272,14 +269,4 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     {
         return (bool) $this->_coreStoreConfig->getConfig(self::XML_PATH_SINGLE_STORE_MODE_ENABLED);
     }
-
-    /**
-     * Returns the translate model for this instance.
-     *
-     * @return \Magento\Core\Model\Translate
-     */
-    public function getTranslator()
-    {
-        return $this->_translator;
-    }
 }
diff --git a/app/code/Magento/Core/Helper/File/Media.php b/app/code/Magento/Core/Helper/File/Media.php
index 9518ad1ac78..4e2facdd14b 100644
--- a/app/code/Magento/Core/Helper/File/Media.php
+++ b/app/code/Magento/Core/Helper/File/Media.php
@@ -29,7 +29,7 @@ namespace Magento\Core\Helper\File;
 /**
  * Class Media
  */
-class Media extends \Magento\Core\Helper\AbstractHelper
+class Media extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Core\Model\Date
@@ -39,11 +39,11 @@ class Media extends \Magento\Core\Helper\AbstractHelper
     /**
      * Constructor
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Date $date
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Date $date
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/File/Storage.php b/app/code/Magento/Core/Helper/File/Storage.php
index 3da083470a7..d82ae7ad8d2 100644
--- a/app/code/Magento/Core/Helper/File/Storage.php
+++ b/app/code/Magento/Core/Helper/File/Storage.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Helper\File;
 
-class Storage extends \Magento\Core\Helper\AbstractHelper
+class Storage extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Current storage code
@@ -70,21 +70,29 @@ class Storage extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_filesystemStorage;
 
+    /**
+     * @var \Magento\Core\Model\ConfigInterface
+     */
+    protected $config;
+
     /**
      * @param Storage\Database $coreFileStorageDb
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\File\Storage $storage
      * @param \Magento\Core\Model\File\Storage\File $filesystemStorage
+     * @param \Magento\Core\Model\ConfigInterface $config
      */
     public function __construct(
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDb,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\File\Storage $storage,
-        \Magento\Core\Model\File\Storage\File $filesystemStorage
+        \Magento\Core\Model\File\Storage\File $filesystemStorage,
+        \Magento\Core\Model\ConfigInterface $config
     ) {
         $this->_filesystemStorage = $filesystemStorage;
         $this->_coreFileStorageDb = $coreFileStorageDb;
         $this->_storage = $storage;
+        $this->config = $config;
         parent::__construct($context);
     }
 
@@ -96,8 +104,9 @@ class Storage extends \Magento\Core\Helper\AbstractHelper
     public function getCurrentStorageCode()
     {
         if (is_null($this->_currentStorage)) {
-            $this->_currentStorage = (int) $this->_app
-                ->getConfig()->getValue(\Magento\Core\Model\File\Storage::XML_PATH_STORAGE_MEDIA, 'default');
+            $this->_currentStorage = (int) $this->config->getValue(
+                \Magento\Core\Model\File\Storage::XML_PATH_STORAGE_MEDIA, 'default'
+            );
         }
 
         return $this->_currentStorage;
diff --git a/app/code/Magento/Core/Helper/File/Storage/Database.php b/app/code/Magento/Core/Helper/File/Storage/Database.php
index 3706dfb1a60..c920f39b5bb 100644
--- a/app/code/Magento/Core/Helper/File/Storage/Database.php
+++ b/app/code/Magento/Core/Helper/File/Storage/Database.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Helper\File\Storage;
 
-class Database extends \Magento\Core\Helper\AbstractHelper
+class Database extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Database storage model
@@ -72,7 +72,7 @@ class Database extends \Magento\Core\Helper\AbstractHelper
     protected $_dbStorageFactory;
 
     /**
-     * @var \Magento\Core\Model\File\Storage\File\Proxy
+     * @var \Magento\Core\Model\File\Storage\File
      */
     protected $_fileStorage;
 
@@ -82,24 +82,32 @@ class Database extends \Magento\Core\Helper\AbstractHelper
     protected $_dir;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @var \Magento\Core\Model\ConfigInterface
+     */
+    protected $config;
+
+    /**
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory
      * @param \Magento\Core\Model\File\Storage\File $fileStorage
      * @param \Magento\App\Dir $dir
      * @param \Magento\Filesystem $filesystem
+     * @param \Magento\Core\Model\ConfigInterface $config
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory,
         \Magento\Core\Model\File\Storage\File $fileStorage,
         \Magento\App\Dir $dir,
-        \Magento\Filesystem $filesystem
+        \Magento\Filesystem $filesystem,
+        \Magento\Core\Model\ConfigInterface $config
     ) {
-        parent::__construct($context);
         $this->_filesystem = $filesystem;
         $this->_dbStorageFactory = $dbStorageFactory;
         $this->_fileStorage = $fileStorage;
         $this->_dir = $dir;
+        $this->config = $config;
+        parent::__construct($context);
     }
 
     /**
@@ -111,8 +119,9 @@ class Database extends \Magento\Core\Helper\AbstractHelper
     public function checkDbUsage()
     {
         if (null === $this->_useDb) {
-            $currentStorage = (int) $this->_app->getConfig()
-                ->getValue(\Magento\Core\Model\File\Storage::XML_PATH_STORAGE_MEDIA, 'default');
+            $currentStorage = (int) $this->config->getValue(
+                \Magento\Core\Model\File\Storage::XML_PATH_STORAGE_MEDIA, 'default'
+            );
             $this->_useDb = ($currentStorage == \Magento\Core\Model\File\Storage::STORAGE_MEDIA_DATABASE);
         }
 
diff --git a/app/code/Magento/Core/Helper/Js.php b/app/code/Magento/Core/Helper/Js.php
index 76032fd153d..4823d32a1c6 100644
--- a/app/code/Magento/Core/Helper/Js.php
+++ b/app/code/Magento/Core/Helper/Js.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Helper;
 
-class Js extends \Magento\Core\Helper\AbstractHelper
+class Js extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Array of sentences of JS translations
@@ -52,12 +52,12 @@ class Js extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\Url $viewUrl
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\Url $viewUrl
     ) {
         $this->_coreData = $coreData;
diff --git a/app/code/Magento/Core/Helper/String.php b/app/code/Magento/Core/Helper/String.php
index 257003e2198..b306cd7980a 100644
--- a/app/code/Magento/Core/Helper/String.php
+++ b/app/code/Magento/Core/Helper/String.php
@@ -29,7 +29,7 @@ namespace Magento\Core\Helper;
 /**
  * Core data helper
  */
-class String extends \Magento\Core\Helper\AbstractHelper
+class String extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Builds namespace + classname out of the parts array
diff --git a/app/code/Magento/Core/Helper/Theme.php b/app/code/Magento/Core/Helper/Theme.php
index 81c1c0cfece..e139baf16bd 100644
--- a/app/code/Magento/Core/Helper/Theme.php
+++ b/app/code/Magento/Core/Helper/Theme.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Helper;
 
-class Theme extends \Magento\Core\Helper\AbstractHelper
+class Theme extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Directories
@@ -65,7 +65,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\View\FileSystem $viewFileSystem
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\App\Dir $dirs,
         \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\Collection $themeCollection,
diff --git a/app/code/Magento/Core/Helper/Translate.php b/app/code/Magento/Core/Helper/Translate.php
index 2fc62fd7161..499bc21b661 100644
--- a/app/code/Magento/Core/Helper/Translate.php
+++ b/app/code/Magento/Core/Helper/Translate.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Helper;
 
-class Translate extends \Magento\Core\Helper\AbstractHelper
+class Translate extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Design package instance
@@ -37,23 +37,24 @@ class Translate extends \Magento\Core\Helper\AbstractHelper
      * @var \Magento\View\DesignInterface
      */
     protected $_design;
-    
+
     /**
-     * @var \Magento\Event\ManagerInterface
+     * @var \Magento\Core\Model\Translate
      */
-    protected $_eventManager;
+    protected $translator;
 
     /**
-     * @param Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\DesignInterface $design
-     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\Core\Model\Translate $translator
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\DesignInterface $design,
-        \Magento\Event\ManagerInterface $eventManager
+        \Magento\Core\Model\Translate $translator
     ) {
-        $this->_eventManager = $eventManager;
+        $this->translator = $translator;
+        $this->_design = $design;
         parent::__construct($context);
     }
 
@@ -72,7 +73,7 @@ class Translate extends \Magento\Core\Helper\AbstractHelper
                 $this->_design->setArea($area);
             }
 
-            $this->_translator->processAjaxPost($translate);
+            $this->translator->processAjaxPost($translate);
             $result = $returnType == 'json' ? "{success:true}" : true;
         } catch (\Exception $e) {
             $result = $returnType == 'json' ? "{error:true,message:'" . $e->getMessage() . "'}" : false;
@@ -88,16 +89,16 @@ class Translate extends \Magento\Core\Helper\AbstractHelper
      */
     public function initTranslate($localeCode, $forceReload)
     {
-        $this->_translator->setLocale($localeCode);
+        $this->translator->setLocale($localeCode);
 
         $dispatchResult = new \Magento\Object(array(
             'inline_type' => null
         ));
         $this->_eventManager->dispatch('translate_initialization_before', array(
-            'translate_object' => $this->_translator,
+            'translate_object' => $this->translator,
             'result' => $dispatchResult
         ));
-        $this->_translator->init(null, $dispatchResult, $forceReload);
+        $this->translator->init(null, $dispatchResult, $forceReload);
         return $this;
     }
 }
diff --git a/app/code/Magento/Core/Helper/Url.php b/app/code/Magento/Core/Helper/Url.php
index 3e69656fcec..14b93e86b45 100644
--- a/app/code/Magento/Core/Helper/Url.php
+++ b/app/code/Magento/Core/Helper/Url.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Helper;
 
-class Url extends \Magento\Core\Helper\AbstractHelper
+class Url extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Core\Model\StoreManagerInterface
@@ -41,11 +41,11 @@ class Url extends \Magento\Core\Helper\AbstractHelper
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/Url/Rewrite.php b/app/code/Magento/Core/Helper/Url/Rewrite.php
index 00c1966b6f8..f15ea59fe20 100644
--- a/app/code/Magento/Core/Helper/Url/Rewrite.php
+++ b/app/code/Magento/Core/Helper/Url/Rewrite.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Core\Helper\Url;
 
-class Rewrite extends \Magento\Core\Helper\AbstractHelper
+class Rewrite extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Validation error constants
@@ -47,11 +47,11 @@ class Rewrite extends \Magento\Core\Helper\AbstractHelper
     protected $_urlrewrite;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Source\Urlrewrite\Options $urlrewrite
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Source\Urlrewrite\Options $urlrewrite
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Model/AbstractModel.php b/app/code/Magento/Core/Model/AbstractModel.php
index ea2283b2751..87b274e927a 100644
--- a/app/code/Magento/Core/Model/AbstractModel.php
+++ b/app/code/Magento/Core/Model/AbstractModel.php
@@ -114,7 +114,7 @@ abstract class AbstractModel extends \Magento\Object
      *
      * @var \Magento\Event\ManagerInterface
      */
-    protected $_eventDispatcher;
+    protected $_eventManager;
 
     /**
      * Application Cache Manager
@@ -133,6 +133,11 @@ abstract class AbstractModel extends \Magento\Object
      */
     protected $_logger;
 
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -148,11 +153,12 @@ abstract class AbstractModel extends \Magento\Object
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        $this->_eventDispatcher = $context->getEventDispatcher();
+        $this->_eventManager = $context->getEventDispatcher();
         $this->_cacheManager = $context->getCacheManager();
         $this->_resource = $resource;
         $this->_resourceCollection = $resourceCollection;
         $this->_logger = $context->getLogger();
+        $this->_appState = $context->getAppState();
 
         if (method_exists($this->_resource, 'getIdFieldName') || $this->_resource instanceof \Magento\Object) {
             $this->_idFieldName = $this->_getResource()->getIdFieldName();
@@ -187,7 +193,7 @@ abstract class AbstractModel extends \Magento\Object
     public function __sleep()
     {
         $properties = array_keys(get_object_vars($this));
-        $properties = array_diff($properties, array('_eventDispatcher', '_cacheManager', '_coreRegistry'));
+        $properties = array_diff($properties, array('_eventManager', '_cacheManager', '_coreRegistry'));
         return $properties;
     }
 
@@ -197,7 +203,7 @@ abstract class AbstractModel extends \Magento\Object
     public function __wakeup()
     {
         $objectManager = \Magento\App\ObjectManager::getInstance();
-        $this->_eventDispatcher = $objectManager->get('Magento\Event\ManagerInterface');
+        $this->_eventManager = $objectManager->get('Magento\Event\ManagerInterface');
         $this->_cacheManager = $objectManager->get('Magento\App\CacheInterface');
         $this->_coreRegistry = $objectManager->get('Magento\Core\Model\Registry');
     }
@@ -260,7 +266,7 @@ abstract class AbstractModel extends \Magento\Object
         return $this->_resourceCollection
             ? clone $this->_resourceCollection
             : \Magento\App\ObjectManager::getInstance()->create(
-                $this->_collectionName, array('resource' => $this->_getResource())
+                $this->_collectionName
             );
     }
 
@@ -314,9 +320,9 @@ abstract class AbstractModel extends \Magento\Object
     protected function _beforeLoad($modelId, $field = null)
     {
         $params = array('object' => $this, 'field' => $field, 'value' => $modelId);
-        $this->_eventDispatcher->dispatch('model_load_before', $params);
+        $this->_eventManager->dispatch('model_load_before', $params);
         $params = array_merge($params, $this->_getEventData());
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_load_before', $params);
+        $this->_eventManager->dispatch($this->_eventPrefix . '_load_before', $params);
         return $this;
     }
 
@@ -327,8 +333,8 @@ abstract class AbstractModel extends \Magento\Object
      */
     protected function _afterLoad()
     {
-        $this->_eventDispatcher->dispatch('model_load_after', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_load_after', $this->_getEventData());
+        $this->_eventManager->dispatch('model_load_after', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_load_after', $this->_getEventData());
         return $this;
     }
 
@@ -399,8 +405,8 @@ abstract class AbstractModel extends \Magento\Object
      */
     public function afterCommitCallback()
     {
-        $this->_eventDispatcher->dispatch('model_save_commit_after', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_save_commit_after', $this->_getEventData());
+        $this->_eventManager->dispatch('model_save_commit_after', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_save_commit_after', $this->_getEventData());
         return $this;
     }
 
@@ -434,8 +440,8 @@ abstract class AbstractModel extends \Magento\Object
         if (!$this->getId()) {
             $this->isObjectNew(true);
         }
-        $this->_eventDispatcher->dispatch('model_save_before', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_save_before', $this->_getEventData());
+        $this->_eventManager->dispatch('model_save_before', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_save_before', $this->_getEventData());
         return $this;
     }
 
@@ -452,7 +458,7 @@ abstract class AbstractModel extends \Magento\Object
             $errors = $validator->getMessages();
             $exception = new \Magento\Core\Exception(implode(PHP_EOL, $errors));
             foreach ($errors as $errorMessage) {
-                $exception->addMessage(new \Magento\Core\Model\Message\Error($errorMessage));
+                $exception->addMessage(new \Magento\Message\Error($errorMessage));
             }
             throw $exception;
         }
@@ -580,8 +586,8 @@ abstract class AbstractModel extends \Magento\Object
     protected function _afterSave()
     {
         $this->cleanModelCache();
-        $this->_eventDispatcher->dispatch('model_save_after', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_save_after', $this->_getEventData());
+        $this->_eventManager->dispatch('model_save_after', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_save_after', $this->_getEventData());
         return $this;
     }
 
@@ -615,8 +621,8 @@ abstract class AbstractModel extends \Magento\Object
      */
     protected function _beforeDelete()
     {
-        $this->_eventDispatcher->dispatch('model_delete_before', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_delete_before', $this->_getEventData());
+        $this->_eventManager->dispatch('model_delete_before', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_delete_before', $this->_getEventData());
         $this->cleanModelCache();
         return $this;
     }
@@ -646,8 +652,8 @@ abstract class AbstractModel extends \Magento\Object
      */
     protected function _afterDelete()
     {
-        $this->_eventDispatcher->dispatch('model_delete_after', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_delete_after', $this->_getEventData());
+        $this->_eventManager->dispatch('model_delete_after', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_delete_after', $this->_getEventData());
         return $this;
     }
 
@@ -658,8 +664,8 @@ abstract class AbstractModel extends \Magento\Object
      */
     protected function _afterDeleteCommit()
     {
-        $this->_eventDispatcher->dispatch('model_delete_commit_after', array('object' => $this));
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_delete_commit_after', $this->_getEventData());
+        $this->_eventManager->dispatch('model_delete_commit_after', array('object' => $this));
+        $this->_eventManager->dispatch($this->_eventPrefix . '_delete_commit_after', $this->_getEventData());
         return $this;
     }
 
@@ -691,7 +697,7 @@ abstract class AbstractModel extends \Magento\Object
     final public function clearInstance()
     {
         $this->_clearReferences();
-        $this->_eventDispatcher->dispatch($this->_eventPrefix . '_clear', $this->_getEventData());
+        $this->_eventManager->dispatch($this->_eventPrefix . '_clear', $this->_getEventData());
         $this->_clearData();
         return $this;
     }
diff --git a/app/code/Magento/Core/Model/App.php b/app/code/Magento/Core/Model/App.php
index 3b56af02c00..19ea96827e3 100644
--- a/app/code/Magento/Core/Model/App.php
+++ b/app/code/Magento/Core/Model/App.php
@@ -53,7 +53,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Magento version
      */
-    const VERSION = '2.0.0.0-dev52';
+    const VERSION = '2.0.0.0-dev53';
 
 
     /**
@@ -553,7 +553,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @param bool $value
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::setIsSingleStoreModeAllowed()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::setIsSingleStoreModeAllowed()
      */
     public function setIsSingleStoreModeAllowed($value)
     {
@@ -565,7 +565,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @return bool
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::hasSingleStore()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::hasSingleStore()
      */
     public function hasSingleStore()
     {
@@ -577,7 +577,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @return bool
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::isSingleStoreMode()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::isSingleStoreMode()
      */
     public function isSingleStoreMode()
     {
@@ -587,7 +587,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * @throws \Magento\Core\Model\Store\Exception
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::throwStoreException()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::throwStoreException()
      */
     public function throwStoreException()
     {
@@ -601,7 +601,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @return \Magento\Core\Model\Store
      * @throws \Magento\Core\Model\Store\Exception
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getStore()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getStore()
      */
     public function getStore($storeId = null)
     {
@@ -615,7 +615,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @param bool $codeKey
      * @return \Magento\Core\Model\Store[]
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getStores()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getStores()
      */
     public function getStores($withDefault = false, $codeKey = false)
     {
@@ -629,7 +629,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @return \Magento\Core\Model\Website
      * @throws \Magento\Core\Exception
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getWebsite()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getWebsite()
      */
     public function getWebsite($websiteId = null)
     {
@@ -643,7 +643,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @param bool|string $codeKey
      * @return \Magento\Core\Model\Website[]
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getWebsites()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getWebsites()
      */
     public function getWebsites($withDefault = false, $codeKey = false)
     {
@@ -653,7 +653,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Reinitialize store list
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::reinitStores()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::reinitStores()
      */
     public function reinitStores()
     {
@@ -665,7 +665,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @param string $store
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::setCurrentStore()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::setCurrentStore()
      */
     public function setCurrentStore($store)
     {
@@ -677,7 +677,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @return string
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getCurrentStore()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getCurrentStore()
      */
     public function getCurrentStore()
     {
@@ -690,7 +690,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @return \Magento\Core\Model\Store
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getDefaultStoreView()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getDefaultStoreView()
      */
     public function getDefaultStoreView()
     {
@@ -704,7 +704,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @return \Magento\Core\Model\Store\Group
      * @throws \Magento\Core\Exception
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getGroup()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getGroup()
      */
     public function getGroup($groupId = null)
     {
@@ -720,7 +720,7 @@ class App implements \Magento\Core\Model\AppInterface
      * @param bool $codeKey
      * @return \Magento\Core\Model\Store\Group[]
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getGroups()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getGroups()
      */
     public function getGroups($withDefault = false, $codeKey = false)
     {
@@ -732,7 +732,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @param null|bool|int|string|\Magento\Core\Model\Website $websiteId
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::clearWebsiteCache()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::clearWebsiteCache()
      */
     public function clearWebsiteCache($websiteId = null)
     {
@@ -744,7 +744,7 @@ class App implements \Magento\Core\Model\AppInterface
      *
      * @return \Magento\Core\Model\Store|null
      *
-     * @deprecated use \Magento\Core\Model\StoreManager::getAnyStoreView()
+     * @deprecated use \Magento\Core\Model\StoreManagerInterface::getAnyStoreView()
      */
     public function getAnyStoreView()
     {
@@ -801,7 +801,7 @@ class App implements \Magento\Core\Model\AppInterface
             'revision'  => '0',
             'patch'     => '0',
             'stability' => 'dev',
-            'number'    => '52',
+            'number'    => '53',
         );
     }
 }
diff --git a/app/code/Magento/Core/Model/App/Area.php b/app/code/Magento/Core/Model/App/Area.php
index ef449a77f93..26e92f0151a 100644
--- a/app/code/Magento/Core/Model/App/Area.php
+++ b/app/code/Magento/Core/Model/App/Area.php
@@ -114,7 +114,7 @@ class Area
     protected $_design;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -127,7 +127,7 @@ class Area
      * @param \Magento\App\ObjectManager\ConfigLoader $diConfigLoader
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Design $design
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param string $areaCode
      */
     public function __construct(
@@ -139,7 +139,7 @@ class Area
         \Magento\App\ObjectManager\ConfigLoader $diConfigLoader,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Design $design,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         $areaCode
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Core/Model/App/Emulation.php b/app/code/Magento/Core/Model/App/Emulation.php
index a14b1719376..c623c2e632b 100644
--- a/app/code/Magento/Core/Model/App/Emulation.php
+++ b/app/code/Magento/Core/Model/App/Emulation.php
@@ -41,7 +41,7 @@ class Emulation extends \Magento\Object
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -74,7 +74,7 @@ class Emulation extends \Magento\Object
 
     /**
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Design $design
      * @param \Magento\Core\Model\Translate $translate
@@ -85,7 +85,7 @@ class Emulation extends \Magento\Object
      */
     public function __construct(
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Design $design,
         \Magento\Core\Model\Translate $translate,
diff --git a/app/code/Magento/Core/Model/Calculator.php b/app/code/Magento/Core/Model/Calculator.php
index 84c34500d53..c508aee1f68 100644
--- a/app/code/Magento/Core/Model/Calculator.php
+++ b/app/code/Magento/Core/Model/Calculator.php
@@ -54,9 +54,9 @@ class Calculator
      * Initialize calculator
      *
      * @param \Magento\Core\Model\Store|int $store
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
-    public function __construct($store, \Magento\Core\Model\StoreManager $storeManager)
+    public function __construct($store, \Magento\Core\Model\StoreManagerInterface $storeManager)
     {
         if (!($store instanceof \Magento\Core\Model\Store)) {
             $store = $storeManager->getStore($store);
diff --git a/app/code/Magento/Core/Model/Context.php b/app/code/Magento/Core/Model/Context.php
index 53d13a63eec..e33bca05e77 100644
--- a/app/code/Magento/Core/Model/Context.php
+++ b/app/code/Magento/Core/Model/Context.php
@@ -97,12 +97,4 @@ class Context implements \Magento\ObjectManager\ContextInterface
     {
         return $this->_appState;
     }
-
-    /**
-     * @return \Magento\Core\Model\StoreManager
-     */
-    public function getStoreManager()
-    {
-        return $this->_storeManager;
-    }
 }
diff --git a/app/code/Magento/Core/Model/Cookie.php b/app/code/Magento/Core/Model/Cookie.php
index b7a2ec5e4ea..aab242c8313 100644
--- a/app/code/Magento/Core/Model/Cookie.php
+++ b/app/code/Magento/Core/Model/Cookie.php
@@ -51,7 +51,7 @@ class Cookie
     protected $_store;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -82,7 +82,7 @@ class Cookie
         \Magento\App\RequestInterface $request,
         \Magento\App\ResponseInterface $response,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_httpRequest = $request;
         $this->_httpResponse = $response;
diff --git a/app/code/Magento/Core/Model/Date.php b/app/code/Magento/Core/Model/Date.php
index 1933ef6a2d8..1fa213c9d1e 100644
--- a/app/code/Magento/Core/Model/Date.php
+++ b/app/code/Magento/Core/Model/Date.php
@@ -45,13 +45,10 @@ class Date
     protected $_locale;
 
     /**
-     * Init offset
-     *
+     * @param LocaleInterface $locale
      */
-    public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale
-    ) {
+    public function __construct(\Magento\Core\Model\LocaleInterface $locale)
+    {
         $this->_locale = $locale;
         $this->_offset = $this->calculateOffset($locale->getConfigTimezone());
     }
diff --git a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
index b6b02d75145..992e8176e17 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
@@ -39,7 +39,7 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
      * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -49,7 +49,7 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
         \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Core/Model/Design/Backend/Theme.php b/app/code/Magento/Core/Model/Design/Backend/Theme.php
index 679e4a723c0..9882c87a439 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Theme.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Theme.php
@@ -39,7 +39,7 @@ class Theme extends \Magento\Core\Model\Config\Value
      * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -49,7 +49,7 @@ class Theme extends \Magento\Core\Model\Config\Value
         \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Core/Model/DesignLoader.php b/app/code/Magento/Core/Model/DesignLoader.php
new file mode 100644
index 00000000000..544feee4e8a
--- /dev/null
+++ b/app/code/Magento/Core/Model/DesignLoader.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\Model;
+
+class DesignLoader
+{
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\Core\Model\App
+     */
+    protected $_app;
+
+    /**
+     * @var \Magento\View\LayoutInterface
+     */
+    protected $_layout;
+
+    /**
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\Core\Model\App $app
+     * @param \Magento\View\LayoutInterface $layout
+     */
+    public function __construct(
+        \Magento\App\RequestInterface $request,
+        \Magento\Core\Model\App $app,
+        \Magento\View\LayoutInterface $layout
+    ) {
+        $this->_request = $request;
+        $this->_app = $app;
+        $this->_layout = $layout;
+    }
+
+    /**
+     * Load design
+     */
+    public function load()
+    {
+        $area = $this->_app->getArea($this->_layout->getArea());
+        $area->load(\Magento\Core\Model\App\Area::PART_DESIGN);
+        $area->load(\Magento\Core\Model\App\Area::PART_TRANSLATE);
+        $area->detectDesign($this->_request);
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Email.php b/app/code/Magento/Core/Model/Email.php
deleted file mode 100644
index bbad0794757..00000000000
--- a/app/code/Magento/Core/Model/Email.php
+++ /dev/null
@@ -1,146 +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)
- */
-
-
-/**
- * Possible data fields:
- *
- * - subject
- * - to
- * - from
- * - body
- * - template (file name)
- * - module (for template)
- *
- */
-namespace Magento\Core\Model;
-
-class Email extends \Magento\Object
-{
-    protected $_tplVars = array();
-    protected $_block;
-
-    /**
-     * Core store config
-     *
-     * @var \Magento\Core\Model\Store\Config
-     */
-    protected $_coreStoreConfig;
-
-    /**
-     * Layout factory
-     *
-     * @var \Magento\View\LayoutFactory
-     */
-    protected $_layoutFactory;
-
-    /**
-     * @param Store\Config $coreStoreConfig
-     * @param \Magento\View\LayoutFactory $layoutFactory
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\View\LayoutFactory $layoutFactory,
-        array $data = array()
-    ) {
-        $this->_layoutFactory = $layoutFactory;
-        $this->_coreStoreConfig = $coreStoreConfig;
-        // TODO: move to config
-        $this->setFromName('Magento');
-        $this->setFromEmail('magento@varien.com');
-        $this->setType('text');
-        parent::__construct($data);
-    }
-
-    public function setTemplateVar($var, $value = null)
-    {
-        if (is_array($var)) {
-            foreach ($var as $index=>$value) {
-                $this->_tplVars[$index] = $value;
-            }
-        }
-        else {
-            $this->_tplVars[$var] = $value;
-        }
-        return $this;
-    }
-
-    public function getTemplateVars()
-    {
-        return $this->_tplVars;
-    }
-
-    public function getBody()
-    {
-        $body = $this->getData('body');
-        if (empty($body) && $this->getTemplate()) {
-            $this->_block = $this->_layoutFactory->create()->createBlock('Magento\Core\Block\Template', 'email')
-                ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
-                ->setTemplate($this->getTemplate());
-            foreach ($this->getTemplateVars() as $var=>$value) {
-                $this->_block->assign($var, $value);
-            }
-            $this->_block->assign('_type', strtolower($this->getType()))
-                ->assign('_section', 'body');
-            $body = $this->_block->toHtml();
-        }
-        return $body;
-    }
-
-    public function getSubject()
-    {
-        $subject = $this->getData('subject');
-        if (empty($subject) && $this->_block) {
-            $this->_block->assign('_section', 'subject');
-            $subject = $this->_block->toHtml();
-        }
-        return $subject;
-    }
-
-    public function send()
-    {
-        if ($this->_coreStoreConfig->getConfigFlag('system/smtp/disable')) {
-            return $this;
-        }
-
-        $mail = new \Zend_Mail();
-
-        if (strtolower($this->getType()) == 'html') {
-            $mail->setBodyHtml($this->getBody());
-        }
-        else {
-            $mail->setBodyText($this->getBody());
-        }
-
-        $mail->setFrom($this->getFromEmail(), $this->getFromName())
-            ->addTo($this->getToEmail(), $this->getToName())
-            ->setSubject($this->getSubject());
-        $mail->send();
-
-        return $this;
-    }
-}
diff --git a/app/code/Magento/Core/Model/File/Storage/Database.php b/app/code/Magento/Core/Model/File/Storage/Database.php
index e09cb374636..15a50465b38 100644
--- a/app/code/Magento/Core/Model/File/Storage/Database.php
+++ b/app/code/Magento/Core/Model/File/Storage/Database.php
@@ -52,11 +52,6 @@ class Database extends \Magento\Core\Model\File\Storage\Database\AbstractDatabas
      */
     protected $_errors = array();
 
-    /**
-     * @var \Magento\Logger
-     */
-    protected $_logger;
-
     /**
      * @var \Magento\Core\Model\File\Storage\Directory\DatabaseFactory
      */
@@ -70,7 +65,6 @@ class Database extends \Magento\Core\Model\File\Storage\Database\AbstractDatabas
     /**
      * Class constructor
      *
-     * @param \Magento\Logger $logger
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDb
      * @param \Magento\Core\Helper\File\Media $mediaHelper
      * @param \Magento\Core\Model\Context $context
@@ -84,7 +78,6 @@ class Database extends \Magento\Core\Model\File\Storage\Database\AbstractDatabas
      * @param array $data
      */
     public function __construct(
-        \Magento\Logger $logger,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDb,
         \Magento\Core\Helper\File\Media $mediaHelper,
         \Magento\Core\Model\Context $context,
@@ -98,7 +91,6 @@ class Database extends \Magento\Core\Model\File\Storage\Database\AbstractDatabas
         array $data = array()
     ) {
         $this->_directoryFactory = $directoryFactory;
-        $this->_logger = $logger;
         $this->_mediaHelper = $mediaHelper;
         parent::__construct(
             $coreFileStorageDb,
diff --git a/app/code/Magento/Core/Model/Input/Filter.php b/app/code/Magento/Core/Model/Input/Filter.php
index 6304f4b4883..f4a3052d3c8 100644
--- a/app/code/Magento/Core/Model/Input/Filter.php
+++ b/app/code/Magento/Core/Model/Input/Filter.php
@@ -101,7 +101,7 @@ namespace Magento\Core\Model\Input;
 class Filter implements \Zend_Filter_Interface
 {
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
@@ -111,11 +111,11 @@ class Filter implements \Zend_Filter_Interface
     protected $_objectManager;
 
     /**
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param \Magento\ObjectManager $objectManager
      */
     function __construct(
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         \Magento\ObjectManager $objectManager
     ) {
         $this->_helperFactory = $helperFactory;
@@ -270,11 +270,11 @@ class Filter implements \Zend_Filter_Interface
      * Call specified helper method for $value filtration
      *
      * @param mixed $value
-     * @param \Magento\Core\Helper\AbstractHelper $helper
+     * @param \Magento\App\Helper\AbstractHelper $helper
      * @param array $filterData
      * @return mixed
      */
-    protected function _applyFiltrationWithHelper($value, \Magento\Core\Helper\AbstractHelper $helper, array $filterData)
+    protected function _applyFiltrationWithHelper($value, \Magento\App\Helper\AbstractHelper $helper, array $filterData)
     {
         if (!isset($filterData['method']) || empty($filterData['method'])) {
             throw new \Exception("Helper filtration method is not set");
@@ -292,7 +292,7 @@ class Filter implements \Zend_Filter_Interface
      * Try to create Magento helper for filtration based on $filterData. Return false on failure
      *
      * @param $filterData
-     * @return bool|\Magento\Core\Helper\AbstractHelper
+     * @return bool|\Magento\App\Helper\AbstractHelper
      * @throws \Exception
      */
     protected function _getFiltrationHelper($filterData)
@@ -302,7 +302,7 @@ class Filter implements \Zend_Filter_Interface
             $helper = $filterData['helper'];
             if (is_string($helper)) {
                 $helper = $this->_helperFactory->get($helper);
-            } elseif (!($helper instanceof \Magento\Core\Helper\AbstractHelper)) {
+            } elseif (!($helper instanceof \Magento\App\Helper\AbstractHelper)) {
                 throw new \Exception("Filter '{$helper}' not found");
             }
         }
diff --git a/app/code/Magento/Core/Model/Layout.php b/app/code/Magento/Core/Model/Layout.php
index 82dc52564df..c5eddc4c0a2 100644
--- a/app/code/Magento/Core/Model/Layout.php
+++ b/app/code/Magento/Core/Model/Layout.php
@@ -205,7 +205,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
     /**
      * Core data
      *
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_factoryHelper = null;
 
@@ -243,12 +243,17 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      */
     protected $_appState;
 
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
     /**
      * @param \Magento\View\Layout\ProcessorFactory $processorFactory
      * @param Resource\Theme\CollectionFactory $themeFactory
      * @param \Magento\Logger $logger
      * @param \Magento\Event\ManagerInterface $eventManager
-     * @param Factory\Helper $factoryHelper
+     * @param \Magento\App\Helper\HelperFactory $factoryHelper
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\View\DesignInterface $design
      * @param BlockFactory $blockFactory
@@ -258,6 +263,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      * @param DataService\Graph $dataServiceGraph
      * @param Store\Config $coreStoreConfig
      * @param \Magento\App\State $appState
+     * @param \Magento\ObjectManager $objectManager
      * @param string $area
      */
     public function __construct(
@@ -265,7 +271,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themeFactory,
         \Magento\Logger $logger,
         \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Core\Model\Factory\Helper $factoryHelper,
+        \Magento\App\Helper\HelperFactory $factoryHelper,
         \Magento\Core\Helper\Data $coreData,
         \Magento\View\DesignInterface $design,
         \Magento\View\Element\BlockFactory $blockFactory,
@@ -275,6 +281,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
         \Magento\Core\Model\DataService\Graph $dataServiceGraph,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\App\State $appState,
+        \Magento\ObjectManager $objectManager,
         $area = \Magento\View\DesignInterface::DEFAULT_AREA
     ) {
         $this->_eventManager = $eventManager;
@@ -295,6 +302,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
         $this->_processorFactory = $processorFactory;
         $this->themeFactory = $themeFactory;
         $this->_logger = $logger;
+        $this->_objectManager = $objectManager;
     }
 
     /**
@@ -869,7 +877,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      * Creates block object based on xml node data and add it to the layout
      *
      * @param string $elementName
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      * @throws \Magento\Exception
      */
     protected function _generateBlock($elementName)
@@ -902,7 +910,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
 
         if (!empty($node['template'])) {
             $templateFileName = (string)$node['template'];
-            if ($block instanceof \Magento\Core\Block\Template) {
+            if ($block instanceof \Magento\View\Block\Template) {
                 $block->assign($dictionary);
             }
             $block->setTemplate($templateFileName);
@@ -994,7 +1002,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      *
      * @param string $parentName
      * @param string $alias
-     * @return bool|\Magento\Core\Block\AbstractBlock
+     * @return bool|\Magento\View\Block\AbstractBlock
      */
     public function getChildBlock($parentName, $alias)
     {
@@ -1297,7 +1305,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      * Save block in blocks registry
      *
      * @param string $name
-     * @param \Magento\Core\Block\AbstractBlock $block
+     * @param \Magento\View\Block\AbstractBlock $block
      * @return \Magento\Core\Model\Layout
      */
     public function setBlock($name, $block)
@@ -1329,7 +1337,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      * @param  string $type
      * @param  string $name
      * @param  array $attributes
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function createBlock($type, $name = '', array $attributes = array())
     {
@@ -1341,10 +1349,10 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
     /**
      * Create block and add to layout
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
+     * @param string|\Magento\View\Block\AbstractBlock $block
      * @param string $name
      * @param array $attributes
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _createBlock($block, $name, array $attributes = array())
     {
@@ -1363,15 +1371,15 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
     /**
      * Add a block to registry, create new object if needed
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
+     * @param string|\Magento\View\Block\AbstractBlock $block
      * @param string $name
      * @param string $parent
      * @param string $alias
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function addBlock($block, $name = '', $parent = '', $alias = '')
     {
-        if (empty($name) && $block instanceof \Magento\Core\Block\AbstractBlock) {
+        if (empty($name) && $block instanceof \Magento\View\Block\AbstractBlock) {
             $name = $block->getNameInLayout();
         }
         $name = $this->_createStructuralElement(
@@ -1426,10 +1434,10 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
     /**
      * Create block object instance based on block type
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
+     * @param string|\Magento\View\Block\AbstractBlock $block
      * @param array $attributes
      * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _getBlockInstance($block, array $attributes = array())
     {
@@ -1438,7 +1446,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
                 $block = $this->_blockFactory->createBlock($block, $attributes);
             }
         }
-        if (!$block instanceof \Magento\Core\Block\AbstractBlock) {
+        if (!$block instanceof \Magento\View\Block\AbstractBlock) {
             throw new \Magento\Core\Exception(__('Invalid block type: %1', $block));
         }
         return $block;
@@ -1459,7 +1467,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      * Get block object by name
      *
      * @param string $name
-     * @return \Magento\Core\Block\AbstractBlock|bool
+     * @return \Magento\View\Block\AbstractBlock|bool
      */
     public function getBlock($name)
     {
@@ -1539,7 +1547,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
     /**
      * Retrieve messages block
      *
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     public function getMessagesBlock()
     {
@@ -1547,7 +1555,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
         if ($block) {
             return $block;
         }
-        return $this->createBlock('Magento\Core\Block\Messages', 'messages');
+        return $this->createBlock('Magento\View\Block\Messages', 'messages');
     }
 
     /**
@@ -1555,7 +1563,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
      *
      * @param string $type
      * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Helper\AbstractHelper
+     * @return \Magento\App\Helper\AbstractHelper
      */
     public function getBlockSingleton($type)
     {
@@ -1566,7 +1574,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
 
             $helper = $this->_blockFactory->createBlock($type);
             if ($helper) {
-                if ($helper instanceof \Magento\Core\Block\AbstractBlock) {
+                if ($helper instanceof \Magento\View\Block\AbstractBlock) {
                     $helper->setLayout($this);
                 }
                 $this->_helpers[$type] = $helper;
@@ -1646,7 +1654,7 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
             if (!empty($options['dataServiceName'])) {
                 $dictionary = $this->_dataServiceGraph->get($options['dataServiceName']);
             }
-            /** @var $block \Magento\Core\Block\Template */
+            /** @var $block \Magento\View\Block\Template */
             $block = $this->createBlock($options['type'], '')
                 ->setData($data)
                 ->assign($dictionary)
@@ -1656,4 +1664,30 @@ class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutIn
             echo $block->toHtml();
         }
     }
+
+    /**
+     * Init messages by message storage(s), loading and adding messages to layout messages block
+     *
+     * @throws \UnexpectedValueException
+     * @param string|array $messages
+     */
+    public function initMessages($messages)
+    {
+        if (!is_array($messages)) {
+            $messages = array($messages);
+        }
+        foreach ($messages as $storageName) {
+            $storage = $this->_objectManager->get($storageName);
+            if ($storage) {
+                $block = $this->getMessagesBlock();
+                $block->addMessages($storage->getMessages(true));
+                $block->setEscapeMessageFlag($storage->getEscapeMessages(true));
+                $block->addStorageType($storageName);
+            } else {
+                throw new \UnexpectedValueException(
+                    __('Invalid messages storage "%1" for layout messages initialization', (string)$storageName)
+                );
+            }
+        }
+    }
 }
diff --git a/app/code/Magento/Core/Model/Locale.php b/app/code/Magento/Core/Model/Locale.php
index 62850f29a57..a27a76729a4 100644
--- a/app/code/Magento/Core/Model/Locale.php
+++ b/app/code/Magento/Core/Model/Locale.php
@@ -89,7 +89,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -128,7 +128,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\App\State $appState
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Stdlib\DateTime $dateTime
@@ -140,7 +140,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\App\State $appState,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
         \Magento\Stdlib\DateTime $dateTime,
diff --git a/app/code/Magento/Core/Model/Message.php b/app/code/Magento/Core/Model/Message.php
deleted file mode 100644
index e827d078333..00000000000
--- a/app/code/Magento/Core/Model/Message.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_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)
- */
-
-/**
- * Message model
- *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Model;
-
-class Message
-{
-    const ERROR     = 'error';
-    const WARNING   = 'warning';
-    const NOTICE    = 'notice';
-    const SUCCESS   = 'success';
-    
-    protected function _factory($code, $type, $class='', $method='')
-    {
-        switch (strtolower($type)) {
-            case self::ERROR :
-                $message = new \Magento\Core\Model\Message\Error($code);
-                break;
-            case self::WARNING :
-                $message = new \Magento\Core\Model\Message\Warning($code);
-                break;
-            case self::SUCCESS :
-                $message = new \Magento\Core\Model\Message\Success($code);
-                break;
-            default:
-                $message = new \Magento\Core\Model\Message\Notice($code);
-                break;
-        }
-        $message->setClass($class);
-        $message->setMethod($method);
-        
-        return $message;
-    }
-    
-    public function error($code, $class='', $method='')
-    {
-        return $this->_factory($code, self::ERROR, $class, $method);
-    }
-
-    public function warning($code, $class='', $method='')
-    {
-        return $this->_factory($code, self::WARNING, $class, $method);
-    }
-
-    public function notice($code, $class='', $method='')
-    {
-        return $this->_factory($code, self::NOTICE, $class, $method);
-    }
-
-    public function success($code, $class='', $method='')
-    {
-        return $this->_factory($code, self::SUCCESS, $class, $method);
-    }
-}
diff --git a/app/code/Magento/Core/Model/Resource/Translate.php b/app/code/Magento/Core/Model/Resource/Translate.php
index e554b91bf26..df19b8e4053 100644
--- a/app/code/Magento/Core/Model/Resource/Translate.php
+++ b/app/code/Magento/Core/Model/Resource/Translate.php
@@ -42,19 +42,19 @@ class Translate extends \Magento\Core\Model\Resource\Db\AbstractDb
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
      * @param \Magento\App\Resource $resource
      * @param \Magento\App\State $appState
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\App\Resource $resource,
         \Magento\App\State $appState,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($resource);
         $this->_appState = $appState;
diff --git a/app/code/Magento/Core/Model/Resource/Translate/String.php b/app/code/Magento/Core/Model/Resource/Translate/String.php
index 121c84331cc..e9a949301c0 100644
--- a/app/code/Magento/Core/Model/Resource/Translate/String.php
+++ b/app/code/Magento/Core/Model/Resource/Translate/String.php
@@ -42,19 +42,19 @@ class String extends \Magento\Core\Model\Resource\Db\AbstractDb
     protected $_locale;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
      * @param \Magento\App\Resource $resource
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\App\Resource $resource,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($resource);
         $this->_locale = $locale;
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 9f8d128b745..09ab3179220 100644
--- a/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
@@ -37,7 +37,9 @@ namespace Magento\Core\Model\Resource\Url\Rewrite;
 class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollection
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * Store Manager Model
+     *
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -46,7 +48,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
@@ -54,7 +56,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
         \Magento\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
         parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $resource);
diff --git a/app/code/Magento/Core/Model/Session.php b/app/code/Magento/Core/Model/Session.php
index 7dce363aafc..459f294c5f4 100644
--- a/app/code/Magento/Core/Model/Session.php
+++ b/app/code/Magento/Core/Model/Session.php
@@ -24,6 +24,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\Core\Model;
 
 /**
  * Core session model
@@ -34,8 +35,6 @@
  * @method \Magento\Core\Model\Session setCookieShouldBeReceived(bool $flag)
  * @method \Magento\Core\Model\Session unsCookieShouldBeReceived()
  */
-namespace Magento\Core\Model;
-
 class Session extends \Magento\Core\Model\Session\AbstractSession
 {
     /**
diff --git a/app/code/Magento/Core/Model/Session/AbstractSession.php b/app/code/Magento/Core/Model/Session/AbstractSession.php
index 68190b051df..05afd75a8d8 100644
--- a/app/code/Magento/Core/Model/Session/AbstractSession.php
+++ b/app/code/Magento/Core/Model/Session/AbstractSession.php
@@ -101,16 +101,16 @@ class AbstractSession extends \Magento\Object
     /**
      * Core message
      *
-     * @var \Magento\Core\Model\Message
+     * @var \Magento\Message\Factory
      */
-    protected $_message;
+    protected $messageFactory;
 
     /**
      * Core message collection factory
      *
-     * @var \Magento\Core\Model\Message\CollectionFactory
+     * @var \Magento\Message\CollectionFactory
      */
-    protected $_messageFactory;
+    protected $messagesFactory;
 
     /**
      * @var \Magento\App\RequestInterface
@@ -123,7 +123,7 @@ class AbstractSession extends \Magento\Object
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -168,8 +168,8 @@ class AbstractSession extends \Magento\Object
         $this->_saveMethod = $this->_saveMethod ?: $context->getSaveMethod();
         $this->_cacheLimiter = $this->_cacheLimiter ?: $context->getCacheLimiter();
         $this->_sidNameMap = $context->getSidMap();
-        $this->_messageFactory = $context->getMessageFactory();
-        $this->_message = $context->getMessage();
+        $this->messagesFactory = $context->getMessagesFactory();
+        $this->messageFactory = $context->getMessageFactory();
         $this->_cookie = $context->getCookie();
         $this->_request = $context->getRequest();
         $this->_appState = $context->getAppState();
@@ -408,12 +408,12 @@ class AbstractSession extends \Magento\Object
      * Retrieve messages from session
      *
      * @param   bool $clear
-     * @return  \Magento\Core\Model\Message\Collection
+     * @return  \Magento\Message\Collection
      */
     public function getMessages($clear = false)
     {
         if (!$this->getData('messages')) {
-            $this->setMessages($this->_messageFactory->create());
+            $this->setMessages($this->messagesFactory->create());
         }
 
         if ($clear) {
@@ -442,17 +442,17 @@ class AbstractSession extends \Magento\Object
         $file = $this->_coreStoreConfig->getConfig(self::XML_PATH_LOG_EXCEPTION_FILE);
         $this->_logger->logFile($message, \Zend_Log::DEBUG, $file);
 
-        $this->addMessage($this->_message->error($alternativeText));
+        $this->addMessage($this->messageFactory->error($alternativeText));
         return $this;
     }
 
     /**
      * Adding new message to message collection
      *
-     * @param   \Magento\Core\Model\Message\AbstractMessage $message
+     * @param   \Magento\Message\AbstractMessage $message
      * @return  \Magento\Core\Model\Session\AbstractSession
      */
-    public function addMessage(\Magento\Core\Model\Message\AbstractMessage $message)
+    public function addMessage(\Magento\Message\AbstractMessage $message)
     {
         $this->getMessages()->add($message);
         $this->_eventManager->dispatch('core_session_abstract_add_message');
@@ -467,7 +467,7 @@ class AbstractSession extends \Magento\Object
      */
     public function addError($message)
     {
-        $this->addMessage($this->_message->error($message));
+        $this->addMessage($this->messageFactory->error($message));
         return $this;
     }
 
@@ -479,7 +479,7 @@ class AbstractSession extends \Magento\Object
      */
     public function addWarning($message)
     {
-        $this->addMessage($this->_message->warning($message));
+        $this->addMessage($this->messageFactory->warning($message));
         return $this;
     }
 
@@ -491,7 +491,7 @@ class AbstractSession extends \Magento\Object
      */
     public function addNotice($message)
     {
-        $this->addMessage($this->_message->notice($message));
+        $this->addMessage($this->messageFactory->notice($message));
         return $this;
     }
 
@@ -503,7 +503,7 @@ class AbstractSession extends \Magento\Object
      */
     public function addSuccess($message)
     {
-        $this->addMessage($this->_message->success($message));
+        $this->addMessage($this->messageFactory->success($message));
         return $this;
     }
 
@@ -526,7 +526,7 @@ class AbstractSession extends \Magento\Object
     /**
      * Adds messages array to message collection, but doesn't add duplicates to it
      *
-     * @param   array|string|\Magento\Core\Model\Message\AbstractMessage $messages
+     * @param   array|string|\Magento\Message\AbstractMessage $messages
      * @return  \Magento\Core\Model\Session\AbstractSession
      */
     public function addUniqueMessages($messages)
@@ -541,7 +541,7 @@ class AbstractSession extends \Magento\Object
         $messagesAlready = array();
         $items = $this->getMessages()->getItems();
         foreach ($items as $item) {
-            if ($item instanceof \Magento\Core\Model\Message\AbstractMessage) {
+            if ($item instanceof \Magento\Message\AbstractMessage) {
                 $text = $item->getText();
             } else if (is_string($item)) {
                 $text = $item;
@@ -552,7 +552,7 @@ class AbstractSession extends \Magento\Object
         }
 
         foreach ($messages as $message) {
-            if ($message instanceof \Magento\Core\Model\Message\AbstractMessage) {
+            if ($message instanceof \Magento\Message\AbstractMessage) {
                 $text = $message->getText();
             } else if (is_string($message)) {
                 $text = $message;
@@ -583,7 +583,9 @@ class AbstractSession extends \Magento\Object
     {
 
         if (null === $id
-            && ($this->_storeManager->getStore()->isAdmin() || $this->_coreStoreConfig->getConfig(self::XML_PATH_USE_FRONTEND_SID))
+            && ($this->_storeManager->getStore()->isAdmin()
+                || $this->_coreStoreConfig->getConfig(self::XML_PATH_USE_FRONTEND_SID)
+            )
         ) {
             $_queryParam = $this->getSessionIdQueryParam();
             if (isset($_GET[$_queryParam]) && $this->_url->isOwnOriginUrl()) {
diff --git a/app/code/Magento/Core/Model/Session/Context.php b/app/code/Magento/Core/Model/Session/Context.php
index 8fd753c9204..46c0e29f3f2 100644
--- a/app/code/Magento/Core/Model/Session/Context.php
+++ b/app/code/Magento/Core/Model/Session/Context.php
@@ -77,18 +77,18 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_cookie;
 
     /**
-     * Core message
+     * Core message factory
      *
-     * @var \Magento\Core\Model\Message
+     * @var \Magento\Message\Factory
      */
-    protected $_message;
+    protected $messageFactory;
 
     /**
      * Core message collection factory
      *
-     * @var \Magento\Core\Model\Message\CollectionFactory
+     * @var \Magento\Message\CollectionFactory
      */
-    protected $_messageFactory;
+    protected $messagesFactory;
 
     /**
      * @var \Magento\App\RequestInterface
@@ -101,7 +101,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -120,12 +120,12 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\Logger $logger
      * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
-     * @param \Magento\Core\Model\Message $message
+     * @param \Magento\Message\CollectionFactory $messagesFactory
+     * @param \Magento\Message\Factory $messageFactory
      * @param \Magento\Core\Model\Cookie $cookie
      * @param \Magento\App\RequestInterface $request
      * @param \Magento\App\State $appState
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Url $url
      * @param $saveMethod
@@ -138,12 +138,12 @@ class Context implements \Magento\ObjectManager\ContextInterface
         \Magento\Logger $logger,
         \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Message\CollectionFactory $messageFactory,
-        \Magento\Core\Model\Message $message,
+        \Magento\Message\CollectionFactory $messagesFactory,
+        \Magento\Message\Factory $messageFactory,
         \Magento\Core\Model\Cookie $cookie,
         \Magento\App\RequestInterface $request,
         \Magento\App\State $appState,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\App\Dir $dir,
         \Magento\Core\Model\Url $url,
         $saveMethod,
@@ -159,8 +159,8 @@ class Context implements \Magento\ObjectManager\ContextInterface
         $this->_savePath = $savePath;
         $this->_cacheLimiter = $cacheLimiter;
         $this->sidMap = $sidMap;
-        $this->_messageFactory = $messageFactory;
-        $this->_message = $message;
+        $this->messagesFactory = $messagesFactory;
+        $this->messageFactory = $messageFactory;
         $this->_cookie = $cookie;
         $this->_request = $request;
         $this->_appState = $appState;
@@ -258,19 +258,19 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Message
+     * @return \Magento\Message\Factory
      */
-    public function getMessage()
+    public function getMessageFactory()
     {
-        return $this->_message;
+        return $this->messageFactory;
     }
 
     /**
-     * @return \Magento\Core\Model\Message\CollectionFactory
+     * @return \Magento\Message\CollectionFactory
      */
-    public function getMessageFactory()
+    public function getMessagesFactory()
     {
-        return $this->_messageFactory;
+        return $this->messagesFactory;
     }
 
     /**
@@ -282,7 +282,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\StoreManager
+     * @return \Magento\Core\Model\StoreManagerInterface
      */
     public function getStoreManager()
     {
diff --git a/app/code/Magento/Core/Model/Store.php b/app/code/Magento/Core/Model/Store.php
index f8b50a4ca6a..18e4bf89fe7 100644
--- a/app/code/Magento/Core/Model/Store.php
+++ b/app/code/Magento/Core/Model/Store.php
@@ -245,11 +245,6 @@ class Store extends \Magento\Core\Model\AbstractModel
      */
     protected $_url;
 
-    /**
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
     /**
      * @var bool
      */
@@ -295,14 +290,13 @@ class Store extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\App\State $appState
      * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Resource\Config\Data $configDataResource
      * @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
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param bool $isCustomEntryPoint
      * @param array $data
@@ -313,14 +307,13 @@ class Store extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Core\Model\Url $url,
-        \Magento\App\State $appState,
         \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Resource\Config\Data $configDataResource,
         \Magento\App\Dir $dir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\Resource\Store $resource,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Data\Collection\Db $resourceCollection = null,
         $isCustomEntryPoint = false,
         array $data = array()
@@ -329,7 +322,6 @@ class Store extends \Magento\Core\Model\AbstractModel
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_url = $url;
         $this->_configCacheType = $configCacheType;
-        $this->_appState = $appState;
         $this->_request = $request;
         $this->_configDataResource = $configDataResource;
         $this->_isCustomEntryPoint = $isCustomEntryPoint;
@@ -358,7 +350,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     public function __wakeup()
     {
         parent::__wakeup();
-        $this->_eventDispatcher = \Magento\App\ObjectManager::getInstance()
+        $this->_eventManager = \Magento\App\ObjectManager::getInstance()
             ->get('Magento\Event\ManagerInterface');
         $this->_cacheManager    = \Magento\App\ObjectManager::getInstance()
             ->get('Magento\App\CacheInterface');
diff --git a/app/code/Magento/Core/Model/Store/Group.php b/app/code/Magento/Core/Model/Store/Group.php
index 514e8362aa4..103ecae8dfb 100644
--- a/app/code/Magento/Core/Model/Store/Group.php
+++ b/app/code/Magento/Core/Model/Store/Group.php
@@ -106,7 +106,7 @@ class Group extends \Magento\Core\Model\AbstractModel
     protected $_store;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -115,7 +115,7 @@ class Group extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\Config\Data $configDataResource
      * @param \Magento\Core\Model\Store $store
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -125,7 +125,7 @@ class Group extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\Config\Data $configDataResource,
         \Magento\Core\Model\Store $store,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -294,7 +294,7 @@ class Group extends \Magento\Core\Model\AbstractModel
         foreach ($this->getStores() as $store) {
             /* @var $store \Magento\Core\Model\Store */
             if ($store->getLocaleCode() == $locale) {
-                array_push($stores, $store);
+                $stores[] = $store;
             }
         }
         return $stores;
diff --git a/app/code/Magento/Core/Model/StoreManager.php b/app/code/Magento/Core/Model/StoreManager.php
index a7b0c1fe6ee..e473bac8c7e 100644
--- a/app/code/Magento/Core/Model/StoreManager.php
+++ b/app/code/Magento/Core/Model/StoreManager.php
@@ -77,21 +77,21 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
     /**
      * Helper factory
      *
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
     /**
      * @param \Magento\Core\Model\Store\StorageFactory $factory
      * @param \Magento\App\RequestInterface $request
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param string $scopeCode
      * @param string $scopeType
      */
     public function __construct(
         \Magento\Core\Model\Store\StorageFactory $factory,
         \Magento\App\RequestInterface $request,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         $scopeCode = '',
         $scopeType = 'store'
     ) {
@@ -131,7 +131,7 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
             return $this->getStore($storeId);
         } catch (\Exception $e) {
             if ($this->_getStorage()->getCurrentStore()) {
-                $this->_request->setActionName('noRoute');
+                $this->_request->setActionName('noroute');
                 return new \Magento\Object();
             }
 
diff --git a/app/code/Magento/Core/Model/System/Store.php b/app/code/Magento/Core/Model/System/Store.php
index 5cddac53a45..21787f5da3f 100644
--- a/app/code/Magento/Core/Model/System/Store.php
+++ b/app/code/Magento/Core/Model/System/Store.php
@@ -67,7 +67,7 @@ class Store extends \Magento\Object
     private $_isAdminScopeAllowed = true;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -75,10 +75,10 @@ class Store extends \Magento\Object
      * Init model
      * Load Website, Group and Store collections
      *
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @return \Magento\Core\Model\System\Store
      */
-    public function __construct(\Magento\Core\Model\StoreManager $storeManager)
+    public function __construct(\Magento\Core\Model\StoreManagerInterface $storeManager)
     {
         $this->_storeManager = $storeManager;
         return $this->reload();
diff --git a/app/code/Magento/Core/Model/Template.php b/app/code/Magento/Core/Model/Template.php
index 29b8ee28314..8e460fe7e10 100644
--- a/app/code/Magento/Core/Model/Template.php
+++ b/app/code/Magento/Core/Model/Template.php
@@ -97,7 +97,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
     protected $_appEmulation;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
diff --git a/app/code/Magento/Core/Model/Theme.php b/app/code/Magento/Core/Model/Theme.php
index b34409f06e9..aebdc4a5e6c 100644
--- a/app/code/Magento/Core/Model/Theme.php
+++ b/app/code/Magento/Core/Model/Theme.php
@@ -106,11 +106,6 @@ class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\View\D
      */
     protected $_customFactory;
 
-    /**
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
     /**
      * Initialize dependencies
      * 
@@ -136,7 +131,6 @@ class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\View\D
         \Magento\View\Design\Theme\ImageFactory $imageFactory,
         \Magento\View\Design\Theme\Validator $validator,
         \Magento\View\Design\Theme\CustomizationFactory $customizationFactory,
-        \Magento\App\State $appState,
         \Magento\Core\Model\Resource\Theme $resource = null,
         \Magento\Core\Model\Resource\Theme\Collection $resourceCollection = null,
         array $data = array()
@@ -147,7 +141,6 @@ class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\View\D
         $this->_imageFactory = $imageFactory;
         $this->_validator = $validator;
         $this->_customFactory = $customizationFactory;
-        $this->_appState = $appState;
 
         $this->addData(array(
             'type' => self::TYPE_VIRTUAL
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Physical.php b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
index 35b30986a68..2a680d166ee 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Physical.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\Theme\Domain;
 
-class Physical
+class Physical implements \Magento\View\Design\Theme\Domain\PhysicalInterface
 {
     /**
      * Physical theme model instance
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Staging.php b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
index 9007f0b74b3..2d2a17582c7 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Staging.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\Theme\Domain;
 
-class Staging
+class Staging implements \Magento\View\Design\Theme\Domain\StagingInterface
 {
     /**
      * Staging theme model instance
@@ -58,7 +58,7 @@ class Staging
     /**
      * Copy changes from 'staging' theme
      *
-     * @return \Magento\Core\Model\Theme\Domain\Virtual
+     * @return \Magento\View\Design\Theme\Domain\StagingInterface
      */
     public function updateFromStagingTheme()
     {
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
index 96d784364a2..f538989e18c 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\Theme\Domain;
 
-class Virtual
+class Virtual implements \Magento\View\Design\Theme\Domain\VirtualInterface
 {
     /**
      * Virtual theme model instance
diff --git a/app/code/Magento/Core/Model/Theme/Image/Path.php b/app/code/Magento/Core/Model/Theme/Image/Path.php
index 7eba34128ba..2f0f430b695 100644
--- a/app/code/Magento/Core/Model/Theme/Image/Path.php
+++ b/app/code/Magento/Core/Model/Theme/Image/Path.php
@@ -45,16 +45,14 @@ class Path implements \Magento\View\Design\Theme\Image\PathInterface
     protected $viewUrl;
 
     /**
-     * @var \Magento\UrlInterface
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
-    protected $storeManager;
+    protected $_storeManager;
 
     /**
-     * Initialize dependencies
-     *
      * @param \Magento\App\Dir $dir
      * @param \Magento\View\Url $viewUrl
-     * @param \Magento\UrlInterface $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\App\Dir $dir,
@@ -63,7 +61,7 @@ class Path implements \Magento\View\Design\Theme\Image\PathInterface
     ) {
         $this->dir = $dir;
         $this->viewUrl = $viewUrl;
-        $this->storeManager = $storeManager;
+        $this->_storeManager = $storeManager;
     }
 
     /**
@@ -73,7 +71,7 @@ class Path implements \Magento\View\Design\Theme\Image\PathInterface
      */
     public function getPreviewImageDirectoryUrl()
     {
-        return $this->storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA)
+        return $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA)
             . self::PREVIEW_DIRECTORY_PATH . '/';
     }
 
diff --git a/app/code/Magento/Core/Model/Theme/Registration.php b/app/code/Magento/Core/Model/Theme/Registration.php
index 7905c2ca541..75da923844c 100644
--- a/app/code/Magento/Core/Model/Theme/Registration.php
+++ b/app/code/Magento/Core/Model/Theme/Registration.php
@@ -131,7 +131,7 @@ class Registration
         if (in_array($tempId, $inheritanceChain)) {
             throw new \Magento\Core\Exception(__('Circular-reference in theme inheritance detected for "%1"', $tempId));
         }
-        array_push($inheritanceChain, $tempId);
+        $inheritanceChain[] = $tempId;
         $parentTheme = $theme->getParentTheme();
         if ($parentTheme) {
             $this->_registerThemeRecursively($parentTheme, $inheritanceChain);
diff --git a/app/code/Magento/Core/Model/Translate.php b/app/code/Magento/Core/Model/Translate.php
index 321f3fbaf36..dde1871f420 100644
--- a/app/code/Magento/Core/Model/Translate.php
+++ b/app/code/Magento/Core/Model/Translate.php
@@ -25,6 +25,7 @@
  */
 
 namespace Magento\Core\Model;
+use Magento\TranslateInterface;
 
 /**
  * Translate model
@@ -33,7 +34,7 @@ namespace Magento\Core\Model;
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  * @SuppressWarnings(PHPMD.TooManyFields)
  */
-class Translate
+class Translate implements TranslateInterface
 {
     /**
      * CSV separator
@@ -174,7 +175,7 @@ class Translate
     protected $_modulesReader;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -203,7 +204,7 @@ class Translate
      * @param \Magento\Module\ModuleList $moduleList
      * @param \Magento\Module\Dir\Reader $modulesReader
      * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Translate $translate
      * @param \Magento\Core\Model\App $app
      * @param \Magento\App\State $appState
@@ -220,7 +221,7 @@ class Translate
         \Magento\Module\ModuleList $moduleList,
         \Magento\Module\Dir\Reader $modulesReader,
         \Magento\Core\Model\Config $coreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Translate $translate,
         \Magento\Core\Model\App $app,
         \Magento\App\State $appState
@@ -349,9 +350,7 @@ class Translate
      * @param bool $isJson
      * @return \Magento\Core\Model\Translate\InlineInterface
      */
-    public function processResponseBody(&$body,
-        $isJson = \Magento\Core\Model\Translate\InlineParser::JSON_FLAG_DEFAULT_STATE
-    ) {
+    public function processResponseBody(&$body, $isJson = false) {
         return $this->getInlineObject()->processResponseBody($body, $isJson);
     }
 
diff --git a/app/code/Magento/Core/Model/Translate/Inline.php b/app/code/Magento/Core/Model/Translate/Inline.php
index 73c570bc992..bf41766b772 100644
--- a/app/code/Magento/Core/Model/Translate/Inline.php
+++ b/app/code/Magento/Core/Model/Translate/Inline.php
@@ -205,8 +205,8 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
         $ajaxUrl = $urlModel->getUrl($urlPrefix . '/ajax/translate',
             array('_secure' => $store->isCurrentlySecure()));
 
-        /** @var $block \Magento\Core\Block\Template */
-        $block = $this->_layout->createBlock('Magento\Core\Block\Template');
+        /** @var $block \Magento\View\Block\Template */
+        $block = $this->_layout->createBlock('Magento\View\Block\Template');
 
         $block->setAjaxUrl($ajaxUrl);
 
diff --git a/app/code/Magento/Core/Model/Translate/InlineParser.php b/app/code/Magento/Core/Model/Translate/InlineParser.php
index 1ad7a39f996..21e5d72182c 100644
--- a/app/code/Magento/Core/Model/Translate/InlineParser.php
+++ b/app/code/Magento/Core/Model/Translate/InlineParser.php
@@ -140,7 +140,7 @@ class InlineParser
     protected $_resource;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -158,7 +158,7 @@ class InlineParser
      * Initialize base inline translation model
      *
      * @param \Magento\Core\Model\Resource\Translate\String $resource
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Helper\Data $helper
      * @param \Zend_Filter_Interface $inputFilter
@@ -168,7 +168,7 @@ class InlineParser
         \Magento\Core\Model\Resource\Translate\String $resource,
         \Magento\View\DesignInterface $design,
         \Magento\Core\Helper\Data $helper,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Zend_Filter_Interface $inputFilter,
         \Magento\App\State $appState
     ) {
@@ -197,7 +197,7 @@ class InlineParser
     }
 
     /**
-     * @return \Magento\Core\Model\StoreManager
+     * @return \Magento\Core\Model\StoreManagerInterface
      */
     public function getStoreManager()
     {
diff --git a/app/code/Magento/Core/Model/Url.php b/app/code/Magento/Core/Model/Url.php
index 5fcfd9e4c6c..076b20b9c56 100644
--- a/app/code/Magento/Core/Model/Url.php
+++ b/app/code/Magento/Core/Model/Url.php
@@ -142,7 +142,7 @@ class Url extends \Magento\Object implements \Magento\UrlInterface
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -180,7 +180,7 @@ class Url extends \Magento\Object implements \Magento\UrlInterface
         Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Session $session,
         $areaCode = null,
         array $data = array()
@@ -1240,7 +1240,9 @@ class Url extends \Magento\Object implements \Magento\UrlInterface
         $referer = parse_url($this->_app->getRequest()->getServer('HTTP_REFERER'), PHP_URL_HOST);
         foreach ($this->_storeManager->getStores() as $store) {
             $storeDomains[] = parse_url($store->getBaseUrl(), PHP_URL_HOST);
-            $storeDomains[] = parse_url($store->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_LINK, true), PHP_URL_HOST);
+            $storeDomains[] = parse_url($store->getBaseUrl(
+                \Magento\Core\Model\Store::URL_TYPE_LINK, true), PHP_URL_HOST
+            );
         }
         $storeDomains = array_unique($storeDomains);
         if (empty($referer) || in_array($referer, $storeDomains)) {
@@ -1259,7 +1261,7 @@ class Url extends \Magento\Object implements \Magento\UrlInterface
     public function getRedirectUrl($url)
     {
         $this->_prepareSessionUrlWithParams($url, array(
-            'name' => \Magento\Core\Controller\Front\Action::SESSION_NAMESPACE
+            'name' => \Magento\Core\App\Action\Plugin\LastUrl::SESSION_NAMESPACE
         ));
 
         $query = $this->getQuery(false);
diff --git a/app/code/Magento/Core/Model/Url/Rewrite.php b/app/code/Magento/Core/Model/Url/Rewrite.php
index 313ea3ac05a..9bc77da3cde 100644
--- a/app/code/Magento/Core/Model/Url/Rewrite.php
+++ b/app/code/Magento/Core/Model/Url/Rewrite.php
@@ -81,12 +81,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
     protected $_app;
 
     /**
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -95,8 +90,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\App\State $appState
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -106,15 +100,13 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\App\State $appState,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_app = $app;
-        $this->_appState = $appState;
         $this->_storeManager = $storeManager;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
@@ -252,9 +244,6 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         if (!$this->_appState->isInstalled()) {
             return false;
         }
-        if (is_null($request)) {
-            $request = $this->_app->getFrontController()->getRequest();
-        }
         if (is_null($this->getStoreId()) || false === $this->getStoreId()) {
             $this->setStoreId($this->_storeManager->getStore()->getId());
         }
diff --git a/app/code/Magento/Core/Model/View/Design/Proxy.php b/app/code/Magento/Core/Model/View/Design/Proxy.php
deleted file mode 100644
index e671a390176..00000000000
--- a/app/code/Magento/Core/Model/View/Design/Proxy.php
+++ /dev/null
@@ -1,139 +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)
- */
-
-/**
- * Design proxy
- */
-namespace Magento\Core\Model\View\Design;
-
-class Proxy implements \Magento\View\DesignInterface
-{
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Core\Model\View\Design
-     */
-    protected $_model;
-
-    /**
-     * @param \Magento\ObjectManager $objectManager
-     */
-    public function __construct(\Magento\ObjectManager $objectManager)
-    {
-        $this->_objectManager = $objectManager;
-    }
-
-    /**
-     * @return \Magento\Core\Model\View\Design
-     */
-    protected function _getInstance()
-    {
-        if (null === $this->_model) {
-            $this->_model = $this->_objectManager->get('Magento\Core\Model\View\Design');
-        }
-        return $this->_model;
-    }
-
-    /**
-     * Set package area
-     *
-     * @deprecated
-     * @param string $area
-     * @return \Magento\View\DesignInterface
-     */
-    public function setArea($area)
-    {
-        return $this->_getInstance()->setArea($area);
-    }
-
-    /**
-     * Retrieve package area
-     *
-     * @deprecated
-     * @return string
-     */
-    public function getArea()
-    {
-        return $this->_getInstance()->getArea();
-    }
-
-    /**
-     * Set theme path
-     *
-     * @param \Magento\Core\Model\Theme|int|string $theme
-     * @param string $area
-     * @return \Magento\View\DesignInterface
-     */
-    public function setDesignTheme($theme, $area = null)
-    {
-        return $this->_getInstance()->setDesignTheme($theme, $area);
-    }
-
-    /**
-     * Get default theme which declared in configuration
-     *
-     * @param string $area
-     * @param array $params
-     * @return string|int
-     */
-    public function getConfigurationDesignTheme($area = null, array $params = array())
-    {
-        return $this->_getInstance()->getConfigurationDesignTheme($area, $params);
-    }
-
-    /**
-     * Set default design theme
-     *
-     * @return \Magento\View\DesignInterface
-     */
-    public function setDefaultDesignTheme()
-    {
-        return $this->_getInstance()->setDefaultDesignTheme();
-    }
-
-    /**
-     * Design theme model getter
-     *
-     * @return \Magento\Core\Model\Theme
-     */
-    public function getDesignTheme()
-    {
-        return $this->_getInstance()->getDesignTheme();
-    }
-
-    /**
-     * Get design settings for current request
-     *
-     * @return array
-     */
-    public function getDesignParams()
-    {
-        return $this->_getInstance()->getDesignParams();
-    }
-}
diff --git a/app/code/Magento/Core/Model/Website.php b/app/code/Magento/Core/Model/Website.php
index a67d2280841..673024dd10f 100644
--- a/app/code/Magento/Core/Model/Website.php
+++ b/app/code/Magento/Core/Model/Website.php
@@ -165,7 +165,7 @@ class Website extends \Magento\Core\Model\AbstractModel
     protected $_websiteFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -187,7 +187,7 @@ class Website extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\StoreFactory $storeFactory
      * @param \Magento\Core\Model\Store\GroupFactory $storeGroupFactory
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -202,7 +202,7 @@ class Website extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\StoreFactory $storeFactory,
         \Magento\Core\Model\Store\GroupFactory $storeGroupFactory,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\App $app,
         \Magento\Directory\Model\CurrencyFactory $currencyFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Core/etc/config.xml b/app/code/Magento/Core/etc/config.xml
index d21b1f20af4..584bb881bef 100644
--- a/app/code/Magento/Core/etc/config.xml
+++ b/app/code/Magento/Core/etc/config.xml
@@ -75,11 +75,6 @@
             <filesystem>
                 <media>{{media_dir}}</media>
             </filesystem>
-            <smtp>
-                <disable>0</disable>
-                <host>localhost</host>
-                <port>25</port>
-            </smtp>
             <media_storage_configuration>
                 <media_storage>0</media_storage>
                 <media_database>default_setup</media_database>
@@ -193,28 +188,6 @@
                 </directory>
             </filesystem>
         </system>
-        <trans_email>
-            <ident_custom1>
-                <email>custom1@example.com</email>
-                <name>Custom 1</name>
-            </ident_custom1>
-            <ident_custom2>
-                <email>custom2@example.com</email>
-                <name>Custom 2</name>
-            </ident_custom2>
-            <ident_general>
-                <email>owner@example.com</email>
-                <name>Owner</name>
-            </ident_general>
-            <ident_sales>
-                <email>sales@example.com</email>
-                <name>Sales</name>
-            </ident_sales>
-            <ident_support>
-                <email>support@example.com</email>
-                <name>CustomerSupport</name>
-            </ident_support>
-        </trans_email>
         <web>
             <url>
                 <use_store>0</use_store>
diff --git a/app/code/Magento/Core/etc/di.xml b/app/code/Magento/Core/etc/di.xml
index ea8699421ba..b6cf71c7d81 100644
--- a/app/code/Magento/Core/etc/di.xml
+++ b/app/code/Magento/Core/etc/di.xml
@@ -51,6 +51,9 @@
     <preference for="Magento\View\Design\Theme\ThemeProviderInterface" type="Magento\Core\Model\Theme\ThemeProvider" />
     <preference for="Magento\View\Design\Theme\FileProviderInterface" type="Magento\Core\Model\Theme\FileProvider" />
     <preference for="Magento\View\Design\Theme\Customization\ConfigInterface" type="Magento\Core\Model\Theme\Customization\Config" />
+    <preference for="Magento\App\ViewInterface" type="Magento\App\View" />
+    <preference for="Magento\TranslateInterface" type="Magento\Core\Model\Translate" />
+    <preference for="Magento\App\Response\RedirectInterface" type="Magento\Core\App\Response\Redirect" />
     <type name="Magento\App\DefaultPath\DefaultPath">
         <param name="parts">
             <value>
@@ -380,7 +383,7 @@
             <instance type="Magento\App\Request\Http\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Helper\Context">
+    <type name="Magento\App\Helper\Context">
         <param name="urlBuilder">
             <instance type="Magento\Core\Model\Url\Proxy" />
         </param>
@@ -398,13 +401,13 @@
             <instance type="Magento\Core\Model\File\Storage\File\Proxy" />
         </param>
     </type>
-    <type name="Magento\View\Service">
-        <param name="design">
-            <instance type="Magento\Core\Model\View\Design\Proxy" />
-        </param>
-    </type>
     <type name="Magento\View\TemplateEngineFactory">
         <plugin name="debug_hints" type="Magento\Core\Model\TemplateEngine\Plugin\DebugHints" sortOrder="10"/>
+        <param name="engines">
+            <value>
+                <phtml>Magento\View\TemplateEngine\Php</phtml>
+            </value>
+        </param>
     </type>
     <type name="\Magento\Image">
         <param name="adapter">
@@ -450,6 +453,12 @@
     </type>
     <type name="Magento\App\FrontController">
         <plugin name="dispatchExceptionHandler" type="Magento\Core\App\FrontController\Plugin\DispatchExceptionHandler" sortOrder="30"/>
+        <plugin name="clickjacking" type="Magento\App\FrontController\Plugin\Clickjacking" sortOrder="0"/>
+    </type>
+    <type name="Magento\App\Action\Action">
+        <plugin name="installInitializer" type="Magento\Core\App\Action\Plugin\Install" sortOrder="5"/>
+        <plugin name="sessionInitializer" type="Magento\Core\App\Action\Plugin\Session" sortOrder="10"/>
+        <plugin name="designLoader" type="Magento\Core\App\Action\Plugin\Design" sortOrder="20"/>
     </type>
     <type name="Magento\Core\Model\Locale">
         <param name="dateModel">
diff --git a/app/code/Magento/Core/etc/frontend/di.xml b/app/code/Magento/Core/etc/frontend/di.xml
index e4378c51458..3ce4bcee579 100644
--- a/app/code/Magento/Core/etc/frontend/di.xml
+++ b/app/code/Magento/Core/etc/frontend/di.xml
@@ -38,6 +38,9 @@
         <plugin name="requestPreprocessor" type="Magento\Core\App\FrontController\Plugin\RequestPreprocessor" sortOrder="50"/>
         <plugin name="urlRewrite" type="Magento\Core\App\FrontController\Plugin\UrlRewrite" sortOrder="60"/>
     </type>
+    <type name="Magento\App\Action\Action">
+        <plugin name="lastUrl" type="Magento\Core\App\Action\Plugin\LastUrl" sortOrder="70"/>
+    </type>
     <type name="Magento\App\RouterList" shared="true">
         <param name="routerList">
             <value>
diff --git a/app/code/Magento/Core/etc/module.xml b/app/code/Magento/Core/etc/module.xml
index d1fc5a109bb..fee188b4556 100755
--- a/app/code/Magento/Core/etc/module.xml
+++ b/app/code/Magento/Core/etc/module.xml
@@ -32,8 +32,6 @@
             <module name="Magento_Index"/>
             <module name="Magento_Cron"/>
             <module name="Magento_Catalog"/>
-            <module name="Magento_Newsletter"/>
-            <module name="Magento_Cms"/>
             <module name="Magento_Theme"/>
             <module name="Magento_AdminNotification"/>
             <module name="Magento_CatalogInventory"/>
diff --git a/app/code/Magento/Core/sql/core_setup/install-1.6.0.0.php b/app/code/Magento/Core/sql/core_setup/install-1.6.0.0.php
index 3ed73b9035b..617b40f1cf4 100644
--- a/app/code/Magento/Core/sql/core_setup/install-1.6.0.0.php
+++ b/app/code/Magento/Core/sql/core_setup/install-1.6.0.0.php
@@ -206,53 +206,6 @@ $table = $installer->getConnection()
     ->setComment('Config Data');
 $installer->getConnection()->createTable($table);
 
-/**
- * Create table 'core_email_template'
- */
-$table = $installer->getConnection()
-    ->newTable($installer->getTable('core_email_template'))
-    ->addColumn('template_id', \Magento\DB\Ddl\Table::TYPE_INTEGER, null, array(
-        'identity'  => true,
-        'unsigned'  => true,
-        'nullable'  => false,
-        'primary'   => true,
-        ), 'Template Id')
-    ->addColumn('template_code', \Magento\DB\Ddl\Table::TYPE_TEXT, 150, array(
-        'nullable' => false
-        ), 'Template Name')
-    ->addColumn('template_text', \Magento\DB\Ddl\Table::TYPE_TEXT, '64k', array(
-        'nullable' => false
-        ), 'Template Content')
-    ->addColumn('template_styles', \Magento\DB\Ddl\Table::TYPE_TEXT, '64k', array(
-        ), 'Templste Styles')
-    ->addColumn('template_type', \Magento\DB\Ddl\Table::TYPE_INTEGER, null, array(
-        'unsigned'  => true,
-        ), 'Template Type')
-    ->addColumn('template_subject', \Magento\DB\Ddl\Table::TYPE_TEXT, 200, array(
-        'nullable' => false,
-        ), 'Template Subject')
-    ->addColumn('template_sender_name', \Magento\DB\Ddl\Table::TYPE_TEXT, 200, array(
-        ), 'Template Sender Name')
-    ->addColumn('template_sender_email', \Magento\DB\Ddl\Table::TYPE_TEXT, 200, array(
-        ), 'Template Sender Email')
-    ->addColumn('added_at', \Magento\DB\Ddl\Table::TYPE_TIMESTAMP, null, array(
-        ), 'Date of Template Creation')
-    ->addColumn('modified_at', \Magento\DB\Ddl\Table::TYPE_TIMESTAMP, null, array(
-        ), 'Date of Template Modification')
-    ->addColumn('orig_template_code', \Magento\DB\Ddl\Table::TYPE_TEXT, 200, array(
-        ), 'Original Template Code')
-    ->addColumn('orig_template_variables', \Magento\DB\Ddl\Table::TYPE_TEXT, '64k', array(
-        ), 'Original Template Variables')
-    ->addIndex($installer->getIdxName('core_email_template', array('template_code'),
-        \Magento\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE),
-        array('template_code'), array('type' => \Magento\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE))
-    ->addIndex($installer->getIdxName('core_email_template', array('added_at')),
-        array('added_at'))
-    ->addIndex($installer->getIdxName('core_email_template', array('modified_at')),
-        array('modified_at'))
-    ->setComment('Email Templates');
-$installer->getConnection()->createTable($table);
-
 /**
  * Create table 'core_layout_update'
  */
diff --git a/app/code/Magento/Cron/Helper/Data.php b/app/code/Magento/Cron/Helper/Data.php
index a29adcaad76..8a06888dd68 100644
--- a/app/code/Magento/Cron/Helper/Data.php
+++ b/app/code/Magento/Cron/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Cron\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Cron/Model/Config/Backend/Product/Alert.php b/app/code/Magento/Cron/Model/Config/Backend/Product/Alert.php
index 6fc3b5ab9cf..73bd8c1bccf 100644
--- a/app/code/Magento/Cron/Model/Config/Backend/Product/Alert.php
+++ b/app/code/Magento/Cron/Model/Config/Backend/Product/Alert.php
@@ -59,7 +59,7 @@ class Alert extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -70,7 +70,7 @@ class Alert extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php b/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
index 1b01472f331..246c3602428 100644
--- a/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
+++ b/app/code/Magento/Cron/Model/Config/Backend/Sitemap.php
@@ -59,7 +59,7 @@ class Sitemap extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -70,7 +70,7 @@ class Sitemap extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
diff --git a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Matrix.php b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Matrix.php
index 027aec65548..f6bec982331 100644
--- a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Matrix.php
+++ b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Matrix.php
@@ -37,39 +37,31 @@ class Matrix extends \Magento\Backend\Block\Template
 {
     protected $_template = 'system/currency/rate/matrix.phtml';
 
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_adminSession;
-
     /**
      * @var \Magento\Directory\Model\CurrencyFactory
      */
     protected $_dirCurrencyFactory;
 
-    /**
-     * @param \Magento\Directory\Model\CurrencyFactory $dirCurrencyFactory
-     * @param \Magento\Backend\Model\Session $adminSession
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Directory\Model\CurrencyFactory $dirCurrencyFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Directory\Model\CurrencyFactory $dirCurrencyFactory,
-        \Magento\Backend\Model\Session $adminSession,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Directory\Model\CurrencyFactory $dirCurrencyFactory,
+        array $data = array()
+    ) {
         $this->_dirCurrencyFactory = $dirCurrencyFactory;
-        $this->_adminSession = $adminSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
     {
-        $newRates = $this->_adminSession->getRates();
-        $this->_adminSession->unsetData('rates');
+        $newRates = $this->_backendSession->getRates();
+        $this->_backendSession->unsetData('rates');
 
         $currencyModel = $this->_dirCurrencyFactory->create();
         $currencies = $currencyModel->getConfigAllowCurrencies();
diff --git a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Services.php b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Services.php
index 0dc7be91b08..1c8912517d8 100644
--- a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Services.php
+++ b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency/Rate/Services.php
@@ -46,34 +46,26 @@ class Services extends \Magento\Backend\Block\Template
      */
     protected $_srcCurrencyFactory;
 
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_adminSession;
-
-    /**
-     * @param \Magento\Backend\Model\Session $adminSession
-     * @param \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Session $adminSession,
-        \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        $this->_adminSession = $adminSession;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Directory\Model\Currency\Import\Source\ServiceFactory $srcCurrencyFactory,
+        array $data = array()
+    ) {
         $this->_srcCurrencyFactory = $srcCurrencyFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
      * Create import services form select element
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -83,7 +75,7 @@ class Services extends \Magento\Backend\Block\Template
                 ->setOptions($this->_srcCurrencyFactory->create()->toOptionArray())
                 ->setId('rate_services')
                 ->setName('rate_services')
-                ->setValue($this->_adminSession->getCurrencyRateService(true))
+                ->setValue($this->_backendSession->getCurrencyRateService(true))
                 ->setTitle(__('Import Service'))
         );
 
diff --git a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currencysymbol.php b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currencysymbol.php
index 4817b7b765e..1b0b197992b 100644
--- a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currencysymbol.php
+++ b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currencysymbol.php
@@ -40,20 +40,20 @@ class Currencysymbol extends \Magento\Backend\Block\Widget\Form
      */
     protected $_symbolSystemFactory;
 
-    /**
-     * @param \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolSystemFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolSystemFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolSystemFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolSystemFactory,
+        array $data = array()
+    ) {
         $this->_symbolSystemFactory = $symbolSystemFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -76,7 +76,7 @@ class Currencysymbol extends \Magento\Backend\Block\Widget\Form
     /**
      * Prepares layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -100,7 +100,7 @@ class Currencysymbol extends \Magento\Backend\Block\Widget\Form
      */
     public function getSaveButtonHtml()
     {
-        /** @var $block \Magento\Core\Block\AbstractBlock */
+        /** @var $block \Magento\View\Block\AbstractBlock */
         $block = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button');
         $block->setData(array(
             'label'     => __('Save Currency Symbols'),
diff --git a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency.php b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency.php
index 29e0ef0fee1..5bd33244b93 100644
--- a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency.php
+++ b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\CurrencySymbol\Controller\Adminhtml\System;
 
-class Currency extends \Magento\Backend\Controller\Adminhtml\Action
+class Currency extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Currency extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -73,12 +73,12 @@ class Currency extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Currency Rates'));
+        $this->_title->add(__('Currency Rates'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_CurrencySymbol::system_currency_rates');
-        $this->_addContent($this->getLayout()->createBlock('Magento\CurrencySymbol\Block\Adminhtml\System\Currency'));
-        $this->renderLayout();
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\CurrencySymbol\Block\Adminhtml\System\Currency'));
+        $this->_view->renderLayout();
     }
 
     public function fetchRatesAction()
diff --git a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol.php b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol.php
index 10604df09c0..2331e01dab5 100644
--- a/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol.php
+++ b/app/code/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\CurrencySymbol\Controller\Adminhtml\System;
 
-class Currencysymbol extends \Magento\Backend\Controller\Adminhtml\Action
+class Currencysymbol extends \Magento\Backend\App\Action
 {
     /**
      * Show Currency Symbols Management dialog
@@ -41,8 +41,8 @@ class Currencysymbol extends \Magento\Backend\Controller\Adminhtml\Action
     public function indexAction()
     {
         // set active menu and breadcrumbs
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_CurrencySymbol::system_currency_symbols')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_CurrencySymbol::system_currency_symbols')
             ->_addBreadcrumb(
                 __('System'),
                 __('System')
@@ -52,8 +52,8 @@ class Currencysymbol extends \Magento\Backend\Controller\Adminhtml\Action
                 __('Manage Currency Rates')
             );
 
-        $this->_title(__('Currency Symbols'));
-        $this->renderLayout();
+        $this->_title->add(__('Currency Symbols'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -80,7 +80,7 @@ class Currencysymbol extends \Magento\Backend\Controller\Adminhtml\Action
             $backendSession->addError($e->getMessage());
         }
 
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
@@ -89,7 +89,7 @@ class Currencysymbol extends \Magento\Backend\Controller\Adminhtml\Action
     public function resetAction()
     {
         $this->_objectManager->create('Magento\CurrencySymbol\Model\System\Currencysymbol')->resetValues();
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
diff --git a/app/code/Magento/CurrencySymbol/Helper/Data.php b/app/code/Magento/CurrencySymbol/Helper/Data.php
index 799be90d5f0..052d21de6a5 100644
--- a/app/code/Magento/CurrencySymbol/Helper/Data.php
+++ b/app/code/Magento/CurrencySymbol/Helper/Data.php
@@ -41,18 +41,18 @@ class Data extends \Magento\Core\Helper\Data
     protected $_symbolFactory;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolFactory
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\CurrencySymbol\Model\System\CurrencysymbolFactory $symbolFactory,
diff --git a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
index 5d4d665703f..5bbbcad0089 100644
--- a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
+++ b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
@@ -105,7 +105,7 @@ class Currencysymbol
     protected $_systemStore;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
diff --git a/app/code/Magento/Customer/Block/Account/AuthorizationLink.php b/app/code/Magento/Customer/Block/Account/AuthorizationLink.php
index 407d1da9289..0b86e73af83 100644
--- a/app/code/Magento/Customer/Block/Account/AuthorizationLink.php
+++ b/app/code/Magento/Customer/Block/Account/AuthorizationLink.php
@@ -37,18 +37,18 @@ class AuthorizationLink extends \Magento\Page\Block\Link
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Customer\Model\Session $session
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\Session $session
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Customer\Model\Session $session,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\Session $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_customerSession = $session;
     }
 
diff --git a/app/code/Magento/Customer/Block/Account/Customer.php b/app/code/Magento/Customer/Block/Account/Customer.php
index 779950799c0..2690deb58c5 100644
--- a/app/code/Magento/Customer/Block/Account/Customer.php
+++ b/app/code/Magento/Customer/Block/Account/Customer.php
@@ -24,7 +24,7 @@
 
 namespace Magento\Customer\Block\Account;
 
-class Customer extends \Magento\Core\Block\Template
+class Customer extends \Magento\View\Block\Template
 {
     /**
      * Customer session
@@ -34,18 +34,18 @@ class Customer extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Customer\Model\Session $session
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\Session $session
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Customer\Model\Session $session,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\Session $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_customerSession = $session;
     }
 
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard.php b/app/code/Magento/Customer/Block/Account/Dashboard.php
index e313b6f8604..6289ee10d50 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Block\Account;
 
-class Dashboard extends \Magento\Core\Block\Template
+class Dashboard extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Newsletter\Model\Subscriber
@@ -51,22 +51,22 @@ class Dashboard extends \Magento\Core\Block\Template
     protected $_subscriberFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getCustomer()
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Address.php b/app/code/Magento/Customer/Block/Account/Dashboard/Address.php
index fc4c5294cec..7e46d6c916d 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Address.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Address.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Address extends \Magento\Core\Block\Template
+class Address extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -42,19 +42,19 @@ class Address extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getCustomer()
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Block.php b/app/code/Magento/Customer/Block/Account/Dashboard/Block.php
index 7186213a9a5..5215d420c52 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Block.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Block.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Block extends \Magento\Core\Block\Template
+class Block extends \Magento\View\Block\Template
 {
 
 }
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Hello.php b/app/code/Magento/Customer/Block/Account/Dashboard/Hello.php
index 3e6b1b3fc9f..3aa0b3e3475 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Hello.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Hello.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Hello extends \Magento\Core\Block\Template
+class Hello extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -35,19 +35,19 @@ class Hello extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getCustomerName()
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Info.php b/app/code/Magento/Customer/Block/Account/Dashboard/Info.php
index 8156397ef28..1687e8bb5f6 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Info.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Info.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Info extends \Magento\Core\Block\Template
+class Info extends \Magento\View\Block\Template
 {
     /**
      * Cached subscription object
@@ -54,22 +54,22 @@ class Info extends \Magento\Core\Block\Template
     protected $_subscriberFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Newsletter.php b/app/code/Magento/Customer/Block/Account/Dashboard/Newsletter.php
index 7b88b251b87..bab61998c26 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Newsletter.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Newsletter.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Newsletter extends \Magento\Core\Block\Template
+class Newsletter extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Newsletter\Model\Subscriber
@@ -51,16 +51,23 @@ class Newsletter extends \Magento\Core\Block\Template
      */
     protected $_subscriberFactory;
 
+    /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
+     * @param array $data
+     */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getSubscriptionObject()
diff --git a/app/code/Magento/Customer/Block/Account/Dashboard/Sidebar.php b/app/code/Magento/Customer/Block/Account/Dashboard/Sidebar.php
index d71135487bd..4dc447ac5fb 100644
--- a/app/code/Magento/Customer/Block/Account/Dashboard/Sidebar.php
+++ b/app/code/Magento/Customer/Block/Account/Dashboard/Sidebar.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account\Dashboard;
 
-class Sidebar extends \Magento\Core\Block\Template
+class Sidebar extends \Magento\View\Block\Template
 {
     protected $_cartItemsCount;
 
@@ -57,11 +57,6 @@ class Sidebar extends \Magento\Core\Block\Template
      */
     protected $_checkoutSession;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Sales\Model\QuoteFactory
      */
@@ -78,22 +73,20 @@ class Sidebar extends \Magento\Core\Block\Template
     protected $_itemsCompareFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Wishlist\Model\WishlistFactory $wishListFactory
      * @param \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemsCompareFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Wishlist\Model\WishlistFactory $wishListFactory,
         \Magento\Catalog\Model\Resource\Product\Compare\Item\CollectionFactory $itemsCompareFactory,
@@ -101,11 +94,10 @@ class Sidebar extends \Magento\Core\Block\Template
     ) {
         $this->_customerSession = $customerSession;
         $this->_checkoutSession = $checkoutSession;
-        $this->_storeManager = $storeManager;
         $this->_quoteFactory = $quoteFactory;
         $this->_wishListFactory = $wishListFactory;
         $this->_itemsCompareFactory = $itemsCompareFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
diff --git a/app/code/Magento/Customer/Block/Account/Forgotpassword.php b/app/code/Magento/Customer/Block/Account/Forgotpassword.php
index a4932ac078e..3806aca5ca1 100644
--- a/app/code/Magento/Customer/Block/Account/Forgotpassword.php
+++ b/app/code/Magento/Customer/Block/Account/Forgotpassword.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account;
 
-class Forgotpassword extends \Magento\Core\Block\Template
+class Forgotpassword extends \Magento\View\Block\Template
 {
 
 }
diff --git a/app/code/Magento/Customer/Block/Account/RegisterLink.php b/app/code/Magento/Customer/Block/Account/RegisterLink.php
index 32a7625e99f..fc4a6b688c4 100644
--- a/app/code/Magento/Customer/Block/Account/RegisterLink.php
+++ b/app/code/Magento/Customer/Block/Account/RegisterLink.php
@@ -37,18 +37,18 @@ class RegisterLink extends \Magento\Page\Block\Link
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Customer\Model\Session $session
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\Session $session
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Customer\Model\Session $session,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\Session $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_customerSession = $session;
     }
 
diff --git a/app/code/Magento/Customer/Block/Account/Resetpassword.php b/app/code/Magento/Customer/Block/Account/Resetpassword.php
index ae48a3a1562..212137a0241 100644
--- a/app/code/Magento/Customer/Block/Account/Resetpassword.php
+++ b/app/code/Magento/Customer/Block/Account/Resetpassword.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Customer\Block\Account;
 
-class Resetpassword extends \Magento\Core\Block\Template
+class Resetpassword extends \Magento\View\Block\Template
 {
 
 }
diff --git a/app/code/Magento/Customer/Block/Address/Book.php b/app/code/Magento/Customer/Block/Address/Book.php
index a760323ab75..7dcc00c2807 100644
--- a/app/code/Magento/Customer/Block/Address/Book.php
+++ b/app/code/Magento/Customer/Block/Address/Book.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Block\Address;
 
-class Book extends \Magento\Core\Block\Template
+class Book extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -41,19 +41,19 @@ class Book extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Customer/Block/Address/Edit.php b/app/code/Magento/Customer/Block/Address/Edit.php
index bb5ff34e22b..dd028ffc6af 100644
--- a/app/code/Magento/Customer/Block/Address/Edit.php
+++ b/app/code/Magento/Customer/Block/Address/Edit.php
@@ -51,10 +51,9 @@ class Edit extends \Magento\Directory\Block\Data
     protected $_addressFactory;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\App\Cache\Type\Config $configCacheType
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param \Magento\Core\Model\Config $config
@@ -63,10 +62,9 @@ class Edit extends \Magento\Directory\Block\Data
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
         \Magento\App\Cache\Type\Config $configCacheType,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         \Magento\Core\Model\Config $config,
@@ -77,9 +75,7 @@ class Edit extends \Magento\Directory\Block\Data
         $this->_config = $config;
         $this->_customerSession = $customerSession;
         $this->_addressFactory = $addressFactory;
-        parent::__construct(
-            $configCacheType, $coreData, $context, $storeManager, $regionCollFactory, $countryCollFactory, $data
-        );
+        parent::__construct($context, $coreData, $configCacheType, $regionCollFactory, $countryCollFactory, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Customer/Block/Address/Renderer/DefaultRenderer.php b/app/code/Magento/Customer/Block/Address/Renderer/DefaultRenderer.php
index 562fe204b05..068f0c09d76 100644
--- a/app/code/Magento/Customer/Block/Address/Renderer/DefaultRenderer.php
+++ b/app/code/Magento/Customer/Block/Address/Renderer/DefaultRenderer.php
@@ -35,7 +35,7 @@
 namespace Magento\Customer\Block\Address\Renderer;
 
 class DefaultRenderer
-    extends \Magento\Core\Block\AbstractBlock
+    extends \Magento\View\Block\AbstractBlock
     implements \Magento\Customer\Block\Address\Renderer\RendererInterface
 {
     /**
@@ -58,27 +58,19 @@ class DefaultRenderer
     protected $_attrDataFactory;
 
     /**
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $_filterManager;
-
-    /**
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Customer\Helper\Address $customerAddress
-     * @param \Magento\Core\Block\Context $context
      * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
-     * @param \Magento\Filter\FilterManager $filterManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Context $context,
         \Magento\Customer\Helper\Address $customerAddress,
-        \Magento\Core\Block\Context $context,
         \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
-        \Magento\Filter\FilterManager $filterManager,
         array $data = array()
     ) {
         $this->_customerAddress = $customerAddress;
         $this->_attrDataFactory = $attrDataFactory;
-        $this->_filterManager = $filterManager;
         parent::__construct($context, $data);
     }
 
@@ -170,6 +162,6 @@ class DefaultRenderer
         }
         $format = !is_null($format) ? $format : $this->getFormat($address);
 
-        return $this->_filterManager->template($format, array('variables' => $data));
+        return $this->filterManager->template($format, array('variables' => $data));
     }
 }
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit.php b/app/code/Magento/Customer/Block/Adminhtml/Edit.php
index 4f07cc0a83d..a386b98f3dc 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Renderer/Attribute/Group.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Renderer/Attribute/Group.php
index 33d966bacd7..d32bcbad187 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Renderer/Attribute/Group.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Renderer/Attribute/Group.php
@@ -52,23 +52,23 @@ class Group
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Customer\Helper\Address $customerAddress
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Helper\Address $customerAddress
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Helper\Address $customerAddress,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Helper\Address $customerAddress,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_customerAddress = $customerAddress;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Account.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Account.php
index fcacd7a0142..8a41f3340bc 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Account.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Account.php
@@ -55,27 +55,27 @@ class Account extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_systemStore;
 
-    /**
-     * @param \Magento\Customer\Model\FormFactory $customerFactory
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Customer\Model\FormFactory $customerFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\FormFactory $customerFactory,
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Customer\Model\FormFactory $customerFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
         $this->_customerFactory = $customerFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Addresses.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Addresses.php
index 00ae692a355..92b5ee0d467 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Addresses.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Addresses.php
@@ -44,36 +44,36 @@ class Addresses extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_adminhtmlAddresses = null;
 
-    /**
-     * @param \Magento\Customer\Model\Renderer\RegionFactory $regionFactory
-     * @param \Magento\Customer\Model\AddressFactory $addressFactory
-     * @param \Magento\Customer\Model\FormFactory $customerFactory
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Customer\Model\Renderer\RegionFactory $regionFactory
+     * @param \Magento\Customer\Model\AddressFactory $addressFactory
+     * @param \Magento\Customer\Model\FormFactory $customerFactory
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\Renderer\RegionFactory $regionFactory,
-        \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Customer\Model\FormFactory $customerFactory,
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Customer\Model\Renderer\RegionFactory $regionFactory,
+        \Magento\Customer\Model\AddressFactory $addressFactory,
+        \Magento\Customer\Model\FormFactory $customerFactory,
+        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
+        array $data = array()
+    ) {
         $this->_adminhtmlAddresses = $adminhtmlAddresses;
         $this->_regionFactory = $regionFactory;
         $this->_addressFactory = $addressFactory;
         $this->_customerFactory = $customerFactory;
         $this->_systemStore = $systemStore;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     public function getRegionsUrl()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Cart.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Cart.php
index 6a45dccbf8d..590ac64c6e1 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Cart.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Cart.php
@@ -55,30 +55,28 @@ class Cart extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_quoteFactory;
 
-    /**
-     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
-     * @param \Magento\Data\CollectionFactory $dataCollectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
+     * @param \Magento\Data\CollectionFactory $dataCollectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\QuoteFactory $quoteFactory,
-        \Magento\Data\CollectionFactory $dataCollectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\QuoteFactory $quoteFactory,
+        \Magento\Data\CollectionFactory $dataCollectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_dataCollectionFactory = $dataCollectionFactory;
         $this->_coreRegistry = $coreRegistry;
         $this->_quoteFactory = $quoteFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Carts.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Carts.php
index cb7d707b769..239057fd690 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Carts.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Carts.php
@@ -39,20 +39,20 @@ class Carts extends \Magento\Backend\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter.php
index 12724484f5e..5f2aa802b56 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter.php
@@ -42,24 +42,24 @@ class Newsletter extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_subscriberFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
+        array $data = array()
+    ) {
         $this->_subscriberFactory = $subscriberFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     public function initForm()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter/Grid.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter/Grid.php
index 810b8a4c727..ba3cd074bcf 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter/Grid.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter/Grid.php
@@ -47,27 +47,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Newsletter\Model\Resource\Queue\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php
index e93d4db5440..d8e6ce16073 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Orders.php
@@ -54,30 +54,28 @@ class Orders extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory
-     * @param \Magento\Sales\Helper\Reorder $salesReorder
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory
+     * @param \Magento\Sales\Helper\Reorder $salesReorder
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory,
-        \Magento\Sales\Helper\Reorder $salesReorder,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory,
+        \Magento\Sales\Helper\Reorder $salesReorder,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_salesReorder = $salesReorder;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View.php
index 068335dafe1..b09949e9a88 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View.php
@@ -71,32 +71,32 @@ class View
      */
     protected $dateTime;
 
-    /**
-     * @param \Magento\Customer\Model\GroupFactory $groupFactory
-     * @param \Magento\Log\Model\CustomerFactory $logFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Log\Model\Visitor $modelVisitor
-     * @param \Magento\Stdlib\DateTime $dateTime
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\GroupFactory $groupFactory
+     * @param \Magento\Log\Model\CustomerFactory $logFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Log\Model\Visitor $modelVisitor
+     * @param \Magento\Stdlib\DateTime $dateTime
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\GroupFactory $groupFactory,
-        \Magento\Log\Model\CustomerFactory $logFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Log\Model\Visitor $modelVisitor,
-        \Magento\Stdlib\DateTime $dateTime,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Customer\Model\GroupFactory $groupFactory,
+        \Magento\Log\Model\CustomerFactory $logFactory,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Log\Model\Visitor $modelVisitor,
+        \Magento\Stdlib\DateTime $dateTime,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_modelVisitor = $modelVisitor;
         $this->_groupFactory = $groupFactory;
         $this->_logFactory = $logFactory;
         $this->dateTime = $dateTime;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Accordion.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Accordion.php
index cf6dc2ce021..782249d96d7 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Accordion.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Accordion.php
@@ -52,26 +52,26 @@ class Accordion extends \Magento\Adminhtml\Block\Widget\Accordion
      */
     protected $_itemsFactory;
 
-    /**
-     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
-     * @param \Magento\Wishlist\Model\Resource\Item\CollectionFactory $itemsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
+     * @param \Magento\Wishlist\Model\Resource\Item\CollectionFactory $itemsFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\QuoteFactory $quoteFactory,
-        \Magento\Wishlist\Model\Resource\Item\CollectionFactory $itemsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Sales\Model\QuoteFactory $quoteFactory,
+        \Magento\Wishlist\Model\Resource\Item\CollectionFactory $itemsFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_quoteFactory = $quoteFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php
index e785014f58d..ed0cb7edec6 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Cart.php
@@ -55,30 +55,28 @@ class Cart extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_quoteFactory;
 
-    /**
-     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
-     * @param \Magento\Data\CollectionFactory $dataCollectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
+     * @param \Magento\Data\CollectionFactory $dataCollectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\QuoteFactory $quoteFactory,
-        \Magento\Data\CollectionFactory $dataCollectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\QuoteFactory $quoteFactory,
+        \Magento\Data\CollectionFactory $dataCollectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_dataCollectionFactory = $dataCollectionFactory;
         $this->_coreRegistry = $coreRegistry;
         $this->_quoteFactory = $quoteFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Grid/Renderer/Item.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Grid/Renderer/Item.php
index 518579ba1d3..eeda163bb5f 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Grid/Renderer/Item.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Grid/Renderer/Item.php
@@ -43,16 +43,16 @@ class Item
      */
     protected $_productConfig = null;
 
-    /**
-     * @param \Magento\Catalog\Helper\Product\Configuration $productConfig
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Catalog\Helper\Product\Configuration $productConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Helper\Product\Configuration $productConfig,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Catalog\Helper\Product\Configuration $productConfig,
+        array $data = array()
+    ) {
         $this->_productConfig = $productConfig;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php
index 316a4266648..6e4c3cbf408 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Orders.php
@@ -47,27 +47,25 @@ class Orders extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Sales.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Sales.php
index ede7c61b4cd..1a50eb89229 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Sales.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Sales.php
@@ -53,11 +53,6 @@ class Sales extends \Magento\Backend\Block\Template
      */
     protected $_currency;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * Core registry
@@ -76,29 +71,26 @@ class Sales extends \Magento\Backend\Block\Template
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
-     * @param \Magento\Sales\Model\Resource\Sale\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
+     * @param \Magento\Sales\Model\Resource\Sale\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Directory\Model\CurrencyFactory $currencyFactory,
-        \Magento\Sales\Model\Resource\Sale\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Directory\Model\CurrencyFactory $currencyFactory,
+        \Magento\Sales\Model\Resource\Sale\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
-        $this->_storeManager = $storeManager;
         $this->_currencyFactory = $currencyFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php
index 194d03ab15e..9b3ead0c890 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/View/Wishlist.php
@@ -47,27 +47,25 @@ class Wishlist extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Wishlist\Model\Resource\Item\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Wishlist\Model\Resource\Item\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Wishlist\Model\Resource\Item\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Wishlist\Model\Resource\Item\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tabs.php b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tabs.php
index b59cacd8419..1cd8b1002fa 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Edit/Tabs.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Edit/Tabs.php
@@ -38,22 +38,22 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Grid.php b/app/code/Magento/Customer/Block/Adminhtml/Grid.php
index 8a747d6eaf4..c01330688de 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Grid.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Grid.php
@@ -50,30 +50,28 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_groupsFactory;
 
-    /**
-     * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Customer\Model\Resource\Customer\CollectionFactory $customersFactory
-     * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $groupsFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Core\Model\System\Store $systemStore
+     * @param \Magento\Customer\Model\Resource\Customer\CollectionFactory $customersFactory
+     * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $groupsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Customer\Model\Resource\Customer\CollectionFactory $customersFactory,
-        \Magento\Customer\Model\Resource\Group\CollectionFactory $groupsFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Core\Model\System\Store $systemStore,
+        \Magento\Customer\Model\Resource\Customer\CollectionFactory $customersFactory,
+        \Magento\Customer\Model\Resource\Group\CollectionFactory $groupsFactory,
+        array $data = array()
+    ) {
         $this->_systemStore = $systemStore;
         $this->_customersFactory = $customersFactory;
         $this->_groupsFactory = $groupsFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Grid/Filter/Country.php b/app/code/Magento/Customer/Block/Adminhtml/Grid/Filter/Country.php
index a42bd8e7d62..00c2f72708e 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Grid/Filter/Country.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Grid/Filter/Country.php
@@ -41,18 +41,18 @@ class Country
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $collectionFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Core\Model\Resource\Helper $resourceHelper
+     * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Directory\Model\Resource\Country\CollectionFactory $collectionFactory,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\Resource\Helper $resourceHelper,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Core\Model\Resource\Helper $resourceHelper,
+        \Magento\Directory\Model\Resource\Country\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         parent::__construct($context, $resourceHelper, $data);
     }
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Group/Edit.php b/app/code/Magento/Customer/Block/Adminhtml/Group/Edit.php
index 563b3f50394..f817ab726b9 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Group/Edit.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Group/Edit.php
@@ -38,20 +38,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Customer/Block/Adminhtml/Group/Edit/Form.php b/app/code/Magento/Customer/Block/Adminhtml/Group/Edit/Form.php
index 3d88b7277de..4d9526b9186 100644
--- a/app/code/Magento/Customer/Block/Adminhtml/Group/Edit/Form.php
+++ b/app/code/Magento/Customer/Block/Adminhtml/Group/Edit/Form.php
@@ -35,37 +35,29 @@ namespace Magento\Customer\Block\Adminhtml\Group\Edit;
 
 class Form extends \Magento\Backend\Block\Widget\Form\Generic
 {
-    /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_backendSession;
-
     /**
      * @var \Magento\Tax\Model\TaxClass\Source\Customer
      */
     protected $_taxCustomer;
 
-    /**
-     * @param \Magento\Backend\Model\Session $backendSession
-     * @param \Magento\Tax\Model\TaxClass\Source\Customer $taxCustomer
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Tax\Model\TaxClass\Source\Customer $taxCustomer
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Session $backendSession,
-        \Magento\Tax\Model\TaxClass\Source\Customer $taxCustomer,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Tax\Model\TaxClass\Source\Customer $taxCustomer,
+        array $data = array()
+    ) {
         $this->_taxCustomer = $taxCustomer;
-        $this->_backendSession = $backendSession;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Form/Login.php b/app/code/Magento/Customer/Block/Form/Login.php
index d0f0b45cb9d..1664c69413c 100644
--- a/app/code/Magento/Customer/Block/Form/Login.php
+++ b/app/code/Magento/Customer/Block/Form/Login.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Block\Form;
 
-class Login extends \Magento\Core\Block\Template
+class Login extends \Magento\View\Block\Template
 {
     private $_username = -1;
 
@@ -42,14 +42,20 @@ class Login extends \Magento\Core\Block\Template
      */
     protected $_customerSession;
 
+    /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Customer\Model\Session $customerSession
+     * @param array $data
+     */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Customer/Block/Form/Register.php b/app/code/Magento/Customer/Block/Form/Register.php
index 40ef4a7fcdd..cebbe3b1d6a 100644
--- a/app/code/Magento/Customer/Block/Form/Register.php
+++ b/app/code/Magento/Customer/Block/Form/Register.php
@@ -44,32 +44,28 @@ class Register extends \Magento\Directory\Block\Data
     protected $_customerSession;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Customer\Model\AddressFactory $addressFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
+     * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Customer\Model\AddressFactory $addressFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Customer\Model\Session $customerSession,
-        \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
+        \Magento\Customer\Model\Session $customerSession,
+        \Magento\Customer\Model\AddressFactory $addressFactory,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_addressFactory = $addressFactory;
-        parent::__construct(
-            $configCacheType, $coreData, $context, $storeManager, $regionCollFactory, $countryCollFactory, $data
-        );
+        parent::__construct($context, $coreData, $configCacheType, $regionCollFactory, $countryCollFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Newsletter.php b/app/code/Magento/Customer/Block/Newsletter.php
index c7898920860..83243a3e4a0 100644
--- a/app/code/Magento/Customer/Block/Newsletter.php
+++ b/app/code/Magento/Customer/Block/Newsletter.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Customer\Block;
 
-class Newsletter extends \Magento\Customer\Block\Account\Dashboard // \Magento\Core\Block\Template
+class Newsletter extends \Magento\Customer\Block\Account\Dashboard // \Magento\View\Block\Template
 {
 
     protected $_template = 'form/newsletter.phtml';
diff --git a/app/code/Magento/Customer/Block/Widget/AbstractWidget.php b/app/code/Magento/Customer/Block/Widget/AbstractWidget.php
index 3ca1b54c043..1a2c94bf0c8 100644
--- a/app/code/Magento/Customer/Block/Widget/AbstractWidget.php
+++ b/app/code/Magento/Customer/Block/Widget/AbstractWidget.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Customer\Block\Widget;
 
-class AbstractWidget extends \Magento\Core\Block\Template
+class AbstractWidget extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Eav\Model\Config
@@ -34,19 +34,19 @@ class AbstractWidget extends \Magento\Core\Block\Template
     protected $_eavConfig;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Eav\Model\Config $eavConfig,
         array $data = array()
     ) {
         $this->_eavConfig = $eavConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getConfig($key)
diff --git a/app/code/Magento/Customer/Block/Widget/Dob.php b/app/code/Magento/Customer/Block/Widget/Dob.php
index 7dd26d45fa2..f3fde2af9c3 100644
--- a/app/code/Magento/Customer/Block/Widget/Dob.php
+++ b/app/code/Magento/Customer/Block/Widget/Dob.php
@@ -41,35 +41,9 @@ class Dob extends \Magento\Customer\Block\Widget\AbstractWidget
      */
     protected $_dateInputs = array();
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $eavConfig, $data);
-    }
-
-
     public function _construct()
     {
         parent::_construct();
-
-        // default template location
         $this->setTemplate('widget/dob.phtml');
     }
 
diff --git a/app/code/Magento/Customer/Block/Widget/Gender.php b/app/code/Magento/Customer/Block/Widget/Gender.php
index 8f140920d1e..8ca30eca52e 100644
--- a/app/code/Magento/Customer/Block/Widget/Gender.php
+++ b/app/code/Magento/Customer/Block/Widget/Gender.php
@@ -46,16 +46,16 @@ class Gender extends \Magento\Customer\Block\Widget\AbstractWidget
     protected $_customerResource;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Customer\Model\Resource\Customer $customerResource
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Customer\Model\Resource\Customer $customerResource,
@@ -63,7 +63,7 @@ class Gender extends \Magento\Customer\Block\Widget\AbstractWidget
     ) {
         $this->_customerSession = $customerSession;
         $this->_customerResource = $customerResource;
-        parent::__construct($coreData, $context, $eavConfig, $data);
+        parent::__construct($context, $coreData, $eavConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Customer/Block/Widget/Taxvat.php b/app/code/Magento/Customer/Block/Widget/Taxvat.php
index 9110f68d031..16758a524cd 100644
--- a/app/code/Magento/Customer/Block/Widget/Taxvat.php
+++ b/app/code/Magento/Customer/Block/Widget/Taxvat.php
@@ -34,21 +34,21 @@ class Taxvat extends \Magento\Customer\Block\Widget\AbstractWidget
     protected $_customerResource;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $eavConfig, $data);
+        parent::__construct($context, $coreData, $eavConfig, $data);
     }
 
     public function _construct()
diff --git a/app/code/Magento/Customer/Controller/Account.php b/app/code/Magento/Customer/Controller/Account.php
index 56ac5c3f4bb..7ed23a426ed 100644
--- a/app/code/Magento/Customer/Controller/Account.php
+++ b/app/code/Magento/Customer/Controller/Account.php
@@ -25,19 +25,13 @@
  */
 
 namespace Magento\Customer\Controller;
+use Magento\App\RequestInterface;
 
 /**
  * Customer account controller
  */
-class Account extends \Magento\Core\Controller\Front\Action
+class Account extends \Magento\App\Action\Action
 {
-    /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
-     */
-    protected $_cookieCheckActions = array('loginPost', 'createpost');
-
     /**
      * List of actions that are allowed for not authorized users
      *
@@ -75,11 +69,6 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     protected $_urlFactory;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\CustomerFactory
      */
@@ -103,35 +92,43 @@ class Account extends \Magento\Core\Controller\Front\Action
     protected $string;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_formKeyValidator;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\UrlFactory $urlFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Customer\Model\FormFactory $formFactory
      * @param \Magento\Customer\Model\AddressFactory $addressFactory
      * @param \Magento\Stdlib\String $string
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\UrlFactory $urlFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Customer\Model\FormFactory $formFactory,
         \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Stdlib\String $string
+        \Magento\Stdlib\String $string,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
+        $this->_storeManager = $storeManager;
         $this->_coreRegistry = $coreRegistry;
         $this->_customerSession = $customerSession;
-        $this->_storeManager = $storeManager;
         $this->_urlFactory = $urlFactory;
         $this->_customerFactory = $customerFactory;
         $this->_formFactory = $formFactory;
         $this->_addressFactory = $addressFactory;
         $this->string = $string;
+        $this->_formKeyValidator = $formKeyValidator;
         parent::__construct($context);
     }
 
@@ -146,22 +143,29 @@ class Account extends \Magento\Core\Controller\Front\Action
     }
 
     /**
-     * Action predispatch
+     * Get list of actions that are allowed for not authorized users
      *
-     * Check customer authentication for some actions
+     * @return array
      */
-    public function preDispatch()
+    protected function _getAllowedActions()
     {
-        // a brute-force protection here would be nice
-
-        parent::preDispatch();
+        return $this->_openActions;
+    }
 
+    /**
+     * Dispatch request
+     *
+     * @param RequestInterface $request
+     * @return mixed|void
+     */
+    public function dispatch(RequestInterface $request)
+    {
         if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
-            return;
+            parent::dispatch($request);
         }
 
         if (!$this->getRequest()->isDispatched()) {
-            return;
+            parent::dispatch($request);
         }
 
         $action = $this->getRequest()->getActionName();
@@ -169,32 +173,14 @@ class Account extends \Magento\Core\Controller\Front\Action
 
         if (!preg_match($pattern, $action)) {
             if (!$this->_getSession()->authenticate($this)) {
-                $this->setFlag('', 'no-dispatch', true);
+                $this->_actionFlag->set('', 'no-dispatch', true);
             }
         } else {
             $this->_getSession()->setNoReferer(true);
         }
-    }
-
-    /**
-     * Get list of actions that are allowed for not authorized users
-     *
-     * @return array
-     */
-    protected function _getAllowedActions()
-    {
-        return $this->_openActions;
-    }
-
-    /**
-     * Action postdispatch
-     *
-     * Remove No-referer flag from customer session after each action
-     */
-    public function postDispatch()
-    {
-        parent::postDispatch();
+        $result = parent::dispatch($request);
         $this->_getSession()->unsNoReferer(false);
+        return $result;
     }
 
     /**
@@ -202,11 +188,11 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->getLayout()->getBlock('head')->setTitle(__('My Account'));
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('My Account'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -219,10 +205,10 @@ class Account extends \Magento\Core\Controller\Front\Action
             return;
         }
         $this->getResponse()->setHeader('Login-Required', 'true');
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -296,7 +282,7 @@ class Account extends \Magento\Core\Controller\Front\Action
                     $referer = $this->getRequest()->getParam(\Magento\Customer\Helper\Data::REFERER_QUERY_PARAM_NAME);
                     if ($referer) {
                         $referer = $this->_objectManager->get('Magento\Core\Helper\Data')->urlDecode($referer);
-                        if ($this->_isUrlInternal($referer)) {
+                        if ($this->_url->isInternal($referer)) {
                             $session->setBeforeAuthUrl($referer);
                         }
                     }
@@ -316,7 +302,7 @@ class Account extends \Magento\Core\Controller\Front\Action
                 $session->setBeforeAuthUrl($session->getAfterAuthUrl(true));
             }
         }
-        $this->_redirectUrl($session->getBeforeAuthUrl(true));
+        $this->getResponse()->setRedirect($session->getBeforeAuthUrl(true));
     }
 
     /**
@@ -327,7 +313,7 @@ class Account extends \Magento\Core\Controller\Front\Action
         $lastCustomerId = $this->_getSession()->getId();
         $this->_getSession()->logout()
             ->renewSession()
-            ->setBeforeAuthUrl($this->_getRefererUrl())
+            ->setBeforeAuthUrl($this->_redirect->getRefererUrl())
             ->setLastCustomerId($lastCustomerId);
 
         $this->_redirect('*/*/logoutSuccess');
@@ -338,8 +324,8 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     public function logoutSuccessAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -352,9 +338,9 @@ class Account extends \Magento\Core\Controller\Front\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -370,7 +356,8 @@ class Account extends \Magento\Core\Controller\Front\Action
         $session->setEscapeMessages(true); // prevent XSS injection in user input
 
         if (!$this->getRequest()->isPost()) {
-            $this->_redirectError($this->_createUrl()->getUrl('*/*/create', array('_secure' => true)));
+            $url = $this->_createUrl()->getUrl('*/*/create', array('_secure' => true));
+            $this->getResponse()->setRedirect($this->_redirect->error($url));
             return;
         }
 
@@ -398,11 +385,12 @@ class Account extends \Magento\Core\Controller\Front\Action
                 $session->addSuccess(
                     __('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%1">click here</a>.', $email)
                 );
-                $this->_redirectSuccess($this->_createUrl()->getUrl('*/*/index', array('_secure' => true)));
+                $url = $this->_createUrl()->getUrl('*/*/index', array('_secure' => true));
+                $this->getResponse()->setRedirect($this->_redirect->success($url));
             } else {
                 $session->setCustomerAsLoggedIn($customer);
                 $url = $this->_welcomeCustomer($customer);
-                $this->_redirectSuccess($url);
+                $this->getResponse()->setRedirect($this->_redirect->success($url));
             }
             return;
         } catch (\Magento\Core\Exception $e) {
@@ -425,7 +413,8 @@ class Account extends \Magento\Core\Controller\Front\Action
         }
 
         $session->setCustomerFormData($this->getRequest()->getPost());
-        $this->_redirectError($this->_createUrl()->getUrl('*/*/create', array('_secure' => true)));
+        $defaultUrl = $this->_createUrl()->getUrl('*/*/create', array('_secure' => true));
+        $this->getResponse()->setRedirect($this->_redirect->error($defaultUrl));
     }
 
     /**
@@ -554,6 +543,67 @@ class Account extends \Magento\Core\Controller\Front\Action
         return $successUrl;
     }
 
+    /**
+     * load customer by id (try/catch in case if it throws exceptions)
+     *
+     * @param $customerId
+     * @return \Magento\Customer\Model\Customer
+     * @throws \Exception
+     */
+    protected function _loadCustomerById($customerId)
+    {
+        try {
+            /** @var \Magento\Customer\Model\Customer $customer */
+            $customer = $this->_createCustomer()->load($customerId);
+            if ((!$customer) || (!$customer->getId())) {
+                throw new \Exception('Failed to load customer by id.');
+            }
+        } catch (\Exception $e) {
+            throw new \Exception(__('Wrong customer account specified.'));
+        }
+        return $customer;
+    }
+
+    /**
+     * @param \Magento\Customer\Model\Customer $customer
+     * @throws \Exception
+     */
+    protected function _activateCustomer($customer)
+    {
+        try {
+            $customer->setConfirmation(null);
+            $customer->save();
+        } catch (\Exception $e) {
+            throw new \Exception(__('Failed to confirm customer account.'));
+        }
+    }
+
+    /**
+     * @param \Magento\Customer\Model\Customer $customer
+     * @param mixed $key
+     * @return bool|null
+     * @throws \Exception
+     */
+    protected function _checkCustomerActive($customer, $key)
+    {
+        $backUrl = $this->getRequest()->getParam('back_url', false);
+
+        // check if it is inactive
+        if ($customer->getConfirmation()) {
+            if ($customer->getConfirmation() !== $key) {
+                throw new \Exception(__('Wrong confirmation key.'));
+            }
+            $this->_activateCustomer($customer);
+
+            // log in and send greeting email, then die happy
+            $this->_getSession()->setCustomerAsLoggedIn($customer);
+            $successUrl = $this->_welcomeCustomer($customer, true);
+            $url = $backUrl ? $backUrl : $successUrl;
+            $this->getResponse()->setRedirect($this->_redirect->success($url));
+            return true;
+        }
+    }
+
     /**
      * Confirm customer account by id and confirmation key
      */
@@ -566,54 +616,55 @@ class Account extends \Magento\Core\Controller\Front\Action
         try {
             $customerId = $this->getRequest()->getParam('id', false);
             $key     = $this->getRequest()->getParam('key', false);
-            $backUrl = $this->getRequest()->getParam('back_url', false);
             if (empty($customerId) || empty($key)) {
                 throw new \Exception(__('Bad request.'));
             }
 
-            // load customer by id (try/catch in case if it throws exceptions)
-            try {
-                /** @var \Magento\Customer\Model\Customer $customer */
-                $customer = $this->_createCustomer()->load($customerId);
-                if ((!$customer) || (!$customer->getId())) {
-                    throw new \Exception('Failed to load customer by id.');
-                }
-            } catch (\Exception $e) {
-                throw new \Exception(__('Wrong customer account specified.'));
-            }
-
-            // check if it is inactive
-            if ($customer->getConfirmation()) {
-                if ($customer->getConfirmation() !== $key) {
-                    throw new \Exception(__('Wrong confirmation key.'));
-                }
-
-                // activate customer
-                try {
-                    $customer->setConfirmation(null);
-                    $customer->save();
-                } catch (\Exception $e) {
-                    throw new \Exception(__('Failed to confirm customer account.'));
-                }
-
-                // log in and send greeting email, then die happy
-                $this->_getSession()->setCustomerAsLoggedIn($customer);
-                $successUrl = $this->_welcomeCustomer($customer, true);
-                $this->_redirectSuccess($backUrl ? $backUrl : $successUrl);
+            $customer = $this->_loadCustomerById($customerId);
+            if (true === $this->_checkCustomerActive($customer, $key)) {
                 return;
             }
 
             // die happy
-            $this->_redirectSuccess($this->_createUrl()->getUrl('*/*/index', array('_secure' => true)));
+            $url = $this->_createUrl()->getUrl('*/*/index', array('_secure' => true));
+            $this->getResponse()->setRedirect($this->_redirect->success($url));
             return;
         } catch (\Exception $e) {
             // die unhappy
             $this->_getSession()->addError($e->getMessage());
-            $this->_redirectError($this->_createUrl()->getUrl('*/*/index', array('_secure' => true)));
+            $url = $this->_createUrl()->getUrl('*/*/index', array('_secure' => true));
+            $this->getResponse()->setRedirect($this->_redirect->error($url));
             return;
         }
     }
 
+    /**
+     * @param \Magento\Customer\Model\Customer $customer
+     * @param string $email
+     */
+    protected function _confirmByEmail($customer, $email)
+    {
+        try {
+            $customer->setWebsiteId($this->_storeManager->getStore()->getWebsiteId())->loadByEmail($email);
+            if (!$customer->getId()) {
+                throw new \Exception('');
+            }
+            if ($customer->getConfirmation()) {
+                $customer->sendNewAccountEmail('confirmation', '', $this->_storeManager->getStore()->getId());
+                $this->_getSession()->addSuccess(__('Please, check your email for confirmation key.'));
+            } else {
+                $this->_getSession()->addSuccess(__('This email does not require confirmation.'));
+            }
+            $this->_getSession()->setUsername($email);
+            $url = $this->_createUrl()->getUrl('*/*/index', array('_secure' => true));
+            $this->getResponse()->setRedirect($this->_redirect->success($url));
+        } catch (\Exception $e) {
+            $this->_getSession()->addException($e, __('Wrong email.'));
+            $url = $this->_createUrl()->getUrl('*/*/*', array('email' => $email, '_secure' => true));
+            $this->getResponse()->setRedirect($this->_redirect->error($url));
+        }
+    }
+
     /**
      * Send confirmation link to specified email
      */
@@ -628,34 +679,18 @@ class Account extends \Magento\Core\Controller\Front\Action
         // try to confirm by email
         $email = $this->getRequest()->getPost('email');
         if ($email) {
-            try {
-                $customer->setWebsiteId($this->_storeManager->getStore()->getWebsiteId())->loadByEmail($email);
-                if (!$customer->getId()) {
-                    throw new \Exception('');
-                }
-                if ($customer->getConfirmation()) {
-                    $customer->sendNewAccountEmail('confirmation', '', $this->_storeManager->getStore()->getId());
-                    $this->_getSession()->addSuccess(__('Please, check your email for confirmation key.'));
-                } else {
-                    $this->_getSession()->addSuccess(__('This email does not require confirmation.'));
-                }
-                $this->_getSession()->setUsername($email);
-                $this->_redirectSuccess($this->_createUrl()->getUrl('*/*/index', array('_secure' => true)));
-            } catch (\Exception $e) {
-                $this->_getSession()->addException($e, __('Wrong email.'));
-                $this->_redirectError($this->_createUrl()->getUrl('*/*/*', array('email' => $email, '_secure' => true)));
-            }
+            $this->_confirmByEmail($customer, $email);
             return;
         }
 
         // output form
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
-        $this->getLayout()->getBlock('accountConfirmation')
+        $this->_view->getLayout()->getBlock('accountConfirmation')
             ->setEmail($this->getRequest()->getParam('email', $email));
 
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->renderLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -663,15 +698,15 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     public function forgotPasswordAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
-        $this->getLayout()->getBlock('forgotPassword')->setEmailValue(
+        $this->_view->getLayout()->getBlock('forgotPassword')->setEmailValue(
             $this->_getSession()->getForgottenEmail()
         );
         $this->_getSession()->unsForgottenEmail();
 
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->renderLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -738,12 +773,12 @@ class Account extends \Magento\Core\Controller\Front\Action
         $customerId = (int)$this->getRequest()->getParam('id');
         try {
             $this->_validateResetPasswordLinkToken($customerId, $resetPasswordToken);
-            $this->loadLayout();
+            $this->_view->loadLayout();
             // Pass received parameters to the reset forgotten password form
-            $this->getLayout()->getBlock('resetPassword')
+            $this->_view->getLayout()->getBlock('resetPassword')
                 ->setCustomerId($customerId)
                 ->setResetPasswordLinkToken($resetPasswordToken);
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Exception $exception) {
             $this->_getSession()->addError(
                 __('Your password reset link has expired.')
@@ -777,10 +812,7 @@ class Account extends \Magento\Core\Controller\Front\Action
 
         $errorMessages = array();
         if (iconv_strlen($password) <= 0) {
-            array_push(
-                $errorMessages,
-                __('New password field cannot be empty.')
-            );
+            $errorMessages[] = __('New password field cannot be empty.');
         }
         /** @var $customer \Magento\Customer\Model\Customer */
         $customer = $this->_createCustomer()->load($customerId);
@@ -859,13 +891,13 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     public function editAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $messageStores = array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session');
+        $this->_view->getLayout()->initMessages($messageStores);
 
-        $block = $this->getLayout()->getBlock('customer_edit');
+        $block = $this->_view->getLayout()->getBlock('customer_edit');
         if ($block) {
-            $block->setRefererUrl($this->_getRefererUrl());
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
         }
         $data = $this->_getSession()->getCustomerFormData(true);
         $customer = $this->_getSession()->getCustomer();
@@ -876,9 +908,9 @@ class Account extends \Magento\Core\Controller\Front\Action
             $customer->setChangePassword(1);
         }
 
-        $this->getLayout()->getBlock('head')->setTitle(__('Account Information'));
-        $this->getLayout()->getBlock('messages')->setEscapeMessageFlag(true);
-        $this->renderLayout();
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('Account Information'));
+        $this->_view->getLayout()->getBlock('messages')->setEscapeMessageFlag(true);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -886,7 +918,7 @@ class Account extends \Magento\Core\Controller\Front\Action
      */
     public function editPostAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             $this->_redirect('*/*/edit');
             return;
         }
@@ -972,18 +1004,6 @@ class Account extends \Magento\Core\Controller\Front\Action
         $this->_redirect('*/*/edit');
     }
 
-    /**
-     * Filtering posted data. Converting localized data if needed
-     *
-     * @param array $data
-     * @return array
-     */
-    protected function _filterPostData($data)
-    {
-        $data = $this->_filterDates($data, array('dob'));
-        return $data;
-    }
-
     /**
      * Check whether VAT ID validation is enabled
      *
diff --git a/app/code/Magento/Customer/Controller/Address.php b/app/code/Magento/Customer/Controller/Address.php
index 92ad71bd899..9345c7b8c62 100644
--- a/app/code/Magento/Customer/Controller/Address.php
+++ b/app/code/Magento/Customer/Controller/Address.php
@@ -33,7 +33,10 @@
  */
 namespace Magento\Customer\Controller;
 
-class Address extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Address extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -50,15 +53,29 @@ class Address extends \Magento\Core\Controller\Front\Action
      */
     protected $_addressFormFactory;
 
+    /**
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_formKeyValidator;
+
+    /**
+     * @param \Magento\App\Action\Context $context
+     * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Customer\Model\AddressFactory $addressFactory
+     * @param \Magento\Customer\Model\Address\FormFactory $addressFormFactory
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
+     */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Customer\Model\Address\FormFactory $addressFormFactory
+        \Magento\Customer\Model\Address\FormFactory $addressFormFactory,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
     ) {
         $this->_customerSession = $customerSession;
         $this->_addressFactory = $addressFactory;
         $this->_addressFormFactory = $addressFormFactory;
+        $this->_formKeyValidator = $formKeyValidator;
         parent::__construct($context);
     }
 
@@ -72,13 +89,16 @@ class Address extends \Magento\Core\Controller\Front\Action
         return $this->_customerSession;
     }
 
-    public function preDispatch()
+    /**
+     * @param RequestInterface $request
+     * @return mixed
+     */
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         if (!$this->_getSession()->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
+            $this->_actionFlag->set('', 'no-dispatch', true);
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -87,15 +107,15 @@ class Address extends \Magento\Core\Controller\Front\Action
     public function indexAction()
     {
         if (count($this->_getSession()->getCustomer()->getAddresses())) {
-            $this->loadLayout();
-            $this->_initLayoutMessages('Magento\Customer\Model\Session');
-            $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+            $this->_view->loadLayout();
+            $this->_view->getLayout()
+                ->initMessages(array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session'));
 
-            $block = $this->getLayout()->getBlock('address_book');
+            $block = $this->_view->getLayout()->getBlock('address_book');
             if ($block) {
-                $block->setRefererUrl($this->_getRefererUrl());
+                $block->setRefererUrl($this->_redirect->getRefererUrl());
             }
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } else {
             $this->getResponse()->setRedirect($this->_buildUrl('*/*/new'));
         }
@@ -116,13 +136,13 @@ class Address extends \Magento\Core\Controller\Front\Action
      */
     public function formAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $navigationBlock = $this->getLayout()->getBlock('customer_account_navigation');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation');
         if ($navigationBlock) {
             $navigationBlock->setActive('customer/address');
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -130,13 +150,13 @@ class Address extends \Magento\Core\Controller\Front\Action
      */
     public function formPostAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             return $this->_redirect('*/*/');
         }
 
         if (!$this->getRequest()->isPost()) {
             $this->_getSession()->setAddressFormData($this->getRequest()->getPost());
-            $this->_redirectError($this->_buildUrl('*/*/edit'));
+            $this->getResponse()->setRedirect($this->_redirect->error($this->_buildUrl('*/*/edit')));
             return;
         }
 
@@ -145,7 +165,8 @@ class Address extends \Magento\Core\Controller\Front\Action
             $this->_validateAddress($address);
             $address->save();
             $this->_getSession()->addSuccess(__('The address has been saved.'));
-            $this->_redirectSuccess($this->_buildUrl('*/*/index', array('_secure'=>true)));
+            $url = $this->_buildUrl('*/*/index', array('_secure'=>true));
+            $this->getResponse()->setRedirect($this->_redirect->success($url));
             return;
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addException($e, $e->getMessage());
@@ -160,7 +181,8 @@ class Address extends \Magento\Core\Controller\Front\Action
         }
 
         $this->_getSession()->setAddressFormData($this->getRequest()->getPost());
-        $this->_redirectError($this->_buildUrl('*/*/edit', array('id' => $address->getId())));
+        $url = $this->_buildUrl('*/*/edit', array('id' => $address->getId()));
+        $this->getResponse()->setRedirect($this->_redirect->error($url));
     }
 
     /**
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/Cart.php b/app/code/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/Cart.php
index 17b77204ed4..0678f1862bf 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/Cart.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/Cart.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Controller\Adminhtml\Cart\Product\Composite;
 
-class Cart extends \Magento\Backend\Controller\Adminhtml\Action
+class Cart extends \Magento\Backend\App\Action
 {
     /**
      * Customer we're working with
@@ -115,7 +115,7 @@ class Cart extends \Magento\Backend\Controller\Adminhtml\Action
         }
 
         $this->_objectManager->get('Magento\Catalog\Helper\Product\Composite')
-            ->renderConfigureResult($this, $configureResult);
+            ->renderConfigureResult($configureResult);
 
         return $this;
     }
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Group.php b/app/code/Magento/Customer/Controller/Adminhtml/Group.php
index 029e27d87ae..d5d55bda9d8 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/Group.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/Group.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Controller\Adminhtml;
 
-class Group extends \Magento\Backend\Controller\Adminhtml\Action
+class Group extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -41,13 +41,12 @@ class Group extends \Magento\Backend\Controller\Adminhtml\Action
      * @var \Magento\Core\Model\Registry
      */
     protected $_coreRegistry = null;
-
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -56,7 +55,7 @@ class Group extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _initGroup()
     {
-        $this->_title(__('Customer Groups'));
+        $this->_title->add(__('Customer Groups'));
 
         $this->_coreRegistry->register('current_group', $this->_objectManager->create('Magento\Customer\Model\Group'));
         $groupId = $this->getRequest()->getParam('id');
@@ -71,13 +70,13 @@ class Group extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Customer Groups'));
+        $this->_title->add(__('Customer Groups'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Customer::customer_group');
         $this->_addBreadcrumb(__('Customers'), __('Customers'));
         $this->_addBreadcrumb(__('Customer Groups'), __('Customer Groups'));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -86,7 +85,7 @@ class Group extends \Magento\Backend\Controller\Adminhtml\Action
     public function newAction()
     {
         $this->_initGroup();
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Customer::customer_group');
         $this->_addBreadcrumb(__('Customers'), __('Customers'));
         $this->_addBreadcrumb(__('Customer Groups'), __('Customer Groups'), $this->getUrl('customer/group'));
@@ -99,12 +98,12 @@ class Group extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_addBreadcrumb(__('New Group'), __('New Customer Groups'));
         }
 
-        $this->_title($currentGroup->getId() ? $currentGroup->getCode() : __('New Customer Group'));
+        $this->_title->add($currentGroup->getId() ? $currentGroup->getCode() : __('New Customer Group'));
 
-        $this->getLayout()->addBlock('Magento\Customer\Block\Adminhtml\Group\Edit', 'group', 'content')
+        $this->_view->getLayout()->addBlock('Magento\Customer\Block\Adminhtml\Group\Edit', 'group', 'content')
             ->setEditMode((bool)$this->_coreRegistry->registry('current_group')->getId());
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Index.php b/app/code/Magento/Customer/Controller/Adminhtml/Index.php
index 7b478c7ca27..1eacfaea36f 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/Index.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/Index.php
@@ -25,7 +25,9 @@
  */
 namespace Magento\Customer\Controller\Adminhtml;
 
-class Index extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\App\Action\NotFoundException;
+
+class Index extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\Validator
@@ -40,13 +42,21 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Response\Http\FileFactory $fileFactory
     ) {
+        $this->_fileFactory = $fileFactory;
         $this->_coreRegistry = $coreRegistry;
         parent::__construct($context);
     }
@@ -60,7 +70,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _initCustomer($idFieldName = 'id')
     {
         // Default title
-        $this->_title(__('Customers'));
+        $this->_title->add(__('Customers'));
 
         $customerId = (int)$this->getRequest()->getParam($idFieldName);
         $customer = $this->_objectManager->create('Magento\Customer\Model\Customer');
@@ -77,13 +87,13 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Customers'));
+        $this->_title->add(__('Customers'));
 
         if ($this->getRequest()->getQuery('ajax')) {
             $this->_forward('grid');
             return;
         }
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         /**
          * Set active menu item
@@ -94,7 +104,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
          * Append customers block to content
          */
         $this->_addContent(
-            $this->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Customer', 'customer')
+            $this->_view->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Customer', 'customer')
         );
 
         /**
@@ -103,7 +113,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
         $this->_addBreadcrumb(__('Customers'), __('Customers'));
         $this->_addBreadcrumb(__('Manage Customers'), __('Manage Customers'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -111,8 +121,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -121,7 +131,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function editAction()
     {
         $this->_initCustomer();
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Customer::customer_manage');
 
         /* @var $customer \Magento\Customer\Model\Customer */
@@ -178,14 +188,14 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($customer->getId() ? $customer->getName() : __('New Customer'));
+        $this->_title->add($customer->getId() ? $customer->getName() : __('New Customer'));
 
         /**
          * Set active menu item
          */
         $this->_setActiveMenu('Magento_Customer::customer');
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -268,7 +278,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
                 $this->_getSession()->setCustomerData($originalRequestData);
                 $returnToEdit = true;
             } catch (\Magento\Core\Exception $exception) {
-                $messages = $exception->getMessages(\Magento\Core\Model\Message::ERROR);
+                $messages = $exception->getMessages(\Magento\Message\Factory::ERROR);
                 if (!count($messages)) {
                     $messages = $exception->getMessage();
                 }
@@ -324,7 +334,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_getSession()
                 ->addSuccess(__('Customer will receive an email with a link to reset password.'));
         } catch (\Magento\Core\Exception $exception) {
-            $messages = $exception->getMessages(\Magento\Core\Model\Message::ERROR);
+            $messages = $exception->getMessages(\Magento\Message\Factory::ERROR);
             if (!count($messages)) {
                 $messages = $exception->getMessage();
             }
@@ -348,8 +358,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
         $session = $this->_getSession();
 
         $callback = function ($error) use ($session) {
-            if (!($error instanceof \Magento\Core\Model\Message\Error)) {
-                $error = new \Magento\Core\Model\Message\Error($error);
+            if (!($error instanceof \Magento\Message\Error)) {
+                $error = new \Magento\Message\Error($error);
             }
             $session->addMessage($error);
         };
@@ -461,9 +471,9 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportCsvAction()
     {
         $fileName = 'customers.csv';
-        $content = $this->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Grid')->getCsvFile();
+        $content = $this->_view->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Grid')->getCsvFile();
 
-        $this->_prepareDownloadResponse($fileName, $content);
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -472,8 +482,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function exportXmlAction()
     {
         $fileName = 'customers.xml';
-        $content = $this->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Grid')->getExcelFile();
-        $this->_prepareDownloadResponse($fileName, $content);
+        $content = $this->_view->getLayout()->createBlock('Magento\Customer\Block\Adminhtml\Grid')->getExcelFile();
+        return $this->_fileFactory->create($fileName, $content);
     }
 
     /**
@@ -482,8 +492,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function ordersAction()
     {
         $this->_initCustomer();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -492,8 +502,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function lastOrdersAction()
     {
         $this->_initCustomer();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -506,7 +516,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             ->loadByCustomer($this->_coreRegistry->registry('current_customer'));
 
         $this->_coreRegistry->register('subscriber', $subscriber);
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     public function wishlistAction()
@@ -523,9 +533,11 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->getLayout()->getUpdate()->addHandle(strtolower($this->getFullActionName()));
-        $this->loadLayoutUpdates()->generateLayoutXml()->generateLayoutBlocks();
-        $this->renderLayout();
+        $this->_view->getLayout()->getUpdate()->addHandle(strtolower($this->_request->getFullActionName()));
+        $this->_view->loadLayoutUpdates();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -534,8 +546,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function viewWishlistAction()
     {
         $this->_initCustomer();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -563,9 +575,9 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->loadLayout();
-        $this->getLayout()->getBlock('admin.customer.view.edit.cart')->setWebsiteId($websiteId);
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('admin.customer.view.edit.cart')->setWebsiteId($websiteId);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -575,11 +587,10 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function viewCartAction()
     {
         $this->_initCustomer();
-        $this->loadLayout()
-            ->getLayout()
-            ->getBlock('admin.customer.view.cart')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('admin.customer.view.cart')
             ->setWebsiteId((int)$this->getRequest()->getParam('website_id'));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -589,8 +600,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function cartsAction()
     {
         $this->_initCustomer();
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -600,12 +611,11 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function productReviewsAction()
     {
         $this->_initCustomer();
-        $this->loadLayout()
-            ->getLayout()
-            ->getBlock('admin.customer.reviews')
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('admin.customer.reviews')
             ->setCustomerId($this->_coreRegistry->registry('current_customer')->getId())
             ->setUseAjax(true);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -622,8 +632,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
         }
 
         if ($response->getError()) {
-            $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
-            $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+            $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
+            $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
         }
 
         $this->getResponse()->setBody($response->toJson());
@@ -669,8 +679,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             $customer->addData($data);
             $errors = $customer->validate();
         } catch (\Magento\Core\Exception $exception) {
-            /* @var $error \Magento\Core\Model\Message\Error */
-            foreach ($exception->getMessages(\Magento\Core\Model\Message::ERROR) as $error) {
+            /* @var $error \Magento\Message\Error */
+            foreach ($exception->getMessages(\Magento\Message\Factory::ERROR) as $error) {
                 $errors[] = $error->getCode();
             }
         }
@@ -828,6 +838,8 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
 
     /**
      * Customer view file action
+     *
+     * @throws NotFoundException
      */
     public function viewfileAction()
     {
@@ -843,7 +855,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
                 ->urlDecode($this->getRequest()->getParam('image'));
             $plain  = true;
         } else {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
 
         $path = $this->_objectManager->get('Magento\App\Dir')->getDir('media') . DS . 'customer';
@@ -856,7 +868,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             && !$this->_objectManager->get('Magento\Core\Helper\File\Storage')
                 ->processStorageFile(str_replace('/', DS, $fileName))
         ) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
 
         if ($plain) {
@@ -891,7 +903,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
             echo $filesystem->read($fileName);
         } else {
             $name = pathinfo($fileName, PATHINFO_BASENAME);
-            $this->_prepareDownloadResponse($name, array(
+            $this->_fileFactory->create($name, array(
                 'type'  => 'filename',
                 'value' => $fileName
             ));
@@ -908,16 +920,4 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     {
         return $this->_authorization->isAllowed('Magento_Customer::manage');
     }
-
-    /**
-     * Filtering posted data. Converting localized data if needed
-     *
-     * @param array
-     * @return array
-     */
-    protected function _filterPostData($data)
-    {
-        $data['account'] = $this->_filterDates($data['account'], array('dob'));
-        return $data;
-    }
 }
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Online.php b/app/code/Magento/Customer/Controller/Adminhtml/Online.php
index d280b1a46b3..d757d4ad703 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/Online.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/Online.php
@@ -25,26 +25,25 @@
  */
 namespace Magento\Customer\Controller\Adminhtml;
 
-class Online extends \Magento\Backend\Controller\Adminhtml\Action
+class Online extends \Magento\Backend\App\Action
 {
-
     public function indexAction()
     {
-        $this->_title(__('Customers Now Online'));
+        $this->_title->add(__('Customers Now Online'));
 
-        if($this->getRequest()->getParam('ajax')) {
+        if ($this->getRequest()->getParam('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Customer::customer_online');
 
         $this->_addBreadcrumb(__('Customers'), __('Customers'));
         $this->_addBreadcrumb(__('Online Customers'), __('Online Customers'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/System/Config/Validatevat.php b/app/code/Magento/Customer/Controller/Adminhtml/System/Config/Validatevat.php
index a75b70f5826..7ae4b8b4d92 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/System/Config/Validatevat.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/System/Config/Validatevat.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Customer\Controller\Adminhtml\System\Config;
 
-class Validatevat extends \Magento\Backend\Controller\Adminhtml\Action
+class Validatevat extends \Magento\Backend\App\Action
 {
     /**
      * Perform customer VAT ID validation
diff --git a/app/code/Magento/Customer/Controller/Adminhtml/Wishlist/Product/Composite/Wishlist.php b/app/code/Magento/Customer/Controller/Adminhtml/Wishlist/Product/Composite/Wishlist.php
index 594955b9a05..900d5604c5f 100644
--- a/app/code/Magento/Customer/Controller/Adminhtml/Wishlist/Product/Composite/Wishlist.php
+++ b/app/code/Magento/Customer/Controller/Adminhtml/Wishlist/Product/Composite/Wishlist.php
@@ -34,7 +34,7 @@
 namespace Magento\Customer\Controller\Adminhtml\Wishlist\Product\Composite;
 
 class Wishlist
-    extends \Magento\Backend\Controller\Adminhtml\Action
+    extends \Magento\Backend\App\Action
 {
      /**
      * Wishlist we're working with
@@ -101,7 +101,7 @@ class Wishlist
         }
 
         $this->_objectManager->get('Magento\Catalog\Helper\Product\Composite')
-            ->renderConfigureResult($this, $configureResult);
+            ->renderConfigureResult($configureResult);
 
         return $this;
     }
diff --git a/app/code/Magento/Customer/Controller/Review.php b/app/code/Magento/Customer/Controller/Review.php
index f33ef43f895..384c5736f6e 100644
--- a/app/code/Magento/Customer/Controller/Review.php
+++ b/app/code/Magento/Customer/Controller/Review.php
@@ -34,17 +34,17 @@
 
 namespace Magento\Customer\Controller;
 
-class Review extends \Magento\Core\Controller\Front\Action
+class Review extends \Magento\App\Action\Action
 {
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     public function viewAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Customer/Helper/Address.php b/app/code/Magento/Customer/Helper/Address.php
index 93309fc8349..4dedbe701a9 100644
--- a/app/code/Magento/Customer/Helper/Address.php
+++ b/app/code/Magento/Customer/Helper/Address.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Customer\Helper;
 
-class Address extends \Magento\Core\Helper\AbstractHelper
+class Address extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * VAT Validation parameters XML paths
@@ -93,7 +93,7 @@ class Address extends \Magento\Core\Helper\AbstractHelper
     protected $_addressConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\View\Element\BlockFactory $blockFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -101,7 +101,7 @@ class Address extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Customer\Model\Address\Config|\Magento\Customer\Model\Address\Config $addressConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\View\Element\BlockFactory $blockFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
diff --git a/app/code/Magento/Customer/Helper/Data.php b/app/code/Magento/Customer/Helper/Data.php
index d8d8ee9016c..96e4c19297a 100644
--- a/app/code/Magento/Customer/Helper/Data.php
+++ b/app/code/Magento/Customer/Helper/Data.php
@@ -29,7 +29,7 @@ namespace Magento\Customer\Helper;
 /**
  * Customer Data Helper
  */
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Query param name for last url visited
@@ -119,13 +119,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_customerAddress = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core store config
      *
@@ -164,10 +157,9 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $mathRandom;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Address $customerAddress
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Customer\Model\Session $customerSession
@@ -177,10 +169,9 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Math\Random $mathRandom
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Address $customerAddress,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Customer\Model\Session $customerSession,
@@ -189,7 +180,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\Escaper $escaper,
         \Magento\Math\Random $mathRandom
     ) {
-        $this->_eventManager = $eventManager;
         $this->_customerAddress = $customerAddress;
         $this->_coreData = $coreData;
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Customer/Model/Address.php b/app/code/Magento/Customer/Model/Address.php
index e32b17e2625..e1b99858231 100644
--- a/app/code/Magento/Customer/Model/Address.php
+++ b/app/code/Magento/Customer/Model/Address.php
@@ -47,7 +47,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_customerFactory;
 
     /**
-     * @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 +62,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -78,7 +76,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     ) {
         $this->_customerFactory = $customerFactory;
         parent::__construct(
-            $eventManager, $directoryData, $context, $registry, $eavConfig, $addressConfig, $regionFactory,
+            $directoryData, $context, $registry, $eavConfig, $addressConfig, $regionFactory,
             $countryFactory, $resource, $resourceCollection, $data
         );
     }
diff --git a/app/code/Magento/Customer/Model/Address/AbstractAddress.php b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
index 1edffbe2a09..1b6f5306de1 100644
--- a/app/code/Magento/Customer/Model/Address/AbstractAddress.php
+++ b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
@@ -79,13 +79,6 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
      */
     protected $_directoryData = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Eav\Model\Config
      */
@@ -107,7 +100,6 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
     protected $_countryFactory;
 
     /**
-     * @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 +112,6 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -132,7 +123,6 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_directoryData = $directoryData;
         $data = $this->_implodeStreetField($data);
         $this->_eavConfig = $eavConfig;
diff --git a/app/code/Magento/Customer/Model/Address/Config.php b/app/code/Magento/Customer/Model/Address/Config.php
index a984df2a211..8ad4cf54e9c 100644
--- a/app/code/Magento/Customer/Model/Address/Config.php
+++ b/app/code/Magento/Customer/Model/Address/Config.php
@@ -63,7 +63,7 @@ class Config extends \Magento\Config\Data
     protected $_defaultTypes    = array();
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -75,14 +75,14 @@ class Config extends \Magento\Config\Data
     /**
      * @param \Magento\Customer\Model\Address\Config\Reader $reader
      * @param \Magento\Config\CacheInterface $cache
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Helper\Address $addressHelper
      * @param string $cacheId
      */
     public function __construct(
         \Magento\Customer\Model\Address\Config\Reader $reader,
         \Magento\Config\CacheInterface $cache,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Helper\Address $addressHelper,
         $cacheId = 'address_format'
     ) {
diff --git a/app/code/Magento/Customer/Model/Config/Backend/Address/Street.php b/app/code/Magento/Customer/Model/Config/Backend/Address/Street.php
index a13cc8116c0..59f21529bc3 100644
--- a/app/code/Magento/Customer/Model/Config/Backend/Address/Street.php
+++ b/app/code/Magento/Customer/Model/Config/Backend/Address/Street.php
@@ -41,7 +41,7 @@ class Street extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -51,7 +51,7 @@ class Street extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Customer/Model/Config/Backend/Show/Customer.php b/app/code/Magento/Customer/Model/Config/Backend/Show/Customer.php
index 11e1b230440..b0348b604c5 100644
--- a/app/code/Magento/Customer/Model/Config/Backend/Show/Customer.php
+++ b/app/code/Magento/Customer/Model/Config/Backend/Show/Customer.php
@@ -43,7 +43,7 @@ class Customer extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -53,7 +53,7 @@ class Customer extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Customer/Model/Config/Share.php b/app/code/Magento/Customer/Model/Config/Share.php
index 18736ccf383..e64fc013480 100644
--- a/app/code/Magento/Customer/Model/Config/Share.php
+++ b/app/code/Magento/Customer/Model/Config/Share.php
@@ -66,7 +66,7 @@ class Share extends \Magento\Core\Model\Config\Value
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Resource\Customer $customerResource
@@ -77,7 +77,7 @@ class Share extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Resource\Customer $customerResource,
diff --git a/app/code/Magento/Customer/Model/Customer.php b/app/code/Magento/Customer/Model/Customer.php
index 903c3de16fc..911e2036108 100644
--- a/app/code/Magento/Customer/Model/Customer.php
+++ b/app/code/Magento/Customer/Model/Customer.php
@@ -120,10 +120,10 @@ class Customer extends \Magento\Core\Model\AbstractModel
      */
     private static $_isConfirmationRequired;
 
-    /** @var \Magento\Core\Model\Sender */
+    /** @var \Magento\Email\Model\Sender */
     protected $_sender;
 
-    /** @var \Magento\Core\Model\StoreManager */
+    /** @var \Magento\Core\Model\StoreManagerInterface */
     protected $_storeManager;
 
     /** @var \Magento\Eav\Model\Config */
@@ -136,13 +136,6 @@ class Customer extends \Magento\Core\Model\AbstractModel
      */
     protected $_customerData = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Core\Model\Store\Config
      */
@@ -164,12 +157,12 @@ class Customer extends \Magento\Core\Model\AbstractModel
     protected $_addressesFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\MailerFactory
+     * @var \Magento\Email\Model\Template\MailerFactory
      */
     protected $_mailerFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
@@ -199,20 +192,19 @@ class Customer extends \Magento\Core\Model\AbstractModel
     protected $dateTime;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Sender $sender
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Email\Model\Sender $sender
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Resource\Customer $resource
      * @param \Magento\Customer\Model\Config\Share $configShare
      * @param \Magento\Customer\Model\AddressFactory $addressFactory
      * @param \Magento\Customer\Model\Resource\Address\CollectionFactory $addressesFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $mailerFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $mailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
      * @param \Magento\Customer\Model\GroupFactory $groupFactory
      * @param \Magento\Customer\Model\AttributeFactory $attributeFactory
      * @param \Magento\Encryption\EncryptorInterface $encryptor
@@ -222,20 +214,19 @@ class Customer extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Sender $sender,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Email\Model\Sender $sender,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Resource\Customer $resource,
         \Magento\Customer\Model\Config\Share $configShare,
         \Magento\Customer\Model\AddressFactory $addressFactory,
         \Magento\Customer\Model\Resource\Address\CollectionFactory $addressesFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $mailerFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $mailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
         \Magento\Customer\Model\GroupFactory $groupFactory,
         \Magento\Customer\Model\AttributeFactory $attributeFactory,
         \Magento\Encryption\EncryptorInterface $encryptor,
@@ -244,7 +235,6 @@ class Customer extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_customerData = $customerData;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_sender = $sender;
@@ -767,7 +757,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
      */
     protected function _sendEmailTemplate($template, $sender, $templateParams = array(), $storeId = null)
     {
-        /** @var $mailer \Magento\Core\Model\Email\Template\Mailer */
+        /** @var $mailer \Magento\Email\Model\Template\Mailer */
         $mailer = $this->_createMailer();
         $emailInfo = $this->_createEmailInfo();
         $emailInfo->addTo($this->getEmail(), $this->getName());
@@ -1253,7 +1243,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
     }
 
     /**
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     protected function _createMailer()
     {
@@ -1261,7 +1251,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
     }
 
     /**
-     * @return \Magento\Core\Model\Email\Info
+     * @return \Magento\Email\Model\Info
      */
     protected function _createEmailInfo()
     {
diff --git a/app/code/Magento/Customer/Model/Observer.php b/app/code/Magento/Customer/Model/Observer.php
index 1cef82c3403..1247b1706d9 100644
--- a/app/code/Magento/Customer/Model/Observer.php
+++ b/app/code/Magento/Customer/Model/Observer.php
@@ -63,7 +63,7 @@ class Observer
     protected $_customerData;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -76,14 +76,14 @@ class Observer
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Customer\Helper\Address $customerAddress
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Customer\Helper\Address $customerAddress,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession
     ) {
         $this->_customerData = $customerData;
diff --git a/app/code/Magento/Customer/Model/Session.php b/app/code/Magento/Customer/Model/Session.php
index 98337ee4572..35c7fc739f4 100644
--- a/app/code/Magento/Customer/Model/Session.php
+++ b/app/code/Magento/Customer/Model/Session.php
@@ -59,11 +59,6 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      */
     protected $_coreUrl = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Config\Share
      */
@@ -91,7 +86,6 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
 
     /**
      * @param \Magento\Core\Model\Session\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Config\Share $configShare
      * @param \Magento\Core\Helper\Url $coreUrl
      * @param \Magento\Customer\Helper\Data $customerData
@@ -104,7 +98,6 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
      */
     public function __construct(
         \Magento\Core\Model\Session\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Config\Share $configShare,
         \Magento\Core\Helper\Url $coreUrl,
         \Magento\Customer\Helper\Data $customerData,
@@ -117,7 +110,6 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     ) {
         $this->_coreUrl = $coreUrl;
         $this->_customerData = $customerData;
-        $this->_storeManager = $storeManager;
         $this->_configShare = $configShare;
         $this->_session = $session;
         $this->_customerResource = $customerResource;
@@ -126,7 +118,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
         parent::__construct($context, $data);
         $namespace = 'customer';
         if ($configShare->isWebsiteScope()) {
-            $namespace .= '_' . ($storeManager->getWebsite()->getCode());
+            $namespace .= '_' . ($this->_storeManager->getWebsite()->getCode());
         }
 
         $this->init($namespace, $sessionName);
@@ -325,11 +317,11 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     /**
      * Authenticate controller action by login customer
      *
-     * @param   \Magento\Core\Controller\Varien\Action $action
+     * @param   \Magento\App\Action\Action $action
      * @param   bool $loginUrl
      * @return  bool
      */
-    public function authenticate(\Magento\Core\Controller\Varien\Action $action, $loginUrl = null)
+    public function authenticate(\Magento\App\Action\Action $action, $loginUrl = null)
     {
         if ($this->isLoggedIn()) {
             return true;
@@ -338,8 +330,14 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
         if (isset($loginUrl)) {
             $action->getResponse()->setRedirect($loginUrl);
         } else {
-            $action->setRedirectWithCookieCheck(\Magento\Customer\Helper\Data::ROUTE_ACCOUNT_LOGIN,
-                $this->_customerData->getLoginUrlParams()
+            $arguments = $this->_customerData->getLoginUrlParams();
+            if ($this->_session->getCookieShouldBeReceived() && $this->_url->getUseSession()) {
+                $arguments += array('_query' => array(
+                    $this->_session->getSessionIdQueryParam() => $this->_session->getSessionId()
+                ));
+            }
+            $action->getResponse()->setRedirect(
+                $this->_url->getUrl(\Magento\Customer\Helper\Data::ROUTE_ACCOUNT_LOGIN, $arguments)
             );
         }
 
diff --git a/app/code/Magento/Customer/etc/frontend/di.xml b/app/code/Magento/Customer/etc/frontend/di.xml
index eafd321ae09..b7812302ff0 100644
--- a/app/code/Magento/Customer/etc/frontend/di.xml
+++ b/app/code/Magento/Customer/etc/frontend/di.xml
@@ -36,4 +36,15 @@
             </value>
         </param>
     </type>
+    <virtualType name="customerAccountInitSession" type="Magento\Core\App\Action\Plugin\Session">
+        <param name="cookieCheckActions">
+            <value>
+                <customerLogin>loginPost</customerLogin>
+                <customerCreate>createpost</customerCreate>
+            </value>
+        </param>
+    </virtualType>
+    <type name="Magento\Customer\Controller\Account">
+        <plugin name="sessionInitializer" type="customerAccountInitSession" />
+    </type>
 </config>
diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_confirmation.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_confirmation.xml
index 60fa97c0f6b..34e54f22ebf 100644
--- a/app/code/Magento/Customer/view/frontend/layout/customer_account_confirmation.xml
+++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_confirmation.xml
@@ -35,6 +35,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="accountConfirmation" template="Magento_Customer::form/confirmation.phtml"/>
+        <block class="Magento\View\Block\Template" name="accountConfirmation" template="Magento_Customer::form/confirmation.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml
index 4fbb35b4323..1d1922a9d7d 100644
--- a/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml
+++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_index.xml
@@ -32,7 +32,7 @@
     </referenceBlock>
     <referenceContainer name="content">
         <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\View\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"/>
     </referenceContainer>
diff --git a/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml b/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml
index 1834231f22a..9a17dc8e9c0 100644
--- a/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml
+++ b/app/code/Magento/Customer/view/frontend/layout/customer_account_logoutsuccess.xml
@@ -35,6 +35,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="customer_logout" template="Magento_Customer::logout.phtml"/>
+        <block class="Magento\View\Block\Template" name="customer_logout" template="Magento_Customer::logout.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/BackgroundUploader.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/BackgroundUploader.php
index c7ebf6667f8..95cedefbb5f 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/BackgroundUploader.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/BackgroundUploader.php
@@ -37,20 +37,20 @@ class BackgroundUploader
      */
     protected $_themeContext;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
         $this->_themeContext = $themeContext;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/LogoUploader.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/LogoUploader.php
index 3034970e9a0..1ff5b226fbe 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/LogoUploader.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Form/Renderer/LogoUploader.php
@@ -60,23 +60,23 @@ class LogoUploader
         'Magento_DesignEditor::editor/form/renderer/logo-uploader.phtml',
     );
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param \Magento\Theme\Model\Config\Customization $customization
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param \Magento\Theme\Model\Config\Customization $customization
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        \Magento\Theme\Model\Config\Customization $customization,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        \Magento\Theme\Model\Config\Customization $customization,
+        array $data = array()
+    ) {
         $this->_themeContext = $themeContext;
         $this->_customization = $customization;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
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 2b02e142b4e..765ab97da9f 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
@@ -42,31 +42,23 @@ class Edit
      */
     protected $_changeFactory;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_localeModel;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param \Magento\DesignEditor\Model\Theme\ChangeFactory $changeFactory
-     * @param \Magento\Core\Model\LocaleInterface $localeModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param \Magento\DesignEditor\Model\Theme\ChangeFactory $changeFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        \Magento\DesignEditor\Model\Theme\ChangeFactory $changeFactory,
-        \Magento\Core\Model\LocaleInterface $localeModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        \Magento\DesignEditor\Model\Theme\ChangeFactory $changeFactory,
+        array $data = array()
+    ) {
         $this->_themeContext = $themeContext;
         $this->_changeFactory = $changeFactory;
-        $this->_localeModel = $localeModel;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -180,7 +172,7 @@ class Edit
     {
         $sourceChange = $this->_changeFactory->create();
         $sourceChange->loadByThemeId($this->_themeContext->getEditableTheme()->getId());
-        $dateMessage = $this->_localeModel
+        $dateMessage = $this->_locale
             ->date($sourceChange->getChangeTime(), \Magento\Stdlib\DateTime::DATETIME_INTERNAL_FORMAT)->toString();
         $message = __('Do you want to restore the version saved at %1?', $dateMessage);
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools.php
index c479fdeec53..5791179d15f 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools.php
@@ -44,20 +44,20 @@ class Tools extends \Magento\Backend\Block\Template
      */
     protected $_themeContext;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
         $this->_themeContext = $themeContext;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Block.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Block.php
index f2ba4592a40..e3f51e19f8a 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Block.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Block.php
@@ -29,6 +29,6 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools;
 
-class Block extends \Magento\Core\Block\Template
+class Block extends \Magento\View\Block\Template
 {
 }
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Css.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Css.php
index 379c0c5cc29..5c98b0d8f09 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Css.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Css.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code;
 
-class Css extends \Magento\Core\Block\Template
+class Css extends \Magento\View\Block\Template
 {
     /**
      * Get file groups content
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 90866a7e879..806e9afcb0d 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
@@ -43,23 +43,23 @@ class Custom extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_themeContext;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_themeContext = $themeContext;
     }
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/ImageSizing.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/ImageSizing.php
index a1553ee7043..fe0cbd86a9c 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/ImageSizing.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/ImageSizing.php
@@ -48,27 +48,27 @@ class ImageSizing extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_themeContext;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory $controlFactory
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Eav\Model\Config $eavConfig
+     * @param \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory $controlFactory
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Eav\Model\Config $eavConfig,
-        \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory $controlFactory,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Eav\Model\Config $eavConfig,
+        \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory $controlFactory,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_eavConfig = $eavConfig;
         $this->_controlFactory = $controlFactory;
         $this->_themeContext = $themeContext;
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Js.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Js.php
index d0be1f28234..d179993bc06 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Js.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Js.php
@@ -43,25 +43,25 @@ class Js extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_themeContext;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Theme\Model\Config\Customization $customizationConfig
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Theme\Model\Config\Customization $customizationConfig
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Theme\Model\Config\Customization $customizationConfig,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Theme\Model\Config\Customization $customizationConfig,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_customizationConfig = $customizationConfig;
         $this->_themeContext = $themeContext;
     }
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/AbstractTab.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/AbstractTab.php
index d3696145c8f..978cba1aa85 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/AbstractTab.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/AbstractTab.php
@@ -62,21 +62,21 @@ abstract class AbstractTab
      */
     protected $_tab = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Form\Builder $formBuilder
-     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Form\Builder $formBuilder
+     * @param \Magento\DesignEditor\Model\Theme\Context $themeContext
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Form\Builder $formBuilder,
-        \Magento\DesignEditor\Model\Theme\Context $themeContext,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Form\Builder $formBuilder,
+        \Magento\DesignEditor\Model\Theme\Context $themeContext,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_formBuilder = $formBuilder;
         $this->_themeContext = $themeContext;
     }
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Settings.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Settings.php
index 42128b75a7e..98e200a2536 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Settings.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Settings.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools;
 
-class Settings extends \Magento\Core\Block\Template
+class Settings extends \Magento\View\Block\Template
 {
 
 }
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/AbstractTabs.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/AbstractTabs.php
index eda9e3cd54c..4f671b605a7 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/AbstractTabs.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/AbstractTabs.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Tabs;
 
-abstract class AbstractTabs extends \Magento\Core\Block\Template
+abstract class AbstractTabs extends \Magento\View\Block\Template
 {
     /**
      * Alias of tab handle block in layout
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/Body.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/Body.php
index 30c46e1d31e..40d57cb2388 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/Body.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Tabs/Body.php
@@ -36,7 +36,7 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Tabs;
 
-class Body extends \Magento\Core\Block\Template
+class Body extends \Magento\View\Block\Template
 {
     /**
      * Get tab content
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Button.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Button.php
index 162196bd6ae..c21ea4d630c 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Button.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Button.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Theme;
 
-class Button extends \Magento\Core\Block\Template
+class Button extends \Magento\View\Block\Template
 {
     /**
      * Define block template
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 e1fcc816a2e..e8bf7044d59 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
@@ -168,7 +168,7 @@ abstract class AbstractSelectorList
         $editButton->setData(array(
             'title'  => __('Edit'),
             'label'  => __('Edit'),
-            'class'  => 'action-edit',
+            'class'  => 'action-edit primary',
             'href'   => $this->_getEditUrl($themeBlock->getTheme()->getId()),
             'target' => 'edittheme',
         ));
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/Assigned.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/Assigned.php
index d84589f45a7..916222e4ad3 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/Assigned.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/Assigned.php
@@ -32,29 +32,6 @@ namespace Magento\DesignEditor\Block\Adminhtml\Theme\Selector\SelectorList;
 class Assigned
     extends \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\SelectorList\AbstractSelectorList
 {
-    /**
-     * Store manager model
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
-    }
-
     /**
      * Get list title
      *
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/StoreView.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/StoreView.php
index 73a3ebd7b2b..10f6eddbea8 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/StoreView.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/StoreView.php
@@ -47,25 +47,24 @@ class StoreView extends \Magento\Backend\Block\Template
      */
     protected $_customizationConfig;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Resource\Website\Collection $websiteCollection
-     * @param \Magento\Theme\Model\Config\Customization $customizationConfig
-     * @param array $data
-     * @internal param \Magento\Theme\Model\Config $themeConfig
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Resource\Website\Collection $websiteCollection
+     * @param \Magento\Theme\Model\Config\Customization $customizationConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Resource\Website\Collection $websiteCollection,
-        \Magento\Theme\Model\Config\Customization $customizationConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Resource\Website\Collection $websiteCollection,
+        \Magento\Theme\Model\Config\Customization $customizationConfig,
+        array $data = array()
+    ) {
         $this->_websiteCollection = $websiteCollection;
         $this->_customizationConfig = $customizationConfig;
 
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
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 f4420557e5a..b4ecc0e8858 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
@@ -31,7 +31,7 @@ namespace Magento\DesignEditor\Controller\Adminhtml\System\Design;
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Editor extends \Magento\Backend\Controller\Adminhtml\Action
+class Editor extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\Theme\Model\Config
@@ -44,18 +44,17 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_customizationConfig;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Theme\Model\Config $themeConfig
      * @param \Magento\Theme\Model\Config\Customization $customizationConfig
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Theme\Model\Config $themeConfig,
         \Magento\Theme\Model\Config\Customization $customizationConfig
     ) {
         $this->_themeConfig         = $themeConfig;
         $this->_customizationConfig = $customizationConfig;
-
         parent::__construct($context);
     }
 
@@ -82,18 +81,18 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
             ->getParam('page_size', \Magento\Core\Model\Resource\Theme\Collection::DEFAULT_PAGE_SIZE);
 
         try {
-            $this->loadLayout();
+            $this->_view->loadLayout();
             /** @var $collection \Magento\Core\Model\Resource\Theme\Collection */
             $collection = $this->_objectManager->get('Magento\Core\Model\Resource\Theme\Collection')
                 ->filterPhysicalThemes($page, $pageSize);
 
             /** @var $availableThemeBlock \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\SelectorList\Available */
-            $availableThemeBlock =  $this->getLayout()->getBlock('available.theme.list');
+            $availableThemeBlock =  $this->_view->getLayout()->getBlock('available.theme.list');
             $availableThemeBlock->setCollection($collection)->setNextPage(++$page);
             $availableThemeBlock->setIsFirstEntrance($this->_isFirstEntrance());
             $availableThemeBlock->setHasThemeAssigned($this->_customizationConfig->hasThemeAssigned());
 
-            $response = array('content' => $this->getLayout()->getOutput());
+            $response = array('content' => $this->_view->getLayout()->getOutput());
         } catch (\Exception $e) {
             $this->_objectManager->get('Magento\Logger')->logException($e);
             $response = array('error' => __('Sorry, but we can\'t load the theme list.'));
@@ -124,20 +123,20 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_eventManager->dispatch('design_editor_activate');
 
             $this->_setTitle();
-            $this->loadLayout();
+            $this->_view->loadLayout();
 
             $this->_configureToolbarBlocks($launchedTheme, $editableTheme, $mode); //top panel
             $this->_configureToolsBlocks($launchedTheme, $mode); //bottom panel
             $this->_configureEditorBlock($launchedTheme, $mode); //editor container
 
             /** @var $storeViewBlock \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\StoreView */
-            $storeViewBlock = $this->getLayout()->getBlock('theme.selector.storeview');
+            $storeViewBlock = $this->_view->getLayout()->getBlock('theme.selector.storeview');
             $storeViewBlock->setData(array(
                 'actionOnAssign' => 'none',
                 'theme_id'       => $launchedTheme->getId()
             ));
 
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addException($e, $e->getMessage());
             $this->_objectManager->get('Magento\Logger')->logException($e);
@@ -296,7 +295,7 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_objectManager->get('Magento\Logger')->logException($e);
             $this->_getSession()->addError(__('You cannot duplicate this theme.'));
         }
-        $this->_redirectUrl($this->_getRefererUrl());
+        $this->getResponse()->setRedirect($this->_redirect->getRefererUrl());
     }
 
     /**
@@ -354,7 +353,7 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _setTitle()
     {
-        $this->_title(__('Store Designer'));
+        $this->_title->add(__('Store Designer'));
     }
 
     /**
@@ -395,13 +394,13 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _configureToolsBlocks($theme, $mode)
     {
         /** @var $toolsBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Tools */
-        $toolsBlock = $this->getLayout()->getBlock('design_editor_tools');
+        $toolsBlock = $this->_view->getLayout()->getBlock('design_editor_tools');
         if ($toolsBlock) {
             $toolsBlock->setMode($mode);
         }
 
         /** @var $cssTabBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Code\Css */
-        $cssTabBlock = $this->getLayout()->getBlock('design_editor_tools_code_css');
+        $cssTabBlock = $this->_view->getLayout()->getBlock('design_editor_tools_code_css');
         if ($cssTabBlock) {
             /** @var $helper \Magento\Core\Helper\Theme */
             $helper = $this->_objectManager->get('Magento\Core\Helper\Theme');
@@ -423,19 +422,19 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _configureToolbarBlocks($theme, $editableTheme, $mode)
     {
         /** @var $toolbarBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Toolbar\Buttons */
-        $toolbarBlock = $this->getLayout()->getBlock('design_editor_toolbar_buttons');
+        $toolbarBlock = $this->_view->getLayout()->getBlock('design_editor_toolbar_buttons');
         $toolbarBlock->setThemeId($editableTheme->getId())->setVirtualThemeId($theme->getId())
             ->setMode($mode);
 
         /** @var $saveButtonBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Toolbar\Buttons\Save */
-        $saveButtonBlock = $this->getLayout()->getBlock('design_editor_toolbar_buttons_save');
+        $saveButtonBlock = $this->_view->getLayout()->getBlock('design_editor_toolbar_buttons_save');
         if ($saveButtonBlock) {
             $saveButtonBlock->setTheme($theme)->setMode($mode)->setHasThemeAssigned(
                 $this->_customizationConfig->hasThemeAssigned()
             );
         }
         /** @var $saveButtonBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Toolbar\Buttons\Edit */
-        $editButtonBlock = $this->getLayout()->getBlock('design_editor_toolbar_buttons_edit');
+        $editButtonBlock = $this->_view->getLayout()->getBlock('design_editor_toolbar_buttons_edit');
         if ($editButtonBlock) {
             $editButtonBlock->setTheme($editableTheme);
         }
@@ -453,7 +452,7 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
     protected function _configureEditorBlock($editableTheme, $mode)
     {
         /** @var $editorBlock \Magento\DesignEditor\Block\Adminhtml\Editor\Container */
-        $editorBlock = $this->getLayout()->getBlock('design_editor');
+        $editorBlock = $this->_view->getLayout()->getBlock('design_editor');
         $currentUrl = $this->_getCurrentUrl($editableTheme->getId(), $mode);
         $editorBlock->setFrameUrl($currentUrl);
         $editorBlock->setTheme($editableTheme);
@@ -482,27 +481,27 @@ class Editor extends \Magento\Backend\Controller\Adminhtml\Action
     {
         try {
             $this->_setTitle();
-            $this->loadLayout();
+            $this->_view->loadLayout();
             $this->_setActiveMenu('Magento_DesignEditor::system_design_editor');
             if (!$this->_isFirstEntrance()) {
                 /** @var $assignedThemeBlock
                  * \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\SelectorList\Assigned */
-                $assignedThemeBlock = $this->getLayout()->getBlock('assigned.theme.list');
+                $assignedThemeBlock = $this->_view->getLayout()->getBlock('assigned.theme.list');
                 $assignedThemeBlock->setCollection($this->_customizationConfig->getAssignedThemeCustomizations());
 
                 /** @var $unassignedThemeBlock
                  * \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\SelectorList\Unassigned */
-                $unassignedThemeBlock = $this->getLayout()->getBlock('unassigned.theme.list');
+                $unassignedThemeBlock = $this->_view->getLayout()->getBlock('unassigned.theme.list');
                 $unassignedThemeBlock->setCollection($this->_customizationConfig->getUnassignedThemeCustomizations());
                 $unassignedThemeBlock->setHasThemeAssigned($this->_customizationConfig->hasThemeAssigned());
             }
             /** @var $storeViewBlock \Magento\DesignEditor\Block\Adminhtml\Theme\Selector\StoreView */
-            $storeViewBlock = $this->getLayout()->getBlock('theme.selector.storeview');
+            $storeViewBlock = $this->_view->getLayout()->getBlock('theme.selector.storeview');
             $storeViewBlock->setData('actionOnAssign', 'refresh');
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Exception $e) {
             $this->_getSession()->addError(__('We can\'t load the list of themes.'));
-            $this->_redirectUrl($this->_getRefererUrl());
+            $this->getResponse()->setRedirect($this->_redirect->getRefererUrl());
             $this->_objectManager->get('Magento\Logger')->logException($e);
         }
     }
diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Files.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Files.php
index e343e66fc63..02c83ef0d32 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Files.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Files.php
@@ -40,7 +40,7 @@ class Files
     {
         try {
             $this->getResponse()->setBody(
-                $this->getLayout()->createBlock('Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Files\Tree')
+                $this->_view->getLayout()->createBlock('Magento\DesignEditor\Block\Adminhtml\Editor\Tools\Files\Tree')
                     ->getTreeJson($this->_getStorage()->getTreeArray())
             );
         } catch (\Exception $e) {
@@ -55,9 +55,9 @@ class Files
     public function contentsAction()
     {
         try {
-            $this->loadLayout('empty');
-            $this->getLayout()->getBlock('editor_files.files')->setStorage($this->_getStorage());
-            $this->renderLayout();
+            $this->_view->loadLayout('empty');
+            $this->_view->getLayout()->getBlock('editor_files.files')->setStorage($this->_getStorage());
+            $this->_view->renderLayout();
 
             $this->_getSession()->setStoragePath(
                 $this->_objectManager->get('Magento\Theme\Helper\Storage')->getCurrentPath()
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 79dc781bb0a..e31ac5cd87c 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
@@ -31,7 +31,7 @@ namespace Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor;
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Tools extends \Magento\Backend\Controller\Adminhtml\Action
+class Tools extends \Magento\Backend\App\Action
 {
     /**
      * Initialize theme context model
@@ -169,7 +169,7 @@ class Tools extends \Magento\Backend\Controller\Adminhtml\Action
             $editableTheme->getCustomization()->delete($removeJsFiles);
             $this->_forward('jsList');
         } catch (\Exception $e) {
-            $this->_redirectUrl($this->_getRefererUrl());
+            $this->getResponse()->setRedirect($this->_redirect->getRefererUrl());
             $this->_objectManager->get('Magento\Logger')->logException($e);
         }
     }
diff --git a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
index e944632dbb6..b5377237703 100644
--- a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
+++ b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
@@ -96,7 +96,7 @@ class Standard extends \Magento\Core\App\Router\Base
      * Match provided request and if matched - return corresponding controller
      *
      * @param \Magento\App\RequestInterface $request
-     * @return \Magento\Core\Controller\Front\Action|null
+     * @return \Magento\App\Action\Action|null
      */
     public function match(\Magento\App\RequestInterface $request)
     {
diff --git a/app/code/Magento/DesignEditor/Helper/Data.php b/app/code/Magento/DesignEditor/Helper/Data.php
index 20ec1e30070..7c3b479a9c1 100644
--- a/app/code/Magento/DesignEditor/Helper/Data.php
+++ b/app/code/Magento/DesignEditor/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\DesignEditor\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * XML path to VDE front name setting
@@ -61,12 +61,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_translationMode;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param $frontName
      * @param array $disabledCacheTypes
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         $frontName,
         array $disabledCacheTypes = array()
     ) {
diff --git a/app/code/Magento/DesignEditor/Model/Translate/InlineVde.php b/app/code/Magento/DesignEditor/Model/Translate/InlineVde.php
index 86262e112b0..395ce68cea8 100644
--- a/app/code/Magento/DesignEditor/Model/Translate/InlineVde.php
+++ b/app/code/Magento/DesignEditor/Model/Translate/InlineVde.php
@@ -165,8 +165,8 @@ class InlineVde implements \Magento\Core\Model\Translate\InlineInterface
             \Magento\DesignEditor\Helper\Data::TRANSLATION_MODE => $this->_helper->getTranslationMode()
         ));
 
-        /** @var $block \Magento\Core\Block\Template */
-        $block = $this->_objectManager->create('Magento\Core\Block\Template');
+        /** @var $block \Magento\View\Block\Template */
+        $block = $this->_objectManager->create('Magento\View\Block\Template');
 
         $block->setArea($this->_parser->getDesignPackage()->getArea());
         $block->setAjaxUrl($ajaxUrl);
diff --git a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
index dd79bfd35af..4fb3d6e567f 100644
--- a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
+++ b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
@@ -55,11 +55,11 @@ class NavigationMode extends \Magento\Core\Model\Url
     /**
      * @param \Magento\App\Route\ConfigInterface $routeConfig
      * @param \Magento\App\RequestInterface $request
-     * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
+     * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
      * @param \Magento\DesignEditor\Helper\Data $helper
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Session $session
      * @param string $areaCode
      * @param array $data
@@ -67,11 +67,11 @@ class NavigationMode extends \Magento\Core\Model\Url
     public function __construct(
         \Magento\App\Route\ConfigInterface $routeConfig,
         \Magento\App\RequestInterface $request,
-        \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
+        \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\DesignEditor\Helper\Data $helper,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Session $session,
         $areaCode,
         array $data = array()
@@ -85,7 +85,7 @@ class NavigationMode extends \Magento\Core\Model\Url
             $this->_themeId = $data['themeId'];
         }
         parent::__construct(
-            $routeConfig, $request, $securityInfo, $coreStoreConfig, $app, $storeManager, $session, $areaCode, $data
+            $routeConfig, $request, $urlSecurityInfo, $coreStoreConfig, $app, $storeManager, $session, $areaCode, $data
         );
     }
 
diff --git a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
index 259f42af44c..f8be73ca085 100644
--- a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
+++ b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
@@ -23,51 +23,6 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 
-/*
-   Actions look like buttons
--------------------------------------- */
-.action-theme-preview,
-.action-theme-preview:visited,
-.action-theme-assign,
-.action-theme-assign:visited,
-.action-save,
-.action-save:visited {
-    font-family: 'CallunaSans';
-    font-size: 13px;
-    font-weight: 500;
-    color: #676056;
-    position: relative;
-    display: inline-block;
-    padding: 4px 10px;
-    margin-bottom: 0;
-    line-height: 18px;
-    text-align: center;
-    text-decoration: none;
-    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-    vertical-align: top;
-    cursor: pointer;
-    background: #ffffff;
-    background: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #e6e6e6));
-    background: -webkit-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
-    background: -o-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
-    background: -ms-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
-    background: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
-    border: 1px solid #c0bcb8;
-    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-    border-radius: 4px;
-    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-    -webkit-touch-callout: none;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-}
-
-
-
 /*
     Actions look like links
 -------------------------------------- */
@@ -534,30 +489,6 @@
     color: #959393;
 }
 
-.theme-assigned-data .action-edit {
-    background: #f47b20;
-    color: #fff;
-    border-color: transparent;
-}
-
-.theme-assigned-data .action-edit:hover {
-    background: #e2701a;
-    color: #fff;
-    text-shadow: 0 -1px 2px #955326;
-}
-
-.eq-ie8 .theme-assigned-data .action-edit,
-.eq-ie8 .theme-assigned-data .action-edit:hover,
-.eq-ie8 .theme-assigned-data .action-edit:active,
-.eq-ie8 .theme-assigned-data .action-edit:focus,
-.eq-ie8 .theme-assigned-data .action-edit[disabled] {
-    filter: none;
-}
-
-.theme-assigned-data .action-edit:active {
-    box-shadow: 0 1px 5px #955326 inset;
-}
-
 /*
     Theme Title Quick Save Form
 -------------------------------------- */
diff --git a/app/code/Magento/DesignEditor/view/adminhtml/editor/toolbar.phtml b/app/code/Magento/DesignEditor/view/adminhtml/editor/toolbar.phtml
index a30a903542f..843d6e216b5 100644
--- a/app/code/Magento/DesignEditor/view/adminhtml/editor/toolbar.phtml
+++ b/app/code/Magento/DesignEditor/view/adminhtml/editor/toolbar.phtml
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php /** @var $this \Magento\Core\Block\Template */ ?>
+<?php /** @var $this \Magento\View\Block\Template */ ?>
 <div id="vde_toolbar_row" class="header">
     <div class="vde_toolbar_row_inner">
         <?php echo $this->getChildHtml(); ?>
diff --git a/app/code/Magento/DesignEditor/view/frontend/translate_inline.phtml b/app/code/Magento/DesignEditor/view/frontend/translate_inline.phtml
index badd77b3fc0..74990f09fa3 100644
--- a/app/code/Magento/DesignEditor/view/frontend/translate_inline.phtml
+++ b/app/code/Magento/DesignEditor/view/frontend/translate_inline.phtml
@@ -24,7 +24,7 @@
  */
 ?>
 
-<?php /** @var $this \Magento\Core\Block\Template */ ?>
+<?php /** @var $this \Magento\View\Block\Template */ ?>
 <script type="text/javascript" src="<?php echo $this->getViewFileUrl('mage/translate.js') ?>"></script>
 <script type="text/javascript" src="<?php echo $this->getViewFileUrl('mage/loader.js') ?>"></script>
 <script type="text/javascript" src="<?php echo $this->getViewFileUrl('mage/bootstrap.js') ?>"></script>
diff --git a/app/code/Magento/Directory/Block/Adminhtml/Frontend/Currency/Base.php b/app/code/Magento/Directory/Block/Adminhtml/Frontend/Currency/Base.php
index 9fd4e67e9ba..263662232da 100644
--- a/app/code/Magento/Directory/Block/Adminhtml/Frontend/Currency/Base.php
+++ b/app/code/Magento/Directory/Block/Adminhtml/Frontend/Currency/Base.php
@@ -31,29 +31,6 @@ namespace Magento\Directory\Block\Adminhtml\Frontend\Currency;
 
 class Base extends \Magento\Backend\Block\System\Config\Form\Field
 {
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $application, $data);
-        $this->_storeManager = $storeManager;
-    }
-
     /**
      * @param \Magento\Data\Form\Element\AbstractElement $element
      * @return string
diff --git a/app/code/Magento/Directory/Block/Currency.php b/app/code/Magento/Directory/Block/Currency.php
index aae83c4bb0e..5d55b1fbeca 100644
--- a/app/code/Magento/Directory/Block/Currency.php
+++ b/app/code/Magento/Directory/Block/Currency.php
@@ -29,13 +29,8 @@
  */
 namespace Magento\Directory\Block;
 
-class Currency extends \Magento\Core\Block\Template
+class Currency extends \Magento\View\Block\Template
 {
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Directory url
      *
@@ -43,39 +38,28 @@ class Currency extends \Magento\Core\Block\Template
      */
     protected $_directoryUrl = null;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Directory\Model\CurrencyFactory
      */
     protected $_currencyFactory;
 
     /**
-     * @param \Magento\Directory\Helper\Url $directoryUrl
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Directory\Helper\Url $directoryUrl
      * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Directory\Helper\Url $directoryUrl,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\Directory\Helper\Url $directoryUrl,
         \Magento\Directory\Model\CurrencyFactory $currencyFactory,
         array $data = array()
     ) {
         $this->_directoryUrl = $directoryUrl;
-        $this->_storeManager = $storeManager;
-        $this->_locale = $locale;
         $this->_currencyFactory = $currencyFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Directory/Block/Data.php b/app/code/Magento/Directory/Block/Data.php
index 01bf250cdf4..f78cc0037f6 100644
--- a/app/code/Magento/Directory/Block/Data.php
+++ b/app/code/Magento/Directory/Block/Data.php
@@ -29,18 +29,13 @@
  */
 namespace Magento\Directory\Block;
 
-class Data extends \Magento\Core\Block\Template
+class Data extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\App\Cache\Type\Config
      */
     protected $_configCacheType;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Directory\Model\Resource\Region\CollectionFactory
      */
@@ -52,26 +47,23 @@ class Data extends \Magento\Core\Block\Template
     protected $_countryCollFactory;
 
     /**
-     * @param \Magento\App\Cache\Type\Config $configCacheType
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory
      * @param \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\App\Cache\Type\Config $configCacheType,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regionCollFactory,
         \Magento\Directory\Model\Resource\Country\CollectionFactory $countryCollFactory,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_configCacheType = $configCacheType;
-        $this->_storeManager = $storeManager;
         $this->_regionCollFactory = $regionCollFactory;
         $this->_countryCollFactory = $countryCollFactory;
     }
@@ -119,7 +111,7 @@ class Data extends \Magento\Core\Block\Template
             $options = $this->getCountryCollection()->toOptionArray();
             $this->_configCacheType->save(serialize($options), $cacheKey);
         }
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName($name)
             ->setId($id)
             ->setTitle(__($title))
@@ -162,7 +154,7 @@ class Data extends \Magento\Core\Block\Template
             $options = $this->getRegionCollection()->toOptionArray();
             $this->_configCacheType->save(serialize($options), $cacheKey);
         }
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('region')
             ->setTitle(__('State/Province'))
             ->setId('state')
diff --git a/app/code/Magento/Directory/Controller/Adminhtml/Json.php b/app/code/Magento/Directory/Controller/Adminhtml/Json.php
index ef66c1561dd..170049a8fcb 100644
--- a/app/code/Magento/Directory/Controller/Adminhtml/Json.php
+++ b/app/code/Magento/Directory/Controller/Adminhtml/Json.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Directory\Controller\Adminhtml;
 
-class Json extends \Magento\Backend\Controller\Adminhtml\Action
+class Json extends \Magento\Backend\App\Action
 {
     /**
      * Return JSON-encoded array of country regions
diff --git a/app/code/Magento/Directory/Controller/Currency.php b/app/code/Magento/Directory/Controller/Currency.php
index ea080cae672..d1829d69ba3 100644
--- a/app/code/Magento/Directory/Controller/Currency.php
+++ b/app/code/Magento/Directory/Controller/Currency.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Directory\Controller;
 
-class Currency extends \Magento\Core\Controller\Front\Action
+class Currency extends \Magento\App\Action\Action
 {
     public function switchAction()
     {
@@ -39,6 +39,7 @@ class Currency extends \Magento\Core\Controller\Front\Action
         if ($currency) {
             $storeManager->getStore()->setCurrentCurrencyCode($currency);
         }
-        $this->_redirectReferer($storeManager->getStore()->getBaseUrl());
+        $storeUrl = $storeManager->getStore()->getBaseUrl();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($storeUrl));
     }
 }
diff --git a/app/code/Magento/Directory/Helper/Data.php b/app/code/Magento/Directory/Helper/Data.php
index 7e19fb1ab1e..333cfd1a637 100644
--- a/app/code/Magento/Directory/Helper/Data.php
+++ b/app/code/Magento/Directory/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Directory\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Config value that lists ISO2 country codes which have optional Zip/Postal pre-configured
@@ -97,7 +97,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreHelper;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -112,7 +112,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_config;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\App\Cache\Type\Config $configCacheType
      * @param \Magento\Directory\Model\Resource\Country\Collection $countryCollection
      * @param \Magento\Directory\Model\Resource\Region\CollectionFactory $regCollFactory,
@@ -122,7 +122,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\Config $config
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\App\Cache\Type\Config $configCacheType,
         \Magento\Directory\Model\Resource\Country\Collection $countryCollection,
         \Magento\Directory\Model\Resource\Region\CollectionFactory $regCollFactory,
diff --git a/app/code/Magento/Directory/Helper/Url.php b/app/code/Magento/Directory/Helper/Url.php
index 63da82dad62..4715813156b 100644
--- a/app/code/Magento/Directory/Helper/Url.php
+++ b/app/code/Magento/Directory/Helper/Url.php
@@ -40,13 +40,13 @@ class Url extends \Magento\Core\Helper\Url
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_coreData = $coreData;
         parent::__construct($context, $storeManager);
@@ -68,7 +68,7 @@ class Url extends \Magento\Core\Helper\Url
         } else {
             $url = $this->getCurrentUrl();
         }
-        $params[\Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED] = $this->_coreData->urlEncode($url);
+        $params[\Magento\App\Action\Action::PARAM_NAME_URL_ENCODED] = $this->_coreData->urlEncode($url);
         return $this->_getUrl('directory/currency/switch', $params);
     }
 }
diff --git a/app/code/Magento/Directory/Model/Observer.php b/app/code/Magento/Directory/Model/Observer.php
index 4b570fef2a1..3951c8e6d9c 100644
--- a/app/code/Magento/Directory/Model/Observer.php
+++ b/app/code/Magento/Directory/Model/Observer.php
@@ -59,7 +59,7 @@ class Observer
     protected $_translate;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_emailTemplateFactory;
 
@@ -77,7 +77,7 @@ class Observer
      * @param \Magento\Directory\Model\Currency\Import\Factory $importFactory
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory
+     * @param \Magento\Email\Model\TemplateFactory $emailTemplateFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
      */
@@ -85,7 +85,7 @@ class Observer
         \Magento\Directory\Model\Currency\Import\Factory $importFactory,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory,
+        \Magento\Email\Model\TemplateFactory $emailTemplateFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Directory\Model\CurrencyFactory $currencyFactory
     ) {
@@ -131,7 +131,7 @@ class Observer
         } else {
             $this->_translate->setTranslateInline(false);
 
-            /* @var $mailTemplate \Magento\Core\Model\Email\Template */
+            /* @var $mailTemplate \Magento\Email\Model\Template */
             $mailTemplate = $this->_emailTemplateFactory->create();
             $mailTemplate->setDesignConfig(array(
                 'area' => \Magento\Core\Model\App\Area::AREA_FRONTEND,
diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php
index c4855296498..066f947eb7c 100644
--- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php
+++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable.php
@@ -54,20 +54,20 @@ class Downloadable
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php
index 2cf96009ce8..78dff1cca1e 100644
--- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php
+++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Links.php
@@ -66,11 +66,6 @@ class Links
      */
     protected $_coreFileStorageDb = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * Core registry
      *
@@ -98,41 +93,38 @@ class Links
      */
     protected $_urlFactory;
 
-    /**
-     * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
-     * @param \Magento\Downloadable\Helper\File $downloadableFile
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Backend\Model\Config\Source\Yesno $sourceModel
-     * @param \Magento\Downloadable\Model\Link $link
-     * @param \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory
-     * @param \Magento\Backend\Model\UrlFactory $urlFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
+     * @param \Magento\Downloadable\Helper\File $downloadableFile
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Backend\Model\Config\Source\Yesno $sourceModel
+     * @param \Magento\Downloadable\Model\Link $link
+     * @param \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory
+     * @param \Magento\Backend\Model\UrlFactory $urlFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
-        \Magento\Downloadable\Helper\File $downloadableFile,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Backend\Model\Config\Source\Yesno $sourceModel,
-        \Magento\Downloadable\Model\Link $link,
-        \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory,
-        \Magento\Backend\Model\UrlFactory $urlFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
+        \Magento\Downloadable\Helper\File $downloadableFile,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Backend\Model\Config\Source\Yesno $sourceModel,
+        \Magento\Downloadable\Model\Link $link,
+        \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory,
+        \Magento\Backend\Model\UrlFactory $urlFactory,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_coreFileStorageDb = $coreFileStorageDatabase;
         $this->_downloadableFile = $downloadableFile;
-        $this->_storeManager = $storeManager;
         $this->_sourceModel = $sourceModel;
         $this->_link = $link;
         $this->_attributeFactory = $attributeFactory;
         $this->_urlFactory = $urlFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php
index e6e03dc6075..e254ad3c958 100644
--- a/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php
+++ b/app/code/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/Samples.php
@@ -59,11 +59,6 @@ class Samples
      */
     protected $_coreFileStorageDb = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * Core registry
      *
@@ -81,36 +76,33 @@ class Samples
      */
     protected $_urlFactory;
 
-    /**
-     * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
-     * @param \Magento\Downloadable\Helper\File $downloadableFile
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Downloadable\Model\Sample $sampleModel
-     * @param \Magento\Backend\Model\UrlFactory $urlFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
+     * @param \Magento\Downloadable\Helper\File $downloadableFile
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Downloadable\Model\Sample $sampleModel
+     * @param \Magento\Backend\Model\UrlFactory $urlFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
-        \Magento\Downloadable\Helper\File $downloadableFile,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Downloadable\Model\Sample $sampleModel,
-        \Magento\Backend\Model\UrlFactory $urlFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
+        \Magento\Downloadable\Helper\File $downloadableFile,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Downloadable\Model\Sample $sampleModel,
+        \Magento\Backend\Model\UrlFactory $urlFactory,
+        array $data = array()
+    ) {
         $this->_coreFileStorageDb = $coreFileStorageDatabase;
         $this->_downloadableFile = $downloadableFile;
-        $this->_storeManager = $storeManager;
         $this->_coreRegistry = $coreRegistry;
         $this->_sampleModel = $sampleModel;
         $this->_urlFactory = $urlFactory;
 
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Adminhtml/Sales/Items/Column/Downloadable/Name.php b/app/code/Magento/Downloadable/Block/Adminhtml/Sales/Items/Column/Downloadable/Name.php
index 89d68ca440a..bbacefd508c 100644
--- a/app/code/Magento/Downloadable/Block/Adminhtml/Sales/Items/Column/Downloadable/Name.php
+++ b/app/code/Magento/Downloadable/Block/Adminhtml/Sales/Items/Column/Downloadable/Name.php
@@ -43,28 +43,25 @@ class Name extends \Magento\Sales\Block\Adminhtml\Items\Column\Name
      */
     protected $_itemsFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Filter\FilterManager $filter
-     * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
-     * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
-     * @param array $data
-     * @internal param \Magento\Core\Helper\String $coreString
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory
+     * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
+     * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\OptionFactory $optionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Filter\FilterManager $filter,
-        \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
-        \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\OptionFactory $optionFactory,
+        \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
+        \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
+        array $data = array()
+    ) {
         $this->_purchasedFactory = $purchasedFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($optionFactory, $coreData, $context, $filter, $data);
+        parent::__construct($context, $coreData, $optionFactory, $data);
     }
 
     public function getLinks()
diff --git a/app/code/Magento/Downloadable/Block/Catalog/Product/Links.php b/app/code/Magento/Downloadable/Block/Catalog/Product/Links.php
index ddff3a25299..50c393864bb 100644
--- a/app/code/Magento/Downloadable/Block/Catalog/Product/Links.php
+++ b/app/code/Magento/Downloadable/Block/Catalog/Product/Links.php
@@ -41,41 +41,29 @@ class Links extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_calculationModel;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Tax\Model\Calculation $calculationModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Tax\Model\Calculation $calculationModel,
         array $data = array()
     ) {
         $this->_calculationModel = $calculationModel;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Checkout/Cart/Item/Renderer.php b/app/code/Magento/Downloadable/Block/Checkout/Cart/Item/Renderer.php
index 662d021afb6..b0b99d4ec01 100644
--- a/app/code/Magento/Downloadable/Block/Checkout/Cart/Item/Renderer.php
+++ b/app/code/Magento/Downloadable/Block/Checkout/Cart/Item/Renderer.php
@@ -44,23 +44,23 @@ class Renderer extends \Magento\Checkout\Block\Cart\Item\Renderer
     protected $_downloadProdConfig = null;
 
     /**
-     * @param \Magento\Catalog\Helper\Product\Configuration $productConfiguration
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Downloadable\Helper\Catalog\Product\Configuration $dwnCtlgProdConfig
+     * @param \Magento\Catalog\Helper\Product\Configuration $productConfig
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Downloadable\Helper\Catalog\Product\Configuration $dwnCtlgProdConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Product\Configuration $productConfiguration,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Downloadable\Helper\Catalog\Product\Configuration $dwnCtlgProdConfig,
+        \Magento\Catalog\Helper\Product\Configuration $productConfig,
         \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\Downloadable\Helper\Catalog\Product\Configuration $dwnCtlgProdConfig,
         array $data = array()
     ) {
         $this->_downloadProdConfig = $dwnCtlgProdConfig;
-        parent::__construct($productConfiguration, $coreData, $context, $checkoutSession, $data);
+        parent::__construct($context, $coreData, $productConfig, $checkoutSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php b/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
index 529ef53c445..12217b84604 100644
--- a/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
+++ b/app/code/Magento/Downloadable/Block/Customer/Products/ListProducts.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Block\Customer\Products;
 
-class ListProducts extends \Magento\Core\Block\Template
+class ListProducts extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -51,16 +51,16 @@ class ListProducts extends \Magento\Core\Block\Template
     protected $_itemsFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\CollectionFactory $linksFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Downloadable\Model\Resource\Link\Purchased\CollectionFactory $linksFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
@@ -69,7 +69,7 @@ class ListProducts extends \Magento\Core\Block\Template
         $this->_customerSession = $customerSession;
         $this->_linksFactory = $linksFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Downloadable.php b/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Downloadable.php
index ca37b75b20c..0437bbcb168 100644
--- a/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Downloadable.php
+++ b/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Downloadable.php
@@ -52,22 +52,22 @@ class Downloadable extends \Magento\Sales\Block\Order\Email\Items\DefaultItems
     protected $_itemsFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
         array $data = array()
     ) {
         $this->_purchasedFactory = $purchasedFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
diff --git a/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Order/Downloadable.php b/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Order/Downloadable.php
index 0ce97dbc0e1..b650ab05101 100644
--- a/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Order/Downloadable.php
+++ b/app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Order/Downloadable.php
@@ -51,16 +51,23 @@ class Downloadable extends \Magento\Sales\Block\Order\Email\Items\Order\DefaultO
      */
     protected $_itemsFactory;
 
+    /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
+     * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
+     * @param array $data
+     */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
         array $data = array()
     ) {
         $this->_purchasedFactory = $purchasedFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Block/Sales/Order/Item/Renderer/Downloadable.php b/app/code/Magento/Downloadable/Block/Sales/Order/Item/Renderer/Downloadable.php
index 4042c7e90cd..f01a1cb7094 100644
--- a/app/code/Magento/Downloadable/Block/Sales/Order/Item/Renderer/Downloadable.php
+++ b/app/code/Magento/Downloadable/Block/Sales/Order/Item/Renderer/Downloadable.php
@@ -47,28 +47,26 @@ class Downloadable extends \Magento\Sales\Block\Order\Item\Renderer\DefaultRende
     protected $_itemsFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory
-     * @param \Magento\Filter\FilterManager $filter
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Stdlib\String $string,
         \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory,
-        \Magento\Filter\FilterManager $filter,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
         array $data = array()
     ) {
         $this->_purchasedFactory = $purchasedFactory;
         $this->_itemsFactory = $itemsFactory;
-        parent::__construct($coreData, $context, $string, $productOptionFactory, $filter, $data);
+        parent::__construct($context, $coreData, $string, $productOptionFactory, $data);
     }
 
     public function getLinks()
diff --git a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/File.php b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/File.php
index e7fe03499a8..fbef1005b74 100644
--- a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/File.php
+++ b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/File.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Controller\Adminhtml\Downloadable;
 
-class File extends \Magento\Backend\Controller\Adminhtml\Action
+class File extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\Downloadable\Model\Link
@@ -46,12 +46,12 @@ class File extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_sample;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Downloadable\Model\Link $link
      * @param \Magento\Downloadable\Model\Sample $sample
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Downloadable\Model\Link $link,
         \Magento\Downloadable\Model\Sample $sample
     ) {
diff --git a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit.php b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit.php
index df8023646fe..cb473f3e445 100644
--- a/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit.php
+++ b/app/code/Magento/Downloadable/Controller/Adminhtml/Downloadable/Product/Edit.php
@@ -43,7 +43,7 @@ class Edit extends \Magento\Catalog\Controller\Adminhtml\Product
     {
         $this->_initProduct();
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock(
                      'Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable',
                     'admin.product.downloadable.information')
diff --git a/app/code/Magento/Downloadable/Controller/Customer.php b/app/code/Magento/Downloadable/Controller/Customer.php
index e0a0d3f3fe5..b9e844e63ac 100644
--- a/app/code/Magento/Downloadable/Controller/Customer.php
+++ b/app/code/Magento/Downloadable/Controller/Customer.php
@@ -33,7 +33,10 @@
  */
 namespace Magento\Downloadable\Controller;
 
-class Customer extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Customer extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -41,11 +44,11 @@ class Customer extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession
     ) {
         $this->_customerSession = $customerSession;
@@ -54,15 +57,18 @@ class Customer extends \Magento\Core\Controller\Front\Action
 
     /**
      * Check customer authentication
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
         $loginUrl = $this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl();
 
         if (!$this->_customerSession->authenticate($this, $loginUrl)) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -71,16 +77,16 @@ class Customer extends \Magento\Core\Controller\Front\Action
      */
     public function productsAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        if ($block = $this->getLayout()->getBlock('downloadable_customer_products_list')) {
-            $block->setRefererUrl($this->_getRefererUrl());
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        if ($block = $this->_view->getLayout()->getBlock('downloadable_customer_products_list')) {
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
         }
-        $headBlock = $this->getLayout()->getBlock('head');
+        $headBlock = $this->_view->getLayout()->getBlock('head');
         if ($headBlock) {
             $headBlock->setTitle(__('My Downloadable Products'));
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
 }
diff --git a/app/code/Magento/Downloadable/Controller/Download.php b/app/code/Magento/Downloadable/Controller/Download.php
index 2ea9cd770b5..b432855005d 100644
--- a/app/code/Magento/Downloadable/Controller/Download.php
+++ b/app/code/Magento/Downloadable/Controller/Download.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Controller;
 
-class Download extends \Magento\Core\Controller\Front\Action
+class Download extends \Magento\App\Action\Action
 {
 
     /**
@@ -120,7 +120,7 @@ class Download extends \Magento\Core\Controller\Front\Action
                 $this->_getSession()->addError(__('Sorry, there was an error getting requested content. Please contact the store owner.'));
             }
         }
-        return $this->_redirectReferer();
+        return $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
@@ -150,7 +150,7 @@ class Download extends \Magento\Core\Controller\Front\Action
                 $this->_getCustomerSession()->addError(__('Sorry, there was an error getting requested content. Please contact the store owner.'));
             }
         }
-        return $this->_redirectReferer();
+        return $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Helper/Catalog/Product/Configuration.php b/app/code/Magento/Downloadable/Helper/Catalog/Product/Configuration.php
index 60ac5da5e67..7fc2ae64177 100644
--- a/app/code/Magento/Downloadable/Helper/Catalog/Product/Configuration.php
+++ b/app/code/Magento/Downloadable/Helper/Catalog/Product/Configuration.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Helper\Catalog\Product;
 
-class Configuration extends \Magento\Core\Helper\AbstractHelper
+class Configuration extends \Magento\App\Helper\AbstractHelper
     implements \Magento\Catalog\Helper\Product\Configuration\ConfigurationInterface
 {
     /**
@@ -52,12 +52,12 @@ class Configuration extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Catalog\Helper\Product\Configuration $productConfigur
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
         \Magento\Catalog\Helper\Product\Configuration $productConfigur,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
     \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_productConfigur = $productConfigur;
diff --git a/app/code/Magento/Downloadable/Helper/Data.php b/app/code/Magento/Downloadable/Helper/Data.php
index 7335d5d892d..7ae180bc125 100644
--- a/app/code/Magento/Downloadable/Helper/Data.php
+++ b/app/code/Magento/Downloadable/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Core store config
@@ -43,11 +43,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Downloadable/Helper/Download.php b/app/code/Magento/Downloadable/Helper/Download.php
index 2262d1e2aea..df7bba3f69f 100644
--- a/app/code/Magento/Downloadable/Helper/Download.php
+++ b/app/code/Magento/Downloadable/Helper/Download.php
@@ -29,7 +29,7 @@ namespace Magento\Downloadable\Helper;
 /**
  * Downloadable Products Download Helper
  */
-class Download extends \Magento\Core\Helper\AbstractHelper
+class Download extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Link type url
@@ -116,11 +116,6 @@ class Download extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_coreStoreConfig;
 
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app;
-
     /**
      * @var \Magento\App\Dir
      */
@@ -135,9 +130,8 @@ class Download extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Downloadable\Helper\File $downloadableFile
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDb
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\App $app
      * @param \Magento\App\Dir $dirModel
      * @param \Magento\Filesystem $filesystem
      */
@@ -145,9 +139,8 @@ class Download extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Helper\Data $coreData,
         \Magento\Downloadable\Helper\File $downloadableFile,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDb,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\App $app,
         \Magento\App\Dir $dirModel,
         \Magento\Filesystem $filesystem
     ) {
@@ -155,7 +148,6 @@ class Download extends \Magento\Core\Helper\AbstractHelper
         $this->_downloadableFile = $downloadableFile;
         $this->_coreFileStorageDb = $coreFileStorageDb;
         $this->_coreStoreConfig = $coreStoreConfig;
-        $this->_app = $app;
         $this->_dirModel = $dirModel;
         $this->_filesystem = $filesystem;
         parent::__construct($context);
@@ -340,26 +332,6 @@ class Download extends \Magento\Core\Helper\AbstractHelper
         return $this;
     }
 
-    /**
-     * Retrieve Http Request Object
-     *
-     * @return \Magento\App\RequestInterface
-     */
-    public function getHttpRequest()
-    {
-        return $this->_app->getFrontController()->getRequest();
-    }
-
-    /**
-     * Retrieve Http Response Object
-     *
-     * @return \Magento\App\ResponseInterface
-     */
-    public function getHttpResponse()
-    {
-        return $this->_app->getFrontController()->getResponse();
-    }
-
     public function output()
     {
         $handle = $this->_getHandle();
diff --git a/app/code/Magento/Downloadable/Helper/File.php b/app/code/Magento/Downloadable/Helper/File.php
index 6fb282a610d..7f21b4c2322 100644
--- a/app/code/Magento/Downloadable/Helper/File.php
+++ b/app/code/Magento/Downloadable/Helper/File.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Downloadable\Helper;
 
-class File extends \Magento\Core\Helper\AbstractHelper
+class File extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Core file storage database
@@ -44,12 +44,12 @@ class File extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param array $mimeTypes
      */
     public function __construct(
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         array $mimeTypes = array()
     ) {
         $this->_coreFileStorageDatabase = $coreFileStorageDatabase;
diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.php
index 28404ad8839..335271e2207 100644
--- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.php
+++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.php
@@ -50,11 +50,6 @@ abstract class AbstractMain
      * @var \Magento\Eav\Model\Entity\Attribute\Config
      */
     protected $_attributeConfig;
-    
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
 
     /**
      * @var \Magento\Backend\Model\Config\Source\YesnoFactory
@@ -66,36 +61,33 @@ abstract class AbstractMain
      */
     protected $_inputTypeFactory;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Eav\Helper\Data $eavData
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Backend\Model\Config\Source\YesnoFactory $yesnoFactory
-     * @param \Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory $inputTypeFactory
-     * @param \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Eav\Helper\Data $eavData
+     * @param \Magento\Backend\Model\Config\Source\YesnoFactory $yesnoFactory
+     * @param \Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory $inputTypeFactory
+     * @param \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Eav\Helper\Data $eavData,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Backend\Model\Config\Source\YesnoFactory $yesnoFactory,
-        \Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory $inputTypeFactory,
-        \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Eav\Helper\Data $eavData,
+        \Magento\Backend\Model\Config\Source\YesnoFactory $yesnoFactory,
+        \Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory $inputTypeFactory,
+        \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig,
+        array $data = array()
+    ) {
         $this->_eavData = $eavData;
-        $this->_locale = $locale;
         $this->_yesnoFactory = $yesnoFactory;
         $this->_inputTypeFactory = $inputTypeFactory;
         $this->_attributeConfig = $attributeConfig;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     public function setAttributeObject($attribute)
diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php
index e5c1026ce7f..fc523591ae7 100644
--- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php
+++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/AbstractOptions.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Eav\Block\Adminhtml\Attribute\Edit\Options;
 
-abstract class AbstractOptions extends \Magento\Core\Block\AbstractBlock
+abstract class AbstractOptions extends \Magento\View\Block\AbstractBlock
 {
     /**
      * Preparing layout, adding buttons
diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Labels.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Labels.php
index 4fc003d727c..f7cb50c8447 100644
--- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Labels.php
+++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Labels.php
@@ -35,9 +35,6 @@ namespace Magento\Eav\Block\Adminhtml\Attribute\Edit\Options;
 
 class Labels extends \Magento\Backend\Block\Template
 {
-    /** @var \Magento\Core\Model\StoreManager */
-    protected $_storeManager;
-
     /** @var \Magento\Core\Model\Registry */
     protected $_registry;
 
@@ -46,22 +43,19 @@ class Labels extends \Magento\Backend\Block\Template
      */
     protected $_template = 'Magento_Catalog::catalog/product/attribute/labels.phtml';
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_storeManager = $storeManager;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_registry = $registry;
     }
 
diff --git a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Options.php b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Options.php
index 42ae3f037c8..501864983b6 100644
--- a/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Options.php
+++ b/app/code/Magento/Eav/Block/Adminhtml/Attribute/Edit/Options/Options.php
@@ -35,9 +35,6 @@ namespace Magento\Eav\Block\Adminhtml\Attribute\Edit\Options;
 
 class Options extends \Magento\Backend\Block\Template
 {
-    /** @var \Magento\Core\Model\StoreManager */
-    protected $_storeManager;
-
     /** @var \Magento\Core\Model\Registry */
     protected $_registry;
 
@@ -54,26 +51,23 @@ class Options extends \Magento\Backend\Block\Template
      */
     protected $_universalFactory;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Option\CollectionFactory $attrOptCollFactory
-     * @param \Magento\Validator\UniversalFactory $universalFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Option\CollectionFactory $attrOptCollFactory
+     * @param \Magento\Validator\UniversalFactory $universalFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Option\CollectionFactory $attrOptCollFactory,
-        \Magento\Validator\UniversalFactory $universalFactory,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_storeManager = $storeManager;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Option\CollectionFactory $attrOptCollFactory,
+        \Magento\Validator\UniversalFactory $universalFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_registry = $registry;
         $this->_attrOptCollFactory = $attrOptCollFactory;
         $this->_universalFactory = $universalFactory;
diff --git a/app/code/Magento/Eav/Helper/Data.php b/app/code/Magento/Eav/Helper/Data.php
index c4f3f22ef98..398a09f0cde 100644
--- a/app/code/Magento/Eav/Helper/Data.php
+++ b/app/code/Magento/Eav/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Eav\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * XML path to input types validator data in config
@@ -53,12 +53,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_attributeConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Eav\Model\Entity\Attribute\Config $attributeConfig,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
diff --git a/app/code/Magento/Eav/Model/Entity.php b/app/code/Magento/Eav/Model/Entity.php
index 49aae351f09..03bafbe99f4 100644
--- a/app/code/Magento/Eav/Model/Entity.php
+++ b/app/code/Magento/Eav/Model/Entity.php
@@ -51,7 +51,6 @@ class Entity extends \Magento\Eav\Model\Entity\AbstractEntity
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
-     * @param \Magento\App\Resource $coreResource
      * @param array $data
      */
     public function __construct(
@@ -61,7 +60,6 @@ class Entity extends \Magento\Eav\Model\Entity\AbstractEntity
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
-        \Magento\App\Resource $coreResource,
         $data = array()
     ) {
         parent::__construct(
@@ -73,6 +71,6 @@ class Entity extends \Magento\Eav\Model\Entity\AbstractEntity
             $universalFactory,
             $data
         );
-        $this->setConnection($coreResource->getConnection('eav_read'));
+        $this->setConnection($resource->getConnection('eav_read'));
     }
 }
diff --git a/app/code/Magento/Eav/Model/Entity/Attribute.php b/app/code/Magento/Eav/Model/Entity/Attribute.php
index 1093685ad24..913425b1f82 100644
--- a/app/code/Magento/Eav/Model/Entity/Attribute.php
+++ b/app/code/Magento/Eav/Model/Entity/Attribute.php
@@ -75,7 +75,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute\AbstractAttribute
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -90,7 +90,7 @@ class Attribute extends \Magento\Eav\Model\Entity\Attribute\AbstractAttribute
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php b/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php
index 28e6cfe1d20..fb695c8defa 100644
--- a/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php
+++ b/app/code/Magento/Eav/Model/Entity/Attribute/AbstractAttribute.php
@@ -107,7 +107,7 @@ abstract class AbstractAttribute
     protected $_eavTypeFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -127,7 +127,7 @@ abstract class AbstractAttribute
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -140,7 +140,7 @@ abstract class AbstractAttribute
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Eav\Model\Entity\TypeFactory $eavTypeFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Eav/Model/Entity/Attribute/Backend/Store.php b/app/code/Magento/Eav/Model/Entity/Attribute/Backend/Store.php
index 8d23498430b..91c30e2f400 100644
--- a/app/code/Magento/Eav/Model/Entity/Attribute/Backend/Store.php
+++ b/app/code/Magento/Eav/Model/Entity/Attribute/Backend/Store.php
@@ -28,17 +28,17 @@ namespace Magento\Eav\Model\Entity\Attribute\Backend;
 class Store extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
 {
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
      * @param \Magento\Logger $logger
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Logger $logger,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_storeManager = $storeManager;
         parent::__construct($logger);
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
index 2c8aef9576e..12ef2eb3f7b 100644
--- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
@@ -141,7 +141,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Eav\Model\Resource\Helper $resourceHelper
      * @param \Magento\Validator\UniversalFactory $universalFactory
@@ -152,14 +152,14 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Eav\Model\Resource\Helper $resourceHelper,
         \Magento\Validator\UniversalFactory $universalFactory
     ) {
         $this->_eventManager = $eventManager;
         $this->_eavConfig = $eavConfig;
-        $this->_resource = $coreResource;
+        $this->_resource = $resource;
         $this->_eavEntityFactory = $eavEntityFactory;
         $this->_resourceHelper = $resourceHelper;
         $this->_universalFactory = $universalFactory;
diff --git a/app/code/Magento/Eav/Model/Form.php b/app/code/Magento/Eav/Model/Form.php
index 5758d078baa..37a467bbf35 100644
--- a/app/code/Magento/Eav/Model/Form.php
+++ b/app/code/Magento/Eav/Model/Form.php
@@ -125,7 +125,7 @@ abstract class Form
     protected $_validator = null;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -160,7 +160,7 @@ abstract class Form
     protected $_validatorConfigFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Module\Dir\Reader $modulesReader
      * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
@@ -171,7 +171,7 @@ abstract class Form
      * @throws \Magento\Core\Exception
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Module\Dir\Reader $modulesReader,
         \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
diff --git a/app/code/Magento/Eav/Model/Form/Fieldset.php b/app/code/Magento/Eav/Model/Form/Fieldset.php
index 16c710db45a..86fb5a999c1 100644
--- a/app/code/Magento/Eav/Model/Form/Fieldset.php
+++ b/app/code/Magento/Eav/Model/Form/Fieldset.php
@@ -52,14 +52,14 @@ class Fieldset extends \Magento\Core\Model\AbstractModel
     protected $_eventPrefix = 'eav_form_fieldset';
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
index 5cb5da43e9d..da6f54a92f9 100644
--- a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
@@ -62,7 +62,7 @@ abstract class Collection
     protected $_eavConfig;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -72,7 +72,7 @@ abstract class Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
@@ -81,7 +81,7 @@ abstract class Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
         $this->_storeManager = $storeManager;
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 452f1fdada3..c3ab70c971c 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
@@ -49,7 +49,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_coreResource;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -59,7 +59,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\App\Resource $coreResource
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
@@ -68,7 +68,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\App\Resource $coreResource,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
         $this->_storeManager = $storeManager;
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 3f7f54a7ada..a30afd562b9 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
@@ -65,7 +65,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_entityType;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -80,7 +80,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
@@ -89,7 +89,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
         $this->_storeManager = $storeManager;
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 2d9ae3a424b..1053a8f980a 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
@@ -44,7 +44,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeId;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -53,7 +53,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
         \Magento\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\Db\AbstractDb $resource = null
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Backend/Block/System/Email/Template.php b/app/code/Magento/Email/Block/Adminhtml/Template.php
similarity index 86%
rename from app/code/Magento/Backend/Block/System/Email/Template.php
rename to app/code/Magento/Email/Block/Adminhtml/Template.php
index e8e00e46f57..4ecc292e8b7 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,25 +28,25 @@
  * Adminhtml system templates page content block
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
 
-namespace Magento\Backend\Block\System\Email;
+namespace Magento\Email\Block\Adminhtml;
 
 class Template extends \Magento\Adminhtml\Block\Template
 {
 
-    protected $_template = 'Magento_Backend::system/email/template/list.phtml';
+    protected $_template = 'template/list.phtml';
 
     /**
      * Create add button and grid blocks
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
-        $this->addChild('add_button', 'Magento\Adminhtml\Block\Widget\Button', array(
+        $this->addChild('add_button', 'Magento\Backend\Block\Widget\Button', array(
             'label'     => __('Add New Template'),
             'onclick'   => "window.location='" . $this->getCreateUrl() . "'",
             'class'     => 'add'
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Edit.php b/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php
similarity index 94%
rename from app/code/Magento/Backend/Block/System/Email/Template/Edit.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Edit.php
index 337fe6274d0..b9d05532fe5 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Edit.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Edit.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,11 +28,11 @@
  * Adminhtml system template edit block
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  * @method array getTemplateOptions()
  */
-namespace Magento\Backend\Block\System\Email\Template;
+namespace Magento\Email\Block\Adminhtml\Template;
 
 class Edit extends \Magento\Adminhtml\Block\Widget
 {
@@ -52,7 +52,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
     protected $_configStructure;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config
+     * @var \Magento\Email\Model\Template\Config
      */
     private $_emailConfig;
 
@@ -61,31 +61,31 @@ class Edit extends \Magento\Adminhtml\Block\Widget
      *
      * @var string
      */
-    protected $_template = 'Magento_Backend::system/email/template/edit.phtml';
-    
+    protected $_template = 'template/edit.phtml';
+
     /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Backend\Model\Menu\Config $menuConfig
      * @param \Magento\Backend\Model\Config\Structure $configStructure
-     * @param \Magento\Core\Model\Email\Template\Config $emailConfig
+     * @param \Magento\Email\Model\Template\Config $emailConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
         \Magento\Backend\Model\Menu\Config $menuConfig,
         \Magento\Backend\Model\Config\Structure $configStructure,
-        \Magento\Core\Model\Email\Template\Config $emailConfig,
+        \Magento\Email\Model\Template\Config $emailConfig,
         array $data = array()
     ) {
         $this->_registryManager = $registry;
         $this->_menuConfig = $menuConfig;
         $this->_configStructure = $configStructure;
         $this->_emailConfig = $emailConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
@@ -100,7 +100,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('reset_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -110,7 +109,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('delete_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -121,7 +119,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('to_plain_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -132,7 +129,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('to_html_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -144,7 +140,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('toggle_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -155,7 +150,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('preview_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -165,7 +159,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('save_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -176,7 +169,6 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
         $this->setChild('load_button',
             $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                 ->setData(
@@ -188,15 +180,14 @@ class Edit extends \Magento\Adminhtml\Block\Widget
                     )
                 )
         );
-
-        $this->addChild('form', 'Magento\Backend\Block\System\Email\Template\Edit\Form');
+        $this->addChild('form', 'Magento\Email\Block\Adminhtml\Template\Edit\Form');
         return parent::_prepareLayout();
     }
 
     /**
      * Collect, sort and set template options
      *
-     * @return \Magento\Backend\Block\System\Email\Template\Edit
+     * @return \Magento\Email\Block\Adminhtml\Template\Edit
      */
     protected function _beforeToHtml()
     {
@@ -279,7 +270,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
     /**
      * Return edit flag for block
      *
-     * @return boolean
+     * @return int|null
      */
     public function getEditMode()
     {
@@ -347,7 +338,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
     /**
      * Retrive email template model
      *
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function getEmailTemplate()
     {
@@ -372,7 +363,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
      */
     public function getUsedDefaultForPaths($asJSON = true)
     {
-        /** @var $template \Magento\Backend\Model\Email\Template */
+        /** @var $template \Magento\Email\Model\BackendTemplate */
         $template = $this->getEmailTemplate();
         $paths = $template->getSystemConfigPathsWhereUsedAsDefault();
         $pathsParts = $this->_getSystemConfigPathsParts($paths);
@@ -390,7 +381,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
      */
     public function getUsedCurrentlyForPaths($asJSON = true)
     {
-        /** @var $template \Magento\Backend\Model\Email\Template */
+        /** @var $template \Magento\Email\Model\BackendTemplate */
         $template = $this->getEmailTemplate();
         $paths = $template->getSystemConfigPathsWhereUsedCurrently();
         $pathsParts = $this->_getSystemConfigPathsParts($paths);
@@ -403,6 +394,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget
     /**
      * Convert xml config pathes to decorated names
      *
+     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      * @param array $paths
      * @return array
      */
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Edit/Form.php b/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php
similarity index 89%
rename from app/code/Magento/Backend/Block/System/Email/Template/Edit/Form.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php
index 6e0004524a8..950b2cd4d6f 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Edit/Form.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Edit/Form.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,17 +28,12 @@
  * Adminhtml system template edit form
  */
 
-namespace Magento\Backend\Block\System\Email\Template\Edit;
+namespace Magento\Email\Block\Adminhtml\Template\Edit;
 
 class Form extends \Magento\Backend\Block\Widget\Form\Generic
 {
     /**
-     * @var \Magento\Backend\Model\Session
-     */
-    protected $_backendSession;
-
-    /**
-     * @var \Magento\Core\Model\Source\Email\Variables
+     * @var \Magento\Email\Model\Source\Variables
      */
     protected $_variables;
 
@@ -48,36 +43,33 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     protected $_variableFactory;
 
     /**
-     * @param \Magento\Core\Model\VariableFactory $variableFactory
-     * @param \Magento\Core\Model\Source\Email\Variables $variables
-     * @param \Magento\Backend\Model\Session $backendSession
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Model\VariableFactory $variableFactory
+     * @param \Magento\Email\Model\Source\Variables $variables
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\VariableFactory $variableFactory,
-        \Magento\Core\Model\Source\Email\Variables $variables,
-        \Magento\Backend\Model\Session $backendSession,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
         \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Model\VariableFactory $variableFactory,
+        \Magento\Email\Model\Source\Variables $variables,
         array $data = array()
     ) {
         $this->_variableFactory = $variableFactory;
         $this->_variables = $variables;
-        $this->_backendSession = $backendSession;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
      * Prepare layout.
      * Add files to use dialog windows
      *
-     * @return \Magento\Backend\Block\System\Email\Template\Edit\Form
+     * @return \Magento\Email\Block\Adminhtml\Template\Edit\Form
      */
     protected function _prepareLayout()
     {
@@ -107,7 +99,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
                 'magento-adminhtml-variables-js',
                 'Magento\Page\Block\Html\Head\Script',
                 array(
-                    'file' => 'Magento_Backend::variables.js'
+                    'file' => 'Magento_Adminhtml::variables.js'
                 )
             );
         }
@@ -117,6 +109,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     /**
      * Add fields to form and create template info form
      *
+     * @SuppressWarnings(PHPMD.NPathComplexity)
      * @return \Magento\Adminhtml\Block\Widget\Form
      */
     protected function _prepareForm()
@@ -160,22 +153,18 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
             'required' => true
 
         ));
-
         $fieldset->addField('template_subject', 'text', array(
             'name'=>'template_subject',
             'label' => __('Template Subject'),
             'required' => true
         ));
-
         $fieldset->addField('orig_template_variables', 'hidden', array(
             'name' => 'orig_template_variables',
         ));
-
         $fieldset->addField('variables', 'hidden', array(
             'name' => 'variables',
             'value' => \Zend_Json::encode($this->getVariables())
         ));
-
         $fieldset->addField('template_variables', 'hidden', array(
             'name' => 'template_variables',
         ));
@@ -224,7 +213,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     /**
      * Return current email template model
      *
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function getEmailTemplate()
     {
@@ -244,7 +233,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
         if ($customVariables) {
             $variables[] = $customVariables;
         }
-        /* @var $template \Magento\Core\Model\Email\Template */
+        /* @var $template \Magento\Email\Model\Template */
         $template = $this->_coreRegistry->registry('current_email_template');
         if ($template->getId() && $templateVariables = $template->getVariablesOptionArray(true)) {
             $variables[] = $templateVariables;
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Filter/Type.php b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Filter/Type.php
similarity index 77%
rename from app/code/Magento/Backend/Block/System/Email/Template/Grid/Filter/Type.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Grid/Filter/Type.php
index b178130deb9..eb1b72f4320 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Filter/Type.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Filter/Type.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,19 +28,18 @@
  * Adminhtml system template grid type filter
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
 
-namespace Magento\Backend\Block\System\Email\Template\Grid\Filter;
+namespace Magento\Email\Block\Adminhtml\Template\Grid\Filter;
 
-class Type
-    extends \Magento\Adminhtml\Block\Widget\Grid\Column\Filter\Select
+class Type extends \Magento\Adminhtml\Block\Widget\Grid\Column\Filter\Select
 {
     protected static $_types = array(
-        null                                        =>  null,
-        \Magento\Newsletter\Model\Template::TYPE_HTML   => 'HTML',
-        \Magento\Newsletter\Model\Template::TYPE_TEXT   => 'Text',
+        null => null,
+        \Magento\Email\Model\Template::TYPE_HTML => 'HTML',
+        \Magento\Email\Model\Template::TYPE_TEXT => 'Text',
     );
 
     protected function _getOptions()
@@ -56,7 +55,7 @@ class Type
 
     public function getCondition()
     {
-        if(is_null($this->getValue())) {
+        if (is_null($this->getValue())) {
             return null;
         }
 
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Action.php b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Action.php
similarity index 88%
rename from app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Action.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Action.php
index 2c1f2f54a50..6230cab8c58 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Action.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Action.php
@@ -19,20 +19,20 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
 
 /**
- * Adminhtml newsletter templates grid block action item renderer
+ * Email templates grid block action item renderer
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
 
-namespace Magento\Backend\Block\System\Email\Template\Grid\Renderer;
+namespace Magento\Email\Block\Adminhtml\Template\Grid\Renderer;
 
 class Action extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Action
 {
@@ -53,7 +53,7 @@ class Action extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Action
 
     protected function _getEscapedValue($value)
     {
-        return addcslashes(htmlspecialchars($value),'\\\'');
+        return addcslashes(htmlspecialchars($value), '\\\'');
     }
 
     protected function _actionsToHtml(array $actions)
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Sender.php b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Sender.php
similarity index 86%
rename from app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Sender.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Sender.php
index 0dda95acf89..0cc15b409bc 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Sender.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Sender.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,11 +28,11 @@
  * Adminhtml system templates grid block sender item renderer
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
  
-namespace Magento\Backend\Block\System\Email\Template\Grid\Renderer;
+namespace Magento\Email\Block\Adminhtml\Template\Grid\Renderer;
 
 class Sender extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\AbstractRenderer
 {
@@ -40,15 +40,15 @@ class Sender extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\Abstra
     {
         $str = '';
         
-        if($row->getTemplateSenderName()) {
+        if ($row->getTemplateSenderName()) {
             $str .= htmlspecialchars($row->getTemplateSenderName()) . ' ';
         }        
         
-        if($row->getTemplateSenderEmail()) {
+        if ($row->getTemplateSenderEmail()) {
             $str .= '[' . $row->getTemplateSenderEmail() . ']';
         }        
         
-        if($str == '') {
+        if ($str == '') {
             $str .= '---';
         }
             
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Type.php b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Type.php
similarity index 76%
rename from app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Type.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Type.php
index 367b713ee68..84fea4a5b76 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Grid/Renderer/Type.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Grid/Renderer/Type.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,25 +28,25 @@
  * Adminhtml system templates grid block type item renderer
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
 
-namespace Magento\Backend\Block\System\Email\Template\Grid\Renderer;
+namespace Magento\Email\Block\Adminhtml\Template\Grid\Renderer;
 
-class Type
-    extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\AbstractRenderer
+class Type extends \Magento\Adminhtml\Block\Widget\Grid\Column\Renderer\AbstractRenderer
 {
     protected static $_types = array(
-        \Magento\Newsletter\Model\Template::TYPE_HTML    => 'HTML',
-        \Magento\Newsletter\Model\Template::TYPE_TEXT    => 'Text',
+        \Magento\Email\Model\Template::TYPE_HTML => 'HTML',
+        \Magento\Email\Model\Template::TYPE_TEXT => 'Text',
     );
+
     public function render(\Magento\Object $row)
     {
 
         $str = __('Unknown');
 
-        if(isset(self::$_types[$row->getTemplateType()])) {
+        if (isset(self::$_types[$row->getTemplateType()])) {
             $str = self::$_types[$row->getTemplateType()];
         }
 
diff --git a/app/code/Magento/Backend/Block/System/Email/Template/Preview.php b/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php
similarity index 88%
rename from app/code/Magento/Backend/Block/System/Email/Template/Preview.php
rename to app/code/Magento/Email/Block/Adminhtml/Template/Preview.php
index 3378f8e3a08..f395693807b 100644
--- a/app/code/Magento/Backend/Block/System/Email/Template/Preview.php
+++ b/app/code/Magento/Email/Block/Adminhtml/Template/Preview.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,10 +28,10 @@
  * Adminhtml system template preview block
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Backend\Block\System\Email\Template;
+namespace Magento\Email\Block\Adminhtml\Template;
 
 class Preview extends \Magento\Adminhtml\Block\Widget
 {
@@ -41,27 +41,27 @@ class Preview extends \Magento\Adminhtml\Block\Widget
     protected $_maliciousCode;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_emailFactory;
 
     /**
-     * @param \Magento\Core\Model\Input\Filter\MaliciousCode $maliciousCode
-     * @param \Magento\Core\Model\Email\TemplateFactory $emailFactory
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Input\Filter\MaliciousCode $maliciousCode
+     * @param \Magento\Email\Model\TemplateFactory $emailFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Input\Filter\MaliciousCode $maliciousCode,
-        \Magento\Core\Model\Email\TemplateFactory $emailFactory,
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Input\Filter\MaliciousCode $maliciousCode,
+        \Magento\Email\Model\TemplateFactory $emailFactory,
         array $data = array()
     ) {
         $this->_maliciousCode = $maliciousCode;
         $this->_emailFactory = $emailFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -71,7 +71,7 @@ class Preview extends \Magento\Adminhtml\Block\Widget
      */
     protected function _toHtml()
     {
-        /** @var $template \Magento\Core\Model\Email\Template */
+        /** @var $template \Magento\Email\Model\Template */
         $template = $this->_emailFactory->create(
             array('data' => array('area' => \Magento\Core\Model\App\Area::AREA_FRONTEND))
         );
diff --git a/app/code/Magento/Backend/Controller/Adminhtml/System/Email/Template.php b/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php
similarity index 73%
rename from app/code/Magento/Backend/Controller/Adminhtml/System/Email/Template.php
rename to app/code/Magento/Email/Controller/Adminhtml/Email/Template.php
index 43c7009bd8c..dccfe91d94d 100644
--- a/app/code/Magento/Backend/Controller/Adminhtml/System/Email/Template.php
+++ b/app/code/Magento/Email/Controller/Adminhtml/Email/Template.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Backend
+ * @package     Magento_Email
  * @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)
  */
@@ -28,12 +28,12 @@
  * System Template admin controller
  *
  * @category   Magento
- * @package    Magento_Backend
+ * @package    Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Backend\Controller\Adminhtml\System\Email;
+namespace Magento\Email\Controller\Adminhtml\Email;
 
-class Template extends \Magento\Backend\Controller\Adminhtml\Action
+class Template extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -56,23 +56,23 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Email Templates'));
+        $this->_title->add(__('Email Templates'));
 
         if ($this->getRequest()->getQuery('ajax')) {
             $this->_forward('grid');
             return;
         }
 
-        $this->loadLayout();
-        $this->_setActiveMenu('Magento_Adminhtml::system_email_template');
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Email::template');
         $this->_addBreadcrumb(__('Transactional Emails'), __('Transactional Emails'));
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -90,9 +90,9 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $template = $this->_initTemplate('id');
-        $this->_setActiveMenu('Magento_Adminhtml::system_email_template');
+        $this->_setActiveMenu('Magento_Email::template');
         $this->_addBreadcrumb(__('Transactional Emails'), __('Transactional Emails'), $this->getUrl('adminhtml/*'));
 
         if ($this->getRequest()->getParam('id')) {
@@ -101,13 +101,13 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_addBreadcrumb(__('New Template'), __('New System Template'));
         }
 
-        $this->_title($template->getId() ? $template->getTemplateCode() : __('New Template'));
+        $this->_title->add($template->getId() ? $template->getTemplateCode() : __('New Template'));
 
-        $this->_addContent($this->getLayout()
-            ->createBlock('Magento\Backend\Block\System\Email\Template\Edit', 'template_edit')
+        $this->_addContent($this->_view->getLayout()
+            ->createBlock('Magento\Email\Block\Adminhtml\Template\Edit', 'template_edit')
             ->setEditMode((bool)$this->getRequest()->getParam('id'))
         );
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -117,7 +117,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
 
         $template = $this->_initTemplate('id');
         if (!$template->getId() && $id) {
-            $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+            $this->_objectManager->get('Magento\Backend\Model\Session')
                 ->addError(__('This email template no longer exists.'));
             $this->_redirect('adminhtml/*/');
             return;
@@ -133,23 +133,23 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
                 ->setOrigTemplateVariables($request->getParam('orig_template_variables'));
 
             if (!$template->getId()) {
-                $template->setTemplateType(\Magento\Core\Model\Email\Template::TYPE_HTML);
+                $template->setTemplateType(\Magento\Email\Model\Template::TYPE_HTML);
             }
 
             if ($request->getParam('_change_type_flag')) {
-                $template->setTemplateType(\Magento\Core\Model\Email\Template::TYPE_TEXT);
+                $template->setTemplateType(\Magento\Email\Model\Template::TYPE_TEXT);
                 $template->setTemplateStyles('');
             }
 
             $template->save();
-            $this->_objectManager->get('Magento\Adminhtml\Model\Session')->setFormData(false);
-            $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+            $this->_objectManager->get('Magento\Backend\Model\Session')->setFormData(false);
+            $this->_objectManager->get('Magento\Backend\Model\Session')
                 ->addSuccess(__('The email template has been saved.'));
             $this->_redirect('adminhtml/*');
         } catch (\Exception $e) {
-            $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+            $this->_objectManager->get('Magento\Backend\Model\Session')
                 ->setData('email_template_form_data', $request->getParams());
-            $this->_objectManager->get('Magento\Adminhtml\Model\Session')->addError($e->getMessage());
+            $this->_objectManager->get('Magento\Backend\Model\Session')->addError($e->getMessage());
             $this->_forward('new');
         }
 
@@ -162,7 +162,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             try {
                 $template->delete();
                  // display success message
-                $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+                $this->_objectManager->get('Magento\Backend\Model\Session')
                     ->addSuccess(__('The email template has been deleted.'));
                 // go to grid
                 $this->_redirect('adminhtml/*/');
@@ -170,10 +170,12 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             } catch (\Magento\Core\Exception $e) {
                 $this->_getSession()->addError($e->getMessage());
             } catch (\Exception $e) {
-                $this->_getSession()->addError(__('An error occurred while deleting email template data. Please review log and try again.'));
+                $this->_getSession()->addError(
+                    __('An error occurred while deleting email template data. Please review log and try again.')
+                );
                 $this->_objectManager->get('Magento\Logger')->logException($e);
                 // save data in session
-                $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+                $this->_objectManager->get('Magento\Backend\Model\Session')
                     ->setFormData($this->getRequest()->getParams());
                 // redirect to edit form
                 $this->_redirect('adminhtml/*/edit', array('id' => $template->getId()));
@@ -181,7 +183,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
         // display error message
-        $this->_objectManager->get('Magento\Adminhtml\Model\Session')
+        $this->_objectManager->get('Magento\Backend\Model\Session')
             ->addError(__('We can\'t find an email template to delete.'));
         // go to grid
         $this->_redirect('adminhtml/*/');
@@ -189,8 +191,8 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function previewAction()
     {
-        $this->loadLayout('adminhtml_system_preview');
-        $this->renderLayout();
+        $this->_view->loadLayout('systemPreview');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -206,7 +208,7 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
             $template->setData('orig_template_code', $templateCode);
             $template->setData('template_variables', \Zend_Json::encode($template->getVariablesOptionArray(true)));
 
-            $templateBlock = $this->getLayout()->createBlock('Magento\Backend\Block\System\Email\Template\Edit');
+            $templateBlock = $this->_view->getLayout()->createBlock('Magento\Email\Block\Adminhtml\Template\Edit');
             $template->setData('orig_template_used_default_for', $templateBlock->getUsedDefaultForPaths(false));
 
             $this->getResponse()->setBody(
@@ -221,14 +223,14 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
      * Load email template from request
      *
      * @param string $idFieldName
-     * @return \Magento\Backend\Model\Email\Template $model
+     * @return \Magento\Email\Model\BackendTemplate $model
      */
     protected function _initTemplate($idFieldName = 'template_id')
     {
-        $this->_title(__('Email Templates'));
+        $this->_title->add(__('Email Templates'));
 
         $id = (int)$this->getRequest()->getParam($idFieldName);
-        $model = $this->_objectManager->create('Magento\Backend\Model\Email\Template');
+        $model = $this->_objectManager->create('Magento\Email\Model\BackendTemplate');
         if ($id) {
             $model->load($id);
         }
@@ -243,6 +245,6 @@ class Template extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _isAllowed()
     {
-        return $this->_authorization->isAllowed('Magento_Adminhtml::email_template');
+        return $this->_authorization->isAllowed('Magento_Email::template');
     }
 }
diff --git a/app/code/Magento/Newsletter/Model/Message.php b/app/code/Magento/Email/Helper/Data.php
similarity index 76%
rename from app/code/Magento/Newsletter/Model/Message.php
rename to app/code/Magento/Email/Helper/Data.php
index cdb5bc40a34..ab7838ba379 100644
--- a/app/code/Magento/Newsletter/Model/Message.php
+++ b/app/code/Magento/Email/Helper/Data.php
@@ -19,22 +19,13 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Newsletter
+ * @package     Magento_Email
  * @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)
  */
- 
-/**
- * Newsletter message model
- *
- * @category   Magento
- * @package    Magento_Newsletter
- * @author      Magento Core Team <core@magentocommerce.com>
- */
- 
-namespace Magento\Newsletter\Model;
 
-class Message extends \Magento\Core\Model\Message
+namespace Magento\Email\Helper;
+
+class Data extends \Magento\App\Helper\AbstractHelper
 {
-    
 }
diff --git a/app/code/Magento/Backend/Model/Email/Template.php b/app/code/Magento/Email/Model/BackendTemplate.php
similarity index 87%
rename from app/code/Magento/Backend/Model/Email/Template.php
rename to app/code/Magento/Email/Model/BackendTemplate.php
index 5b6ed97a007..ccb18e29353 100644
--- a/app/code/Magento/Backend/Model/Email/Template.php
+++ b/app/code/Magento/Email/Model/BackendTemplate.php
@@ -18,23 +18,18 @@
  * 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)
  */
 
+namespace Magento\Email\Model;
+
 /**
  * Adminhtml email template model
  *
- * @category   Magento
- * @package    Magento_Backend
- * @author     Magento Core Team <core@magentocommerce.com>
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-
-namespace Magento\Backend\Model\Email;
-
-class Template extends \Magento\Core\Model\Email\Template
+class BackendTemplate extends \Magento\Email\Model\Template
 {
     /**
      * @var \Magento\Core\Model\Config
@@ -56,10 +51,10 @@ class Template extends \Magento\Core\Model\Email\Template
      * @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\Email\Model\Template\FilterFactory $emailFilterFactory
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\App\Dir $dir
-     * @param \Magento\Core\Model\Email\Template\Config $emailConfig
+     * @param \Magento\Email\Model\Template\Config $emailConfig
      * @param \Magento\Backend\Model\Config\Structure $structure
      * @param array $data
      *
@@ -75,10 +70,10 @@ class Template extends \Magento\Core\Model\Email\Template
         \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\Email\Model\Template\FilterFactory $emailFilterFactory,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\App\Dir $dir,
-        \Magento\Core\Model\Email\Template\Config $emailConfig,
+        \Magento\Email\Model\Template\Config $emailConfig,
         \Magento\Backend\Model\Config\Structure $structure,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Core/Model/Email/Info.php b/app/code/Magento/Email/Model/Info.php
similarity index 89%
rename from app/code/Magento/Core/Model/Email/Info.php
rename to app/code/Magento/Email/Model/Info.php
index e65c2337990..2e3f609e406 100644
--- a/app/code/Magento/Core/Model/Email/Info.php
+++ b/app/code/Magento/Email/Model/Info.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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)
  */
@@ -33,10 +33,10 @@
  *        without anyone else (including the To, Cc, and Bcc recipients) seeing who the tertiary recipients are
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Email;
+namespace Magento\Email\Model;
 
 class Info extends \Magento\Object
 {
@@ -74,12 +74,12 @@ class Info extends \Magento\Object
      *
      * @param string $email
      * @param string|null $name
-     * @return \Magento\Core\Model\Email\Info
+     * @return \Magento\Email\Model\Info
      */
     public function addBcc($email, $name = null)
     {
-        array_push($this->_bccNames, $name);
-        array_push($this->_bccEmails, $email);
+        $this->_bccNames[] = $name;
+        $this->_bccEmails[] = $email;
         return $this;
     }
 
@@ -88,12 +88,12 @@ class Info extends \Magento\Object
      *
      * @param string $email
      * @param string|null $name
-     * @return \Magento\Core\Model\Email\Info
+     * @return \Magento\Email\Model\Info
      */
     public function addTo($email, $name = null)
     {
-        array_push($this->_toNames, $name);
-        array_push($this->_toEmails, $email);
+        $this->_toNames[] = $name;
+        $this->_toEmails[] = $email;
         return $this;
     }
 
diff --git a/app/code/Magento/Core/Model/Resource/Email/Template.php b/app/code/Magento/Email/Model/Resource/Template.php
similarity index 91%
rename from app/code/Magento/Core/Model/Resource/Email/Template.php
rename to app/code/Magento/Email/Model/Resource/Template.php
index dcc5f0ef537..b7f07521946 100644
--- a/app/code/Magento/Core/Model/Resource/Email/Template.php
+++ b/app/code/Magento/Email/Model/Resource/Template.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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,10 +29,10 @@
  * Template db resource
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Resource\Email;
+namespace Magento\Email\Model\Resource;
 
 class Template extends \Magento\Core\Model\Resource\Db\AbstractDb
 {
@@ -57,7 +57,7 @@ class Template extends \Magento\Core\Model\Resource\Db\AbstractDb
      */
     protected function _construct()
     {
-        $this->_init('core_email_template', 'template_id');
+        $this->_init('email_template', 'template_id');
     }
 
     /**
@@ -82,10 +82,10 @@ class Template extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Check usage of template code in other templates
      *
-     * @param \Magento\Core\Model\Email\Template $template
+     * @param \Magento\Email\Model\Template $template
      * @return boolean
      */
-    public function checkCodeUsage(\Magento\Core\Model\Email\Template $template)
+    public function checkCodeUsage(\Magento\Email\Model\Template $template)
     {
         if ($template->getTemplateActual() != 0 || is_null($template->getTemplateActual())) {
             $select = $this->_getReadAdapter()->select()
@@ -112,8 +112,8 @@ class Template extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Set template type, added at and modified at time
      *
-     * @param \Magento\Core\Model\AbstractModel $object
-     * @return \Magento\Core\Model\Resource\Email\Template
+     * @param \Magento\Email\Model\Template $object
+     * @return \Magento\Email\Model\Resource\Template
      */
     protected function _beforeSave(\Magento\Core\Model\AbstractModel $object)
     {
diff --git a/app/code/Magento/Core/Model/Resource/Email/Template/Collection.php b/app/code/Magento/Email/Model/Resource/Template/Collection.php
similarity index 88%
rename from app/code/Magento/Core/Model/Resource/Email/Template/Collection.php
rename to app/code/Magento/Email/Model/Resource/Template/Collection.php
index dbd9899f4cb..40ea7452a4c 100644
--- a/app/code/Magento/Core/Model/Resource/Email/Template/Collection.php
+++ b/app/code/Magento/Email/Model/Resource/Template/Collection.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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,10 +29,10 @@
  * Templates collection
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Resource\Email\Template;
+namespace Magento\Email\Model\Resource\Template;
 
 class Collection extends  \Magento\Core\Model\Resource\Db\Collection\AbstractCollection
 {
@@ -49,7 +49,7 @@ class Collection extends  \Magento\Core\Model\Resource\Db\Collection\AbstractCol
      */
     public function _construct()
     {
-        $this->_init('Magento\Core\Model\Email\Template', 'Magento\Core\Model\Resource\Email\Template');
+        $this->_init('Magento\Email\Model\Template', 'Magento\Email\Model\Resource\Template');
         $this->_templateTable = $this->getMainTable();
     }
 
diff --git a/app/code/Magento/Core/Model/Sender.php b/app/code/Magento/Email/Model/Sender.php
similarity index 83%
rename from app/code/Magento/Core/Model/Sender.php
rename to app/code/Magento/Email/Model/Sender.php
index bc1a5acd7b1..1f4b58e3c74 100644
--- a/app/code/Magento/Core/Model/Sender.php
+++ b/app/code/Magento/Email/Model/Sender.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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)
  */
@@ -28,30 +28,30 @@
  * Common sender
  *
  * @category   Magento
- * @package    Magento_Core
+ * @package    Magento_Email
  * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model;
+namespace Magento\Email\Model;
 
 class Sender
 {
-    /** @var \Magento\Core\Model\Email\Template\Mailer */
+    /** @var \Magento\Email\Model\Template\Mailer */
     protected $_mailer;
 
-    /** @var \Magento\Core\Model\Email\Info */
+    /** @var \Magento\Email\Model\Info */
     protected $_emailInfo;
 
     /** @var \Magento\Core\Model\Store */
     protected $_store;
 
     /**
-     * @param \Magento\Core\Model\Email\Template\Mailer $mailer
-     * @param \Magento\Core\Model\Email\Info $info
+     * @param \Magento\Email\Model\Template\Mailer $mailer
+     * @param \Magento\Email\Model\Info $info
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Email\Template\Mailer $mailer,
-        \Magento\Core\Model\Email\Info $info,
+        \Magento\Email\Model\Template\Mailer $mailer,
+        \Magento\Email\Model\Info $info,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_mailer = $mailer;
@@ -66,7 +66,7 @@ class Sender
      * @param string $sender
      * @param array $templateParams
      * @param int $storeId
-     * @return \Magento\Core\Model\Sender
+     * @return \Magento\Email\Model\Sender
      */
     public function send($email, $name, $template, $sender, $templateParams = array(), $storeId)
     {
diff --git a/app/code/Magento/Core/Model/Source/Email/Variables.php b/app/code/Magento/Email/Model/Source/Variables.php
similarity index 97%
rename from app/code/Magento/Core/Model/Source/Email/Variables.php
rename to app/code/Magento/Email/Model/Source/Variables.php
index fac4342823e..df8da96db7c 100644
--- a/app/code/Magento/Core/Model/Source/Email/Variables.php
+++ b/app/code/Magento/Email/Model/Source/Variables.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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,10 +29,10 @@
  * Store Contact Information source model
  *
  * @category   Magento
- * @package    Magento_Core
+ * @package    Magento_Email
  * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Source\Email;
+namespace Magento\Email\Model\Source;
 
 class Variables implements \Magento\Core\Model\Option\ArrayInterface
 {
diff --git a/app/code/Magento/Core/Model/Email/Template.php b/app/code/Magento/Email/Model/Template.php
similarity index 87%
rename from app/code/Magento/Core/Model/Email/Template.php
rename to app/code/Magento/Email/Model/Template.php
index b4bebc8c152..189a8549257 100644
--- a/app/code/Magento/Core/Model/Email/Template.php
+++ b/app/code/Magento/Email/Model/Template.php
@@ -19,18 +19,20 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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\Email\Model;
+
 /**
  * Template model
  *
  * Example:
  *
  * // Loading of template
- * \Magento\Core\Model\Email\TemplateFactory $templateFactory
+ * \Magento\Email\Model\TemplateFactory $templateFactory
  * $templateFactory->create()->load($this->_coreStoreConfig->getConfig('path_to_email_template_id_config'));
  * $variables = array(
  *    'someObject' => $this->_coreResourceEmailTemplate
@@ -38,37 +40,33 @@
  * );
  * $emailTemplate->send('some@domain.com', 'Name Of User', $variables);
  *
- * @method \Magento\Core\Model\Resource\Email\Template _getResource()
- * @method \Magento\Core\Model\Resource\Email\Template getResource()
+ * @method \Magento\Email\Model\Resource\Template _getResource()
+ * @method \Magento\Email\Model\Resource\Template getResource()
  * @method string getTemplateCode()
- * @method \Magento\Core\Model\Email\Template setTemplateCode(string $value)
+ * @method \Magento\Email\Model\Template setTemplateCode(string $value)
  * @method string getTemplateText()
- * @method \Magento\Core\Model\Email\Template setTemplateText(string $value)
+ * @method \Magento\Email\Model\Template setTemplateText(string $value)
  * @method string getTemplateStyles()
- * @method \Magento\Core\Model\Email\Template setTemplateStyles(string $value)
+ * @method \Magento\Email\Model\Template setTemplateStyles(string $value)
  * @method int getTemplateType()
- * @method \Magento\Core\Model\Email\Template setTemplateType(int $value)
+ * @method \Magento\Email\Model\Template setTemplateType(int $value)
  * @method string getTemplateSubject()
- * @method \Magento\Core\Model\Email\Template setTemplateSubject(string $value)
+ * @method \Magento\Email\Model\Template setTemplateSubject(string $value)
  * @method string getTemplateSenderName()
- * @method \Magento\Core\Model\Email\Template setTemplateSenderName(string $value)
+ * @method \Magento\Email\Model\Template setTemplateSenderName(string $value)
  * @method string getTemplateSenderEmail()
- * @method \Magento\Core\Model\Email\Template setTemplateSenderEmail(string $value)
+ * @method \Magento\Email\Model\Template setTemplateSenderEmail(string $value)
  * @method string getAddedAt()
- * @method \Magento\Core\Model\Email\Template setAddedAt(string $value)
+ * @method \Magento\Email\Model\Template setAddedAt(string $value)
  * @method string getModifiedAt()
- * @method \Magento\Core\Model\Email\Template setModifiedAt(string $value)
+ * @method \Magento\Email\Model\Template setModifiedAt(string $value)
  * @method string getOrigTemplateCode()
- * @method \Magento\Core\Model\Email\Template setOrigTemplateCode(string $value)
+ * @method \Magento\Email\Model\Template setOrigTemplateCode(string $value)
  * @method string getOrigTemplateVariables()
- * @method \Magento\Core\Model\Email\Template setOrigTemplateVariables(string $value)
+ * @method \Magento\Email\Model\Template setOrigTemplateVariables(string $value)
  *
- * @category    Magento
- * @package     Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-namespace Magento\Core\Model\Email;
-
 class Template extends \Magento\Core\Model\Template
 {
     /**
@@ -79,6 +77,11 @@ class Template extends \Magento\Core\Model\Template
     const XML_PATH_DESIGN_EMAIL_LOGO            = 'design/email/logo';
     const XML_PATH_DESIGN_EMAIL_LOGO_ALT        = 'design/email/logo_alt';
 
+    /**
+     * Config path to mail sending setting that shows if email communications are disabled
+     */
+    const XML_PATH_SYSTEM_SMTP_DISABLE = 'system/smtp/disable';
+
     protected $_templateFilter;
     protected $_preprocessFlag = false;
     protected $_bcc = array();
@@ -105,11 +108,6 @@ class Template extends \Magento\Core\Model\Template
      */
     protected $_viewFileSystem;
 
-    /**
-     * @var \Magento\Logger
-     */
-    protected $_logger;
-
     /**
      * Core store config
      *
@@ -118,7 +116,7 @@ class Template extends \Magento\Core\Model\Template
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config
+     * @var \Magento\Email\Model\Template\Config
      */
     private $_emailConfig;
 
@@ -127,7 +125,7 @@ class Template extends \Magento\Core\Model\Template
      *
      * Email filter factory
      *
-     * @var \Magento\Core\Model\Email\Template\FilterFactory
+     * @var \Magento\Email\Model\Template\FilterFactory
      */
     protected $_emailFilterFactory;
 
@@ -136,6 +134,12 @@ class Template extends \Magento\Core\Model\Template
      */
     protected $_dir;
 
+    /**
+     * Types of template
+     */
+    const TYPE_TEXT = 1;
+    const TYPE_HTML = 2;
+
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -146,10 +150,10 @@ class Template extends \Magento\Core\Model\Template
      * @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\Email\Model\Template\FilterFactory $emailFilterFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\App\Dir $dir
-     * @param \Magento\Core\Model\Email\Template\Config $emailConfig
+     * @param \Magento\Email\Model\Template\Config $emailConfig
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -164,17 +168,16 @@ class Template extends \Magento\Core\Model\Template
         \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\ConfigInterface $coreConfig,
-        \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory,
+        \Magento\Email\Model\Template\FilterFactory $emailFilterFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\App\Dir $dir,
-        \Magento\Core\Model\Email\Template\Config $emailConfig,
+        \Magento\Email\Model\Template\Config $emailConfig,
         array $data = array()
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_filesystem = $filesystem;
         $this->_viewUrl = $viewUrl;
         $this->_viewFileSystem = $viewFileSystem;
-        $this->_logger = $context->getLogger();
         $this->_coreConfig = $coreConfig;
         $this->_emailFilterFactory = $emailFilterFactory;
         $this->_dir = $dir;
@@ -187,7 +190,7 @@ class Template extends \Magento\Core\Model\Template
      */
     protected function _construct()
     {
-        $this->_init('Magento\Core\Model\Resource\Email\Template');
+        $this->_init('Magento\Email\Model\Resource\Template');
     }
 
     /**
@@ -241,7 +244,7 @@ class Template extends \Magento\Core\Model\Template
      * Declare template processing filter
      *
      * @param   \Magento\Filter\Template $filter
-     * @return  \Magento\Core\Model\Email\Template
+     * @return  \Magento\Email\Model\Template
      */
     public function setTemplateFilter(\Magento\Filter\Template $filter)
     {
@@ -252,7 +255,7 @@ class Template extends \Magento\Core\Model\Template
     /**
      * Get filter object for template processing log
      *
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function getTemplateFilter()
     {
@@ -268,7 +271,7 @@ class Template extends \Magento\Core\Model\Template
      * Load template by code
      *
      * @param   string $templateCode
-     * @return   \Magento\Core\Model\Email\Template
+     * @return   \Magento\Email\Model\Template
      */
     public function loadByCode($templateCode)
     {
@@ -280,7 +283,7 @@ class Template extends \Magento\Core\Model\Template
      * Load default email template
      *
      * @param string $templateId
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function loadDefault($templateId)
     {
@@ -331,7 +334,7 @@ class Template extends \Magento\Core\Model\Template
      * Set id of template
      *
      * @param int $value
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function setId($value)
     {
@@ -378,7 +381,7 @@ class Template extends \Magento\Core\Model\Template
             $variables['this'] = $this;
         }
 
-        if (isset($variables['subscriber']) && ($variables['subscriber'] instanceof \Magento\Newsletter\Model\Subscriber)) {
+        if (isset($variables['subscriber'])) {
             $processor->setStoreId($variables['subscriber']->getStoreId());
         }
 
@@ -440,6 +443,8 @@ class Template extends \Magento\Core\Model\Template
     /**
      * Send mail to recipient
      *
+     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+     * @SuppressWarnings(PHPMD.NPathComplexity)
      * @param   array|string       $email        E-mail(s)
      * @param   array|string|null  $name         receiver name(s)
      * @param   array              $variables    template variables
@@ -448,7 +453,9 @@ class Template extends \Magento\Core\Model\Template
     public function send($email, $name = null, array $variables = array())
     {
         if (!$this->isValidForSend()) {
-            $this->_logger->logException(new \Exception('This letter cannot be sent.')); // translation is intentionally omitted
+            $this->_logger->logException(
+                new \Exception('This letter cannot be sent.') // translation is intentionally omitted
+            );
             return false;
         }
 
@@ -547,7 +554,7 @@ class Template extends \Magento\Core\Model\Template
      * @param   string $name recipient name
      * @param   array $vars variables which can be used in template
      * @param   int|null $storeId
-     * @return  \Magento\Core\Model\Email\Template
+     * @return  \Magento\Email\Model\Template
      * @throws  \Magento\Core\Exception
      */
     public function sendTransactional($templateId, $sender, $email, $name, $vars = array(), $storeId = null)
@@ -568,8 +575,12 @@ class Template extends \Magento\Core\Model\Template
         }
 
         if (!is_array($sender)) {
-            $this->setSenderName($this->_coreStoreConfig->getConfig('trans_email/ident_' . $sender . '/name', $storeId));
-            $this->setSenderEmail($this->_coreStoreConfig->getConfig('trans_email/ident_' . $sender . '/email', $storeId));
+            $this->setSenderName(
+                $this->_coreStoreConfig->getConfig('trans_email/ident_' . $sender . '/name', $storeId)
+            );
+            $this->setSenderEmail(
+                $this->_coreStoreConfig->getConfig('trans_email/ident_' . $sender . '/email', $storeId)
+            );
         } else {
             $this->setSenderName($sender['name']);
             $this->setSenderEmail($sender['email']);
@@ -616,7 +627,7 @@ class Template extends \Magento\Core\Model\Template
      * Add email BCC
      *
      * @param string|array $bcc
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function addBcc($bcc)
     {
@@ -628,7 +639,7 @@ class Template extends \Magento\Core\Model\Template
      * Set Return Path
      *
      * @param string $email
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function setReturnPath($email)
     {
@@ -640,7 +651,7 @@ class Template extends \Magento\Core\Model\Template
      * Add Reply-To header
      *
      * @param string $email
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     public function setReplyTo($email)
     {
@@ -695,7 +706,7 @@ class Template extends \Magento\Core\Model\Template
      * Validate email template code
      *
      * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Model\Email\Template
+     * @return \Magento\Email\Model\Template
      */
     protected function _beforeSave()
     {
diff --git a/app/code/Magento/Core/Model/Email/Template/Config.php b/app/code/Magento/Email/Model/Template/Config.php
similarity index 93%
rename from app/code/Magento/Core/Model/Email/Template/Config.php
rename to app/code/Magento/Email/Model/Template/Config.php
index 64ff7e15c02..c382a29ee48 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config.php
+++ b/app/code/Magento/Email/Model/Template/Config.php
@@ -23,12 +23,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\Email\Template;
+namespace Magento\Email\Model\Template;
 
 class Config
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Config\Data
+     * @var \Magento\Email\Model\Template\Config\Data
      */
     protected $_dataStorage;
 
@@ -38,11 +38,11 @@ class Config
     protected $_moduleReader;
 
     /**
-     * @param \Magento\Core\Model\Email\Template\Config\Data $dataStorage
+     * @param \Magento\Email\Model\Template\Config\Data $dataStorage
      * @param \Magento\Module\Dir\Reader $moduleReader
      */
     public function __construct(
-        \Magento\Core\Model\Email\Template\Config\Data $dataStorage,
+        \Magento\Email\Model\Template\Config\Data $dataStorage,
         \Magento\Module\Dir\Reader $moduleReader
     ) {
         $this->_dataStorage = $dataStorage;
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/Converter.php b/app/code/Magento/Email/Model/Template/Config/Converter.php
similarity index 97%
rename from app/code/Magento/Core/Model/Email/Template/Config/Converter.php
rename to app/code/Magento/Email/Model/Template/Config/Converter.php
index 9e7f245620f..97718a9b19d 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/Converter.php
+++ b/app/code/Magento/Email/Model/Template/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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class Converter implements \Magento\Config\ConverterInterface
 {
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/Data.php b/app/code/Magento/Email/Model/Template/Config/Data.php
similarity index 87%
rename from app/code/Magento/Core/Model/Email/Template/Config/Data.php
rename to app/code/Magento/Email/Model/Template/Config/Data.php
index a0607393fa8..6303e758c6d 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/Data.php
+++ b/app/code/Magento/Email/Model/Template/Config/Data.php
@@ -23,16 +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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class Data extends \Magento\Config\Data
 {
     /**
-     * @param \Magento\Core\Model\Email\Template\Config\Reader $reader
+     * @param \Magento\Email\Model\Template\Config\Reader $reader
      * @param \Magento\Config\CacheInterface $cache
      */
     public function __construct(
-        \Magento\Core\Model\Email\Template\Config\Reader $reader,
+        \Magento\Email\Model\Template\Config\Reader $reader,
         \Magento\Config\CacheInterface $cache
     ) {
         parent::__construct($reader, $cache, 'email_templates');
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php b/app/code/Magento/Email/Model/Template/Config/Reader.php
similarity index 87%
rename from app/code/Magento/Core/Model/Email/Template/Config/Reader.php
rename to app/code/Magento/Email/Model/Template/Config/Reader.php
index 70c9ef739cd..dd27e292f98 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
+++ b/app/code/Magento/Email/Model/Template/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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class Reader extends \Magento\Config\Reader\Filesystem
 {
@@ -34,15 +34,15 @@ class Reader extends \Magento\Config\Reader\Filesystem
 
     /**
      * @param \Magento\Config\FileResolverInterface $fileResolver
-     * @param \Magento\Core\Model\Email\Template\Config\Converter $converter
-     * @param \Magento\Core\Model\Email\Template\Config\SchemaLocator $schemaLocator
+     * @param \Magento\Email\Model\Template\Config\Converter $converter
+     * @param \Magento\Email\Model\Template\Config\SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
      * @param \Magento\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\Email\Model\Template\Config\Converter $converter,
+        \Magento\Email\Model\Template\Config\SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
         \Magento\Module\Dir\ReverseResolver $moduleDirResolver
     ) {
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/SchemaLocator.php b/app/code/Magento/Email/Model/Template/Config/SchemaLocator.php
similarity index 94%
rename from app/code/Magento/Core/Model/Email/Template/Config/SchemaLocator.php
rename to app/code/Magento/Email/Model/Template/Config/SchemaLocator.php
index a29c6a87c2a..61fc6c30bc8 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/SchemaLocator.php
+++ b/app/code/Magento/Email/Model/Template/Config/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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
 {
@@ -39,7 +39,7 @@ class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
      */
     public function __construct(\Magento\Module\Dir\Reader $moduleReader)
     {
-        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Core') . '/email_templates.xsd';
+        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Email') . '/email_templates.xsd';
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/Email/Template/Filter.php b/app/code/Magento/Email/Model/Template/Filter.php
similarity index 94%
rename from app/code/Magento/Core/Model/Email/Template/Filter.php
rename to app/code/Magento/Email/Model/Template/Filter.php
index 3c458bbbab4..2b08ec58363 100644
--- a/app/code/Magento/Core/Model/Email/Template/Filter.php
+++ b/app/code/Magento/Email/Model/Template/Filter.php
@@ -19,21 +19,18 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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\Email\Model\Template;
 
 /**
  * Core Email Template Filter Model
  *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-namespace Magento\Core\Model\Email\Template;
-
 class Filter extends \Magento\Filter\Template
 {
     /**
@@ -59,6 +56,9 @@ class Filter extends \Magento\Filter\Template
 
     protected $_storeId = null;
 
+    /**
+     * @var bool
+     */
     protected $_plainTemplateMode = false;
 
     /**
@@ -85,7 +85,7 @@ class Filter extends \Magento\Filter\Template
     protected $_variableFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -121,13 +121,14 @@ class Filter extends \Magento\Filter\Template
     protected $_appState;
 
     /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Logger $logger
      * @param \Magento\Escaper $escaper
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\App\State $appState
@@ -139,7 +140,7 @@ class Filter extends \Magento\Filter\Template
         \Magento\View\Url $viewUrl,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\View\LayoutInterface $layout,
         \Magento\View\LayoutFactory $layoutFactory,
         \Magento\App\State $appState
@@ -161,7 +162,7 @@ class Filter extends \Magento\Filter\Template
      * Set use absolute links flag
      *
      * @param bool $flag
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setUseAbsoluteLinks($flag)
     {
@@ -174,7 +175,7 @@ class Filter extends \Magento\Filter\Template
      * Doesn't set anything intentionally, since SID is not allowed in any kind of emails
      *
      * @param bool $flag
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setUseSessionInUrl($flag)
     {
@@ -186,7 +187,7 @@ class Filter extends \Magento\Filter\Template
      * Setter
      *
      * @param boolean $plainTemplateMode
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setPlainTemplateMode($plainTemplateMode)
     {
@@ -194,21 +195,11 @@ class Filter extends \Magento\Filter\Template
         return $this;
     }
 
-    /**
-     * Getter
-     *
-     * @return boolean
-     */
-    public function getPlainTemplateMode()
-    {
-        return $this->_plainTemplateMode;
-    }
-
     /**
      * Setter
      *
      * @param integer $storeId
-     * @return \Magento\Core\Model\Email\Template\Filter
+     * @return \Magento\Email\Model\Template\Filter
      */
     public function setStoreId($storeId)
     {
@@ -233,6 +224,8 @@ class Filter extends \Magento\Filter\Template
     /**
      * Retrieve Block html directive
      *
+     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+     * @SuppressWarnings(PHPMD.NPathComplexity)
      * @param array $construction
      * @return string
      */
@@ -314,7 +307,7 @@ class Filter extends \Magento\Filter\Template
 
         $rootBlock = false;
         foreach ($layout->getAllBlocks() as $block) {
-            /* @var $block \Magento\Core\Block\AbstractBlock */
+            /* @var $block \Magento\View\Block\AbstractBlock */
             if (!$block->getParentBlock() && !$rootBlock) {
                 $rootBlock = $block;
             }
@@ -573,7 +566,7 @@ class Filter extends \Magento\Filter\Template
             $variable = $this->_variableFactory->create()
                 ->setStoreId($this->getStoreId())
                 ->loadByCode($params['code']);
-            $mode = $this->getPlainTemplateMode()
+            $mode = $this->_plainTemplateMode
                 ? \Magento\Core\Model\Variable::TYPE_TEXT
                 : \Magento\Core\Model\Variable::TYPE_HTML;
             $value = $variable->getValue($mode);
@@ -588,6 +581,7 @@ class Filter extends \Magento\Filter\Template
      * Filter the string as template.
      * Rewrited for logging exceptions
      *
+     * @SuppressWarnings(PHPMD.ConstructorWithNameAsEnclosingClass)
      * @param string $value
      * @return string
      */
diff --git a/app/code/Magento/Core/Model/Email/Template/Mailer.php b/app/code/Magento/Email/Model/Template/Mailer.php
similarity index 80%
rename from app/code/Magento/Core/Model/Email/Template/Mailer.php
rename to app/code/Magento/Email/Model/Template/Mailer.php
index 686f8c20f27..843a93a564e 100644
--- a/app/code/Magento/Core/Model/Email/Template/Mailer.php
+++ b/app/code/Magento/Email/Model/Template/Mailer.php
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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)
  */
@@ -28,16 +28,16 @@
  * Email Template Mailer Model
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Email\Template;
+namespace Magento\Email\Model\Template;
 
 class Mailer extends \Magento\Object
 {
     /**
      * List of email infos
-     * @see \Magento\Core\Model\Email\Info
+     * @see \Magento\Email\Model\Info
      *
      * @var array
      */
@@ -46,16 +46,16 @@ class Mailer extends \Magento\Object
     /**
      * Email template factory
      *
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_coreEmailTemplateFactory;
 
     /**
-     * @param \Magento\Core\Model\Email\TemplateFactory $coreEmailTemplateFactory
+     * @param \Magento\Email\Model\TemplateFactory $coreEmailTemplateFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Email\TemplateFactory $coreEmailTemplateFactory,
+        \Magento\Email\Model\TemplateFactory $coreEmailTemplateFactory,
         array $data = array()
     ) {
         parent::__construct($data);
@@ -65,12 +65,12 @@ class Mailer extends \Magento\Object
     /**
      * Add new email info to corresponding list
      *
-     * @param \Magento\Core\Model\Email\Info $emailInfo
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @param \Magento\Email\Model\Info $emailInfo
+     * @return \Magento\Email\Model\Template\Mailer
      */
-    public function addEmailInfo(\Magento\Core\Model\Email\Info $emailInfo)
+    public function addEmailInfo(\Magento\Email\Model\Info $emailInfo)
     {
-        array_push($this->_emailInfos, $emailInfo);
+        $this->_emailInfos[] = $emailInfo;
         return $this;
     }
 
@@ -78,18 +78,18 @@ class Mailer extends \Magento\Object
      * Send all emails from email list
      * @see self::$_emailInfos
      *
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     public function send()
     {
-        /** @var $emailTemplate \Magento\Core\Model\Email\Template */
+        /** @var $emailTemplate \Magento\Email\Model\Template */
         $emailTemplate = $this->_coreEmailTemplateFactory->create();
         // Send all emails from corresponding list
         while (!empty($this->_emailInfos)) {
             $emailInfo = array_pop($this->_emailInfos);
             // Handle "Bcc" recepients of the current email
             $emailTemplate->addBcc($emailInfo->getBccEmails());
-            // Set required design parameters and delegate email sending to \Magento\Core\Model\Email\Template
+            // Set required design parameters and delegate email sending to \Magento\Email\Model\Template
             $designConfig = array(
                 'area' => \Magento\Core\Model\App\Area::AREA_FRONTEND,
                 'store' => $this->getStoreId()
@@ -112,7 +112,7 @@ class Mailer extends \Magento\Object
      * Set email sender
      *
      * @param string|array $sender
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     public function setSender($sender)
     {
@@ -133,7 +133,7 @@ class Mailer extends \Magento\Object
      * Set store id
      *
      * @param int $storeId
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     public function setStoreId($storeId)
     {
@@ -154,7 +154,7 @@ class Mailer extends \Magento\Object
      * Set template id
      *
      * @param int $templateId
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     public function setTemplateId($templateId)
     {
@@ -175,7 +175,7 @@ class Mailer extends \Magento\Object
      * Set tempate parameters
      *
      * @param array $templateParams
-     * @return \Magento\Core\Model\Email\Template\Mailer
+     * @return \Magento\Email\Model\Template\Mailer
      */
     public function setTemplateParams(array $templateParams)
     {
diff --git a/app/code/Magento/Core/Model/Email/Transport.php b/app/code/Magento/Email/Model/Transport.php
similarity index 93%
rename from app/code/Magento/Core/Model/Email/Transport.php
rename to app/code/Magento/Email/Model/Transport.php
index 06e8403ce27..4dcfa2157ec 100644
--- a/app/code/Magento/Core/Model/Email/Transport.php
+++ b/app/code/Magento/Email/Model/Transport.php
@@ -19,13 +19,13 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    Magento
- * @package     Magento_Core
+ * @package     Magento_Email
  * @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\Email;
+namespace Magento\Email\Model;
 
 class Transport extends \Zend_Mail_Transport_Sendmail
 {
diff --git a/app/code/Magento/Email/etc/adminhtml/acl.xml b/app/code/Magento/Email/etc/adminhtml/acl.xml
new file mode 100644
index 00000000000..662fbf1a91f
--- /dev/null
+++ b/app/code/Magento/Email/etc/adminhtml/acl.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.
+ *
+ * @category    Magento
+ * @package     Magento_Email
+ * @copyright   Copyright (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>
+    <acl>
+        <resources>
+            <resource id="Magento_Adminhtml::admin">
+                <resource id="Magento_Adminhtml::marketing">
+                    <resource id="Magento_Adminhtml::marketing_communications" title="Communications" sortOrder="30">
+                        <resource id="Magento_Email::template" title="Email Templates" sortOrder="10" />
+                    </resource>
+                </resource>
+            </resource>
+        </resources>
+    </acl>
+</config>
diff --git a/app/code/Magento/Email/etc/adminhtml/menu.xml b/app/code/Magento/Email/etc/adminhtml/menu.xml
new file mode 100644
index 00000000000..96a08efa939
--- /dev/null
+++ b/app/code/Magento/Email/etc/adminhtml/menu.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.
+ *
+ * @category    Magento
+ * @package     Magento_Email
+ * @copyright   Copyright (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>
+    <menu>
+        <add id="Magento_Email::template" title="Email Templates" module="Magento_Email" sortOrder="10" parent="Magento_Adminhtml::marketing_communications" action="adminhtml/email_template" resource="Magento_Email::template"/>
+    </menu>
+</config>
diff --git a/app/code/Magento/Email/etc/adminhtml/routes.xml b/app/code/Magento/Email/etc/adminhtml/routes.xml
new file mode 100644
index 00000000000..f708fad875c
--- /dev/null
+++ b/app/code/Magento/Email/etc/adminhtml/routes.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)
+ */
+-->
+<config>
+    <router id="admin">
+        <route id="adminhtml">
+            <module name="Magento_Email_Adminhtml" before="Magento_Adminhtml" />
+        </route>
+    </router>
+</config>
\ No newline at end of file
diff --git a/app/code/Magento/Email/etc/config.xml b/app/code/Magento/Email/etc/config.xml
new file mode 100644
index 00000000000..06bfc9cf81c
--- /dev/null
+++ b/app/code/Magento/Email/etc/config.xml
@@ -0,0 +1,69 @@
+<?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     Magento_Email
+ * @copyright   Copyright (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>
+    <default>
+        <system>
+            <media_storage_configuration>
+                <allowed_resources>
+                    <email_folder>email</email_folder>
+                </allowed_resources>
+            </media_storage_configuration>
+            <emails>
+                <forgot_email_template>system_emails_forgot_email_template</forgot_email_template>
+                <forgot_email_identity>general</forgot_email_identity>
+            </emails>
+            <smtp>
+                <disable>0</disable>
+                <host>localhost</host>
+                <port>25</port>
+            </smtp>
+        </system>
+        <trans_email>
+            <ident_custom1>
+                <email>custom1@example.com</email>
+                <name>Custom 1</name>
+            </ident_custom1>
+            <ident_custom2>
+                <email>custom2@example.com</email>
+                <name>Custom 2</name>
+            </ident_custom2>
+            <ident_general>
+                <email>owner@example.com</email>
+                <name>Owner</name>
+            </ident_general>
+            <ident_sales>
+                <email>sales@example.com</email>
+                <name>Sales</name>
+            </ident_sales>
+            <ident_support>
+                <email>support@example.com</email>
+                <name>CustomerSupport</name>
+            </ident_support>
+        </trans_email>
+    </default>
+</config>
diff --git a/app/code/Magento/Email/etc/di.xml b/app/code/Magento/Email/etc/di.xml
new file mode 100644
index 00000000000..083a2003fb6
--- /dev/null
+++ b/app/code/Magento/Email/etc/di.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)
+ */
+-->
+<config>
+</config>
diff --git a/app/code/Magento/Core/etc/email_templates.xsd b/app/code/Magento/Email/etc/email_templates.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/email_templates.xsd
rename to app/code/Magento/Email/etc/email_templates.xsd
diff --git a/app/code/Magento/Core/etc/email_templates_file.xsd b/app/code/Magento/Email/etc/email_templates_file.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/email_templates_file.xsd
rename to app/code/Magento/Email/etc/email_templates_file.xsd
diff --git a/app/code/Magento/Core/etc/email_templates_types.xsd b/app/code/Magento/Email/etc/email_templates_types.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/email_templates_types.xsd
rename to app/code/Magento/Email/etc/email_templates_types.xsd
diff --git a/app/code/Magento/Email/etc/module.xml b/app/code/Magento/Email/etc/module.xml
new file mode 100644
index 00000000000..c8e5e52a1ba
--- /dev/null
+++ b/app/code/Magento/Email/etc/module.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)
+ */
+-->
+<config>
+    <module name="Magento_Email" version="1.0.0.0" active="true">
+        <depends>
+            <module name="Magento_Core"/>
+            <module name="Magento_Cms" />
+        </depends>
+    </module>
+</config>
diff --git a/app/code/Magento/Email/sql/email_setup/install-1.0.0.0.php b/app/code/Magento/Email/sql/email_setup/install-1.0.0.0.php
new file mode 100644
index 00000000000..870f7c65d26
--- /dev/null
+++ b/app/code/Magento/Email/sql/email_setup/install-1.0.0.0.php
@@ -0,0 +1,149 @@
+<?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)
+ */
+
+/* @var $installer \Magento\Core\Model\Resource\Setup */
+$installer = $this;
+
+/**
+ * Create table 'core_email_template'
+ */
+$table = $installer->getConnection()
+    ->newTable($installer->getTable('email_template'))
+    ->addColumn(
+        'template_id',
+        \Magento\DB\Ddl\Table::TYPE_INTEGER,
+        null,
+        array(
+            'identity' => true,
+            'unsigned' => true,
+            'nullable' => false,
+            'primary' => true,
+        ),
+        'Template Id'
+    )
+    ->addColumn(
+        'template_code',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        150,
+        array(
+            'nullable' => false
+        ),
+        'Template Name'
+    )
+    ->addColumn(
+        'template_text',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        '64k',
+        array(
+            'nullable' => false
+        ),
+        'Template Content'
+    )
+    ->addColumn(
+        'template_styles',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        '64k',
+        array(),
+        'Templste Styles'
+    )
+    ->addColumn(
+        'template_type',
+        \Magento\DB\Ddl\Table::TYPE_INTEGER,
+        null,
+        array(
+            'unsigned' => true,
+        ),
+        'Template Type'
+    )
+    ->addColumn(
+        'template_subject',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        200,
+        array(
+            'nullable' => false,
+        ),
+        'Template Subject'
+    )
+    ->addColumn(
+        'template_sender_name',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        200,
+        array(),
+        'Template Sender Name'
+    )
+    ->addColumn(
+        'template_sender_email',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        200,
+        array(),
+        'Template Sender Email'
+    )
+    ->addColumn(
+        'added_at',
+        \Magento\DB\Ddl\Table::TYPE_TIMESTAMP,
+        null,
+        array(),
+        'Date of Template Creation'
+    )
+    ->addColumn(
+        'modified_at',
+        \Magento\DB\Ddl\Table::TYPE_TIMESTAMP,
+        null,
+        array(),
+        'Date of Template Modification'
+    )
+    ->addColumn(
+        'orig_template_code',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        200,
+        array(),
+        'Original Template Code'
+    )
+    ->addColumn(
+        'orig_template_variables',
+        \Magento\DB\Ddl\Table::TYPE_TEXT,
+        '64k',
+        array(),
+        'Original Template Variables'
+    )
+    ->addIndex(
+        $installer->getIdxName(
+            'core_email_template',
+            array('template_code'),
+            \Magento\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE
+        ),
+        array('template_code'),
+        array('type' => \Magento\DB\Adapter\AdapterInterface::INDEX_TYPE_UNIQUE)
+    )
+    ->addIndex(
+        $installer->getIdxName('core_email_template', array('added_at')),
+        array('added_at')
+    )
+    ->addIndex(
+        $installer->getIdxName('core_email_template', array('modified_at')),
+        array('modified_at')
+    )
+    ->setComment('Email Templates');
+
+$installer->getConnection()->createTable($table);
diff --git a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid.xml b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid.xml
similarity index 94%
rename from app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid.xml
rename to app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid.xml
index ec44a9cdd5f..55195bf0ecc 100644
--- a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid.xml
+++ b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid.xml
@@ -25,6 +25,6 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <update handle="formkey"/>
-    <update handle="adminhtml_system_email_template_grid_block"/>
+    <update handle="adminhtml_email_template_grid_block"/>
     <block class="Magento\Backend\Block\Widget\Grid\Container" name="adminhtml.system.email.template.container" template="Magento_Backend::widget/grid/container/empty.phtml" output="1"/>
 </layout>
diff --git a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid_block.xml b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid_block.xml
similarity index 95%
rename from app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid_block.xml
rename to app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid_block.xml
index 66fe5a010da..c9d8a4f878e 100644
--- a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_grid_block.xml
+++ b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_grid_block.xml
@@ -28,7 +28,7 @@
         <block class="Magento\Backend\Block\Widget\Grid" name="adminhtml.system.email.template.grid" as="grid">
             <arguments>
                 <argument name="id" xsi:type="string">systemEmailTemplateGrid</argument>
-                <argument name="dataSource" xsi:type="object">Magento\Core\Model\Resource\Email\Template\Collection</argument>
+                <argument name="dataSource" xsi:type="object">Magento\Email\Model\Resource\Template\Collection</argument>
                 <argument name="use_ajax" xsi:type="string">1</argument>
                 <argument name="save_parameters_in_session" xsi:type="string">1</argument>
                 <argument name="grid_url" xsi:type="url" path="*/*/grid">
@@ -83,8 +83,8 @@
                     <arguments>
                         <argument name="header" xsi:type="string" translate="true">Template Type</argument>
                         <argument name="index" xsi:type="string">template_type</argument>
-                        <argument name="filter" xsi:type="string">Magento\Backend\Block\System\Email\Template\Grid\Filter\Type</argument>
-                        <argument name="renderer" xsi:type="string">Magento\Backend\Block\System\Email\Template\Grid\Renderer\Type</argument>
+                        <argument name="filter" xsi:type="string">Magento\Email\Block\Adminhtml\Template\Grid\Filter\Type</argument>
+                        <argument name="renderer" xsi:type="string">Magento\Email\Block\Adminhtml\Template\Grid\Renderer\Type</argument>
                     </arguments>
                 </block>
                 <block class="Magento\Backend\Block\Widget\Grid\Column" as="action">
@@ -94,7 +94,7 @@
                         <argument name="sortable" xsi:type="string">0</argument>
                         <argument name="filter" xsi:type="string">0</argument>
                         <argument name="width" xsi:type="string">100px</argument>
-                        <argument name="renderer" xsi:type="string">Magento\Backend\Block\System\Email\Template\Grid\Renderer\Action</argument>
+                        <argument name="renderer" xsi:type="string">Magento\Email\Block\Adminhtml\Template\Grid\Renderer\Action</argument>
                     </arguments>
                 </block>
             </block>
diff --git a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_index.xml b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_index.xml
similarity index 85%
rename from app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_index.xml
rename to app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_index.xml
index 9fc97306f6a..56cdcf76a9c 100644
--- a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_email_template_index.xml
+++ b/app/code/Magento/Email/view/adminhtml/layout/adminhtml_email_template_index.xml
@@ -24,8 +24,8 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <update handle="adminhtml_system_email_template_grid_block"/>
+    <update handle="adminhtml_email_template_grid_block"/>
     <referenceContainer name="content">
-        <block class="Magento\Backend\Block\System\Email\Template" name="adminhtml.system.email.template.container"/>
+        <block class="Magento\Email\Block\Adminhtml\Template" name="adminhtml.system.email.template.container"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_preview.xml b/app/code/Magento/Email/view/adminhtml/layout/systemPreview.xml
similarity index 86%
rename from app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_preview.xml
rename to app/code/Magento/Email/view/adminhtml/layout/systemPreview.xml
index 3e8595af2df..d77c6da59ff 100644
--- a/app/code/Magento/Backend/view/adminhtml/layout/adminhtml_system_preview.xml
+++ b/app/code/Magento/Email/view/adminhtml/layout/systemPreview.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="root" output="1" template="Magento_Backend::system/email/template/preview.phtml">
-        <block class="Magento\Backend\Block\System\Email\Template\Preview" name="content" as="content"/>
+    <block class="Magento\View\Block\Template" name="root" output="1" template="Magento_Backend::system/email/template/preview.phtml">
+        <block class="Magento\Email\Block\Adminhtml\Template\Preview" name="content" as="content"/>
     </block>
 </layout>
diff --git a/app/code/Magento/Backend/view/adminhtml/system/email/template/edit.phtml b/app/code/Magento/Email/view/adminhtml/template/edit.phtml
similarity index 97%
rename from app/code/Magento/Backend/view/adminhtml/system/email/template/edit.phtml
rename to app/code/Magento/Email/view/adminhtml/template/edit.phtml
index bb574a02623..00e2c31a253 100644
--- a/app/code/Magento/Backend/view/adminhtml/system/email/template/edit.phtml
+++ b/app/code/Magento/Email/view/adminhtml/template/edit.phtml
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    design
- * @package     Magento_Backend
+ * @package     default_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)
  */
@@ -202,10 +202,10 @@
 
         },
 
-        renderPaths: function(paths, fieldId){
+        renderPaths: function(paths, fieldId) {
             var field = $(fieldId);
-            if(field){
-                field.down('td').next('td').update(this.parsePath(paths, '<span class="path-delimiter">&nbsp;-&gt;&nbsp;</span>', '<br />'));
+            if (field) {
+                field.down('div').update(this.parsePath(paths, '<span class="path-delimiter">&nbsp;-&gt;&nbsp;</span>', '<br />'));
             }
         },
 
diff --git a/app/code/Magento/Backend/view/adminhtml/system/email/template/list.phtml b/app/code/Magento/Email/view/adminhtml/template/list.phtml
similarity index 97%
rename from app/code/Magento/Backend/view/adminhtml/system/email/template/list.phtml
rename to app/code/Magento/Email/view/adminhtml/template/list.phtml
index cddb9e6a45b..13b521b7a0e 100644
--- a/app/code/Magento/Backend/view/adminhtml/system/email/template/list.phtml
+++ b/app/code/Magento/Email/view/adminhtml/template/list.phtml
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    design
- * @package     Magento_Backend
+ * @package     default_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)
  */
diff --git a/app/code/Magento/Backend/view/adminhtml/system/email/template/preview.phtml b/app/code/Magento/Email/view/adminhtml/template/preview.phtml
similarity index 97%
rename from app/code/Magento/Backend/view/adminhtml/system/email/template/preview.phtml
rename to app/code/Magento/Email/view/adminhtml/template/preview.phtml
index 4d76822f61c..e5cf6f527cf 100644
--- a/app/code/Magento/Backend/view/adminhtml/system/email/template/preview.phtml
+++ b/app/code/Magento/Email/view/adminhtml/template/preview.phtml
@@ -19,7 +19,7 @@
  * needs please refer to http://www.magentocommerce.com for more information.
  *
  * @category    design
- * @package     Magento_Backend
+ * @package     default_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)
  */
diff --git a/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/Create/Form.php b/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/Create/Form.php
index a4d4b8c061c..2c765dedfc4 100644
--- a/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/Create/Form.php
+++ b/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/Create/Form.php
@@ -40,20 +40,20 @@ class Form extends \Magento\Adminhtml\Block\Template
      */
     protected $_sessionQuote;
 
-    /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        array $data = array()
+    ) {
         $this->_sessionQuote = $sessionQuote;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/View/Form.php b/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/View/Form.php
index c37642db0dd..2bdca45b04d 100644
--- a/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/View/Form.php
+++ b/app/code/Magento/GiftMessage/Block/Adminhtml/Sales/Order/View/Form.php
@@ -42,20 +42,20 @@ class Form extends \Magento\Backend\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GiftMessage/Block/Message/Inline.php b/app/code/Magento/GiftMessage/Block/Message/Inline.php
index 1a5a2c642b2..08424e77f2b 100644
--- a/app/code/Magento/GiftMessage/Block/Message/Inline.php
+++ b/app/code/Magento/GiftMessage/Block/Message/Inline.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\GiftMessage\Block\Message;
 
-class Inline extends \Magento\Core\Block\Template
+class Inline extends \Magento\View\Block\Template
 {
     protected $_entity = null;
     protected $_type   = null;
@@ -55,22 +55,22 @@ class Inline extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\GiftMessage\Helper\Message $giftMessageMessage
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\GiftMessage\Helper\Message $giftMessageMessage,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_giftMessageMessage = $giftMessageMessage;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GiftMessage/Helper/Data.php b/app/code/Magento/GiftMessage/Helper/Data.php
index 9cc3f87fc8d..531434ad85f 100644
--- a/app/code/Magento/GiftMessage/Helper/Data.php
+++ b/app/code/Magento/GiftMessage/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\GiftMessage\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/GiftMessage/Helper/Message.php b/app/code/Magento/GiftMessage/Helper/Message.php
index 8ac53fd55c6..3ae7a15250c 100644
--- a/app/code/Magento/GiftMessage/Helper/Message.php
+++ b/app/code/Magento/GiftMessage/Helper/Message.php
@@ -73,9 +73,9 @@ class Message extends \Magento\Core\Helper\Data
     protected $_escaper;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
@@ -85,9 +85,9 @@ class Message extends \Magento\Core\Helper\Data
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Catalog\Model\ProductFactory $productFactory,
diff --git a/app/code/Magento/GiftMessage/view/frontend/gift-options.js b/app/code/Magento/GiftMessage/view/frontend/gift-options.js
index fbb910dd036..6f9b6cc2316 100644
--- a/app/code/Magento/GiftMessage/view/frontend/gift-options.js
+++ b/app/code/Magento/GiftMessage/view/frontend/gift-options.js
@@ -76,7 +76,6 @@
                     .find('.giftmessage-area').val('').change().end()
                     .find('.select').val('').change().end()
                     .find('.checkbox:checked').prop('checked', false).click().prop('checked', false).end()
-                    .find('a').parent().next().addClass(this.options.noDisplay).end()
                     .find('.price-box').addClass(this.options.noDisplay).end();
             }
         },
diff --git a/app/code/Magento/GiftMessage/view/frontend/inline.phtml b/app/code/Magento/GiftMessage/view/frontend/inline.phtml
index b581f23b0ff..a284a2dcbbe 100644
--- a/app/code/Magento/GiftMessage/view/frontend/inline.phtml
+++ b/app/code/Magento/GiftMessage/view/frontend/inline.phtml
@@ -19,228 +19,285 @@
  * 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 ($this->isMessagesAvailable() || $this->isItemsAvailable()): ?>
+<?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': ?>
-    <div class="gift-messages">
-        <h3><?php echo __('Does your order include gift items?'); ?></h3>
-        <p>
-            <input type="checkbox" name="allow_gift_messages" id="allow_gift_messages" value="1" data-selector='{"id":"#allow-gift-message-container"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
-            <label for="allow_gift_messages"><?php echo __('Add gift options.') ?></label>
-        </p>
-    </div>
-    <div class="gift-messages-form" id="allow-gift-message-container">
-        <div class="inner-box">
-            <?php if ($this->isMessagesAvailable()): ?>
-                <h4><?php echo __('Gift Options for the Entire Order'); ?></h4>
-                <p>
-                    <input type="checkbox" name="allow_gift_messages_for_order" id="allow_gift_messages_for_order" value="1" data-selector='{"id":"#allow-gift-messages-for-order-container"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
-                    <label for="allow_gift_messages_for_order"><?php echo __('Add gift options for the Entire Order') ?></label>
-                </p>
-                <div class="allow-gift-messages-for-order-container" id="allow-gift-messages-for-order-container" style="display:none">
-                    <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message for the whole order.') ?></p>
-                    <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]"  value="quote" />
-                    <ul class="form-list">
-                        <li class="fields">
-                            <div class="field">
-                                <label for="gift-message-whole-from"><?php echo __('From') ?></label>
-                                <div class="input-box">
-                                    <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" />
+    <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">
-                                <label for="gift-message-whole-to"><?php echo __('To') ?></label>
-                                <div class="input-box">
-                                    <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 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>
-                        </li>
-                        <li class="wide">
-                            <label for="gift-message-whole-message"><?php echo __('Message') ?></label>
-                            <div class="input-box">
-                                <textarea id="gift-message-whole-message" class="input-text giftmessage-area" 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 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>
-                        </li>
-                    </ul>
+                        </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>
-             <?php endif; ?>
-             <?php if($this->isItemsAvailable()): ?>
-                 <h4><?php echo __('Gift Options for Individual Items'); ?></h4>
-                 <p>
-                    <input type="checkbox" name="allow_gift_messages_for_items" id="allow_gift_messages_for_items" value="1" data-selector='{"id":"#allow-gift-messages-for-items-container"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
-                    <label for="allow_gift_messages_for_items"><?php echo __('Add gift options for Individual Items') ?></label>
-                </p>
-                <div id="allow-gift-messages-for-items-container">
-                 <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message to this item.') ?></p>
-                 <ol>
-                 <?php foreach($this->getItems() as $_index=>$_item): ?>
-                 <?php $_product=$_item->getProduct() ?>
-                 <li class="item">
-                     <div class="product-img-box">
-                         <p class="product-image">
-                             <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()) ?>" />
-                         </p>
+            </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>
-                     <div class="details">
-                         <div class="f-fix">
-                             <h5 class="product-name"><?php echo $this->escapeHtml($_product->getName()) ?></h5>
-                             <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_item" />
-                              <ul class="form-list">
-                                 <li class="fields">
-                                     <div class="field">
-                                         <label for="gift-message-<?php echo $_item->getId() ?>-from"><?php echo __('From') ?></label>
-                                         <div class="input-box">
-                                             <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 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">
-                                         <label for="gift-message-<?php echo $_item->getId() ?>-to"><?php echo __('To') ?></label>
-                                         <div class="input-box">
-                                             <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 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>
-                                 </li>
-                                 <li class="wide">
-                                     <label for="gift-message-<?php echo $_item->getId() ?>-message"><?php echo __('Message') ?></label>
-                                     <div class="input-box">
-                                         <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 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>
-                                 </li>
-                             </ul>
+                                </fieldset>
+                             </div>
+                         <?php endif; ?>
                          </div>
-                     </div>
-                 </li>
-                 <?php endforeach; ?>
-             </ol>
-             </div>
-             <?php endif; ?>
-        </div>
-    </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_messages')
-                .add('#allow_gift_messages_for_order')
-                .add('#allow_gift_messages_for_items').giftOptions();
+            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': ?>
-    <div class="gift-messages">
-        <h3><?php echo __('Does your order include gift items?'); ?></h3>
-        <p>
-            <input type="checkbox" name="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-message-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif ?> class="checkbox" />
-            <label for="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>"><?php echo __('Add gift options') ?></label>
-        </p>
-    </div>
-    <div class="gift-messages-form" id="allow-gift-message-container-<?php echo $this->getEntity()->getId() ?>">
-        <div class="inner-box">
-            <?php if ($this->isMessagesAvailable()): ?>
-            <h4><?php echo __('Gift Options for this address'); ?></h4>
-            <p>
-                 <input type="checkbox" name="allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
-                 <label for="allow_gift_messages_for_order"><?php echo __('Add gift options for the Entire Order') ?></label>
-            </p>
-            <div id="allow-gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>">
-                <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message for this address.') ?></p>
-                <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
-                <ul class="form-list">
-                    <li class="fields">
-                        <div class="field">
-                            <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-from"><?php echo __('From') ?></label>
-                            <div class="input-box">
-                                <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" />
+    <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>
-                        <div class="field">
-                            <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-to"><?php echo __('To') ?></label>
-                            <div class="input-box">
-                                <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 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>
-                    </li>
-                    <li class="wide">
-                        <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-message"><?php echo __('Message') ?></label>
-                        <div class="input-box">
-                            <textarea id="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="input-text giftmessage-area" 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>
-                    </li>
-                </ul>
-            </div>
-            <?php endif; ?>
-            <?php if($this->isItemsAvailable()): ?>
-            <h4><?php echo __('Gift Options for Individual Items'); ?></h4>
-            <p>
-                <input type="checkbox" name="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-messages-for-items-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
-                <label for="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>"><?php echo __('Add gift options for Individual Items') ?></label>
-            </p>
-            <div id="allow-gift-messages-for-items-container-<?php echo $this->getEntity()->getId() ?>">
-             <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message to this item.') ?></p>
-             <ol>
-             <?php foreach($this->getItems() as $_index=>$_item): ?>
-             <?php $_product=$_item->getProduct() ?>
-                 <li class="item">
-                     <div class="product-img-box">
-                         <p class="product-image"><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()) ?>" /></p>
+                            <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>
-                     <div class="details">
-                         <div class="f-fix">
-                             <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()?>" />
-                             <h5 class="product-name"><?php echo $this->escapeHtml($_product->getName()) ?></h5>
-                             <ul class="form-list">
-                                 <li class="fields">
-                                     <div class="field">
-                                         <label for="gift-message-<?php echo $_item->getId() ?>-from"><?php echo __('From') ?></label>
-                                         <div class="input-box">
-                                             <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 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>
-                                     <div class="field">
-                                         <label for="gift-message-<?php echo $_item->getId() ?>-to"><?php echo __('To') ?></label>
-                                         <div class="input-box">
-                                             <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 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>
-                                     </div>
-                                 </li>
-                                 <li class="wide">
-                                     <label for="gift-message-<?php echo $_item->getId() ?>-message"><?php echo __('Message') ?></label>
-                                     <div class="input-box">
-                                         <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>
-                                 </li>
-                             </ul>
+                                     </fieldset>
+                                 </div>
+                             <?php endif; ?>
                          </div>
-                     </div>
-                 </li>
-             <?php endforeach; ?>
-             </ol>
-            </div>
+                     </li>
+                 <?php endforeach; ?>
+                 </ol>
+            </dd>
             <?php endif; ?>
-        </div>
-    </div>
+            <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_messages_<?php echo $this->getEntity()->getId() ?>')
-                        .add('#allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>')
-                        .add('#allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>').giftOptions();
+                    $('#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')?>",
diff --git a/app/code/Magento/GoogleAdwords/Block/Code.php b/app/code/Magento/GoogleAdwords/Block/Code.php
index 8e56e7b55ba..93012f87898 100644
--- a/app/code/Magento/GoogleAdwords/Block/Code.php
+++ b/app/code/Magento/GoogleAdwords/Block/Code.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\GoogleAdwords\Block;
 
-class Code extends \Magento\Core\Block\Template
+class Code extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\GoogleAdwords\Helper\Data
@@ -33,19 +33,19 @@ class Code extends \Magento\Core\Block\Template
     protected $_googleAdwordsData;
 
     /**
-     * @param \Magento\GoogleAdwords\Helper\Data $googleAdwordsData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\GoogleAdwords\Helper\Data $googleAdwordsData
      * @param array $data
      */
     public function __construct(
-        \Magento\GoogleAdwords\Helper\Data $googleAdwordsData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\GoogleAdwords\Helper\Data $googleAdwordsData,
         array $data = array()
     ) {
         $this->_googleAdwordsData = $googleAdwordsData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GoogleAdwords/Helper/Data.php b/app/code/Magento/GoogleAdwords/Helper/Data.php
index 29fa546e0a7..f393ea12d98 100644
--- a/app/code/Magento/GoogleAdwords/Helper/Data.php
+++ b/app/code/Magento/GoogleAdwords/Helper/Data.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\GoogleAdwords\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**#@+
      * Google AdWords language codes
@@ -87,13 +87,13 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_registry;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\ConfigInterface $storeConfig
      * @param \Magento\Core\Model\Registry $registry
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\ConfigInterface $storeConfig,
         \Magento\Core\Model\Registry $registry
diff --git a/app/code/Magento/GoogleAdwords/Model/Config/Backend/AbstractConversion.php b/app/code/Magento/GoogleAdwords/Model/Config/Backend/AbstractConversion.php
index ae3b79c970a..7a6ad0e8307 100644
--- a/app/code/Magento/GoogleAdwords/Model/Config/Backend/AbstractConversion.php
+++ b/app/code/Magento/GoogleAdwords/Model/Config/Backend/AbstractConversion.php
@@ -43,7 +43,7 @@ abstract class AbstractConversion extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Validator\Composite\VarienObjectFactory $validatorCompositeFactory
      * @param \Magento\GoogleAdwords\Model\Validator\Factory $validatorFactory
@@ -53,7 +53,7 @@ abstract class AbstractConversion extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Validator\Composite\VarienObjectFactory $validatorCompositeFactory,
         \Magento\GoogleAdwords\Model\Validator\Factory $validatorFactory,
diff --git a/app/code/Magento/GoogleAnalytics/Block/Ga.php b/app/code/Magento/GoogleAnalytics/Block/Ga.php
index 49ac1a50985..34d45f11ab1 100644
--- a/app/code/Magento/GoogleAnalytics/Block/Ga.php
+++ b/app/code/Magento/GoogleAnalytics/Block/Ga.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\GoogleAnalytics\Block;
 
-class Ga extends \Magento\Core\Block\Template
+class Ga extends \Magento\View\Block\Template
 {
     /**
      * Google analytics data
@@ -43,36 +43,28 @@ class Ga extends \Magento\Core\Block\Template
      */
     protected $_googleAnalyticsData = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Sales\Model\Resource\Order\CollectionFactory
      */
     protected $_salesOrderCollection;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $salesOrderCollection
      * @param \Magento\GoogleAnalytics\Helper\Data $googleAnalyticsData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\Resource\Order\CollectionFactory $salesOrderCollection,
         \Magento\GoogleAnalytics\Helper\Data $googleAnalyticsData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_googleAnalyticsData = $googleAnalyticsData;
         $this->_salesOrderCollection = $salesOrderCollection;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GoogleAnalytics/Helper/Data.php b/app/code/Magento/GoogleAnalytics/Helper/Data.php
index 57d25e0fd0a..3991c1c9a33 100644
--- a/app/code/Magento/GoogleAnalytics/Helper/Data.php
+++ b/app/code/Magento/GoogleAnalytics/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\GoogleAnalytics\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Config paths for using throughout the code
@@ -49,11 +49,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/GoogleAnalytics/Model/Observer.php b/app/code/Magento/GoogleAnalytics/Model/Observer.php
index ef72ff212b3..4e3b0c7911d 100644
--- a/app/code/Magento/GoogleAnalytics/Model/Observer.php
+++ b/app/code/Magento/GoogleAnalytics/Model/Observer.php
@@ -49,9 +49,9 @@ class Observer
     protected $_googleAnalyticsData = null;
 
     /**
-     * @var \Magento\Core\Model\App
+     * @var \Magento\Core\Model\Layout
      */
-    protected $_application;
+    protected $_layout;
 
     /**
      * @var \Magento\Core\Model\StoreManagerInterface
@@ -60,16 +60,16 @@ class Observer
 
     /**
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\App $application
+     * @param \Magento\Core\Model\Layout $layout
      * @param \Magento\GoogleAnalytics\Helper\Data $googleAnalyticsData
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\App $application,
+        \Magento\Core\Model\Layout $layout,
         \Magento\GoogleAnalytics\Helper\Data $googleAnalyticsData
     ) {
         $this->_googleAnalyticsData = $googleAnalyticsData;
-        $this->_application = $application;
+        $this->_layout = $layout;
         $this->_storeManager = $storeManager;
     }
 
@@ -84,7 +84,7 @@ class Observer
         if (empty($orderIds) || !is_array($orderIds)) {
             return;
         }
-        $block = $this->_application->getFrontController()->getAction()->getLayout()->getBlock('google_analytics');
+        $block = $this->_layout->getBlock('google_analytics');
         if ($block) {
             $block->setOrderIds($orderIds);
         }
diff --git a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
index 484498d3915..6da2a334f8c 100644
--- a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
+++ b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
@@ -47,28 +47,26 @@ class Merchant
      */
     protected $shippingConfig;
 
-    /**
-     * @param \Magento\Core\Model\Website\Factory $websiteFactory
-     * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Shipping\Model\Config $shippingConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Website\Factory $websiteFactory
+     * @param \Magento\Core\Model\StoreFactory $storeFactory
+     * @param \Magento\Shipping\Model\Config $shippingConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Website\Factory $websiteFactory,
-        \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Shipping\Model\Config $shippingConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Website\Factory $websiteFactory,
+        \Magento\Core\Model\StoreFactory $storeFactory,
+        \Magento\Shipping\Model\Config $shippingConfig,
+        array $data = array()
+    ) {
         $this->websiteFactory = $websiteFactory;
         $this->storeFactory = $storeFactory;
         $this->shippingConfig = $shippingConfig;
-        parent::__construct($coreData, $context, $application, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _getElementHtml(\Magento\Data\Form\Element\AbstractElement $element)
diff --git a/app/code/Magento/GoogleCheckout/Block/Link.php b/app/code/Magento/GoogleCheckout/Block/Link.php
index f53c324247f..72d178489b5 100644
--- a/app/code/Magento/GoogleCheckout/Block/Link.php
+++ b/app/code/Magento/GoogleCheckout/Block/Link.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\GoogleCheckout\Block;
 
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Checkout\Model\Session
@@ -46,22 +46,22 @@ class Link extends \Magento\Core\Block\Template
     protected $paymentFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\GoogleCheckout\Model\PaymentFactory $paymentFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\GoogleCheckout\Model\PaymentFactory $paymentFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->paymentFactory = $paymentFactory;
         $this->checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getImageStyle()
diff --git a/app/code/Magento/GoogleCheckout/Controller/Api.php b/app/code/Magento/GoogleCheckout/Controller/Api.php
index 2e39887fc57..0831a5ab600 100644
--- a/app/code/Magento/GoogleCheckout/Controller/Api.php
+++ b/app/code/Magento/GoogleCheckout/Controller/Api.php
@@ -26,13 +26,13 @@
 
 namespace Magento\GoogleCheckout\Controller;
 
-class Api extends \Magento\Core\Controller\Front\Action
+class Api extends \Magento\App\Action\Action
 {
     public function indexAction()
     {
         $res = $this->_objectManager->create('Magento\GoogleCheckout\Model\Api')->processCallback();
         if ($res === false) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         } else {
             exit;
         }
diff --git a/app/code/Magento/GoogleCheckout/Controller/Redirect.php b/app/code/Magento/GoogleCheckout/Controller/Redirect.php
index 6d8e7c9b39c..20d624793ff 100644
--- a/app/code/Magento/GoogleCheckout/Controller/Redirect.php
+++ b/app/code/Magento/GoogleCheckout/Controller/Redirect.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\GoogleCheckout\Controller;
 
-class Redirect extends \Magento\Core\Controller\Front\Action
+class Redirect extends \Magento\App\Action\Action
 {
     /**
      *  Send request to Google Checkout and return Response Api
@@ -125,9 +125,9 @@ class Redirect extends \Magento\Core\Controller\Front\Action
             return;
         } else {
             $url = $api->getRedirectUrl();
-            $this->loadLayout();
-            $this->getLayout()->getBlock('googlecheckout_redirect')->setRedirectUrl($url);
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->getLayout()->getBlock('googlecheckout_redirect')->setRedirectUrl($url);
+            $this->_view->renderLayout();
         }
     }
 
@@ -179,7 +179,7 @@ class Redirect extends \Magento\Core\Controller\Front\Action
      */
     public function redirectLogin()
     {
-        $this->setFlag('', 'no-dispatch', true);
+        $this->_actionFlag->set('', 'no-dispatch', true);
         $this->getResponse()->setRedirect(
             $this->_objectManager->get('Magento\Core\Helper\Url')->addRequestParam(
                 $this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl(),
diff --git a/app/code/Magento/GoogleCheckout/Helper/Data.php b/app/code/Magento/GoogleCheckout/Helper/Data.php
index f65dc25f342..06d1364c249 100644
--- a/app/code/Magento/GoogleCheckout/Helper/Data.php
+++ b/app/code/Magento/GoogleCheckout/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\GoogleCheckout\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Google Checkout settings
@@ -81,11 +81,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/GoogleOptimizer/Block/AbstractCode.php b/app/code/Magento/GoogleOptimizer/Block/AbstractCode.php
index f6fcd8318f6..693ad5078d0 100644
--- a/app/code/Magento/GoogleOptimizer/Block/AbstractCode.php
+++ b/app/code/Magento/GoogleOptimizer/Block/AbstractCode.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\GoogleOptimizer\Block;
 
-abstract class AbstractCode extends \Magento\Core\Block\Template
+abstract class AbstractCode extends \Magento\View\Block\Template
 {
     /**
      * @var Entity name in registry
@@ -48,16 +48,16 @@ abstract class AbstractCode extends \Magento\Core\Block\Template
     protected $_codeHelper;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\GoogleOptimizer\Helper\Data $helper,
         \Magento\Core\Model\Registry $registry,
         \Magento\GoogleOptimizer\Helper\Code $codeHelper,
@@ -66,7 +66,7 @@ abstract class AbstractCode extends \Magento\Core\Block\Template
         $this->_helper = $helper;
         $this->_registry = $registry;
         $this->_codeHelper = $codeHelper;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/GoogleOptimizer/Block/Adminhtml/AbstractTab.php b/app/code/Magento/GoogleOptimizer/Block/Adminhtml/AbstractTab.php
index e231365284d..c1ba7ddc5fc 100644
--- a/app/code/Magento/GoogleOptimizer/Block/Adminhtml/AbstractTab.php
+++ b/app/code/Magento/GoogleOptimizer/Block/Adminhtml/AbstractTab.php
@@ -48,27 +48,27 @@ abstract class AbstractTab
      */
     protected $_formHelper;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\GoogleOptimizer\Helper\Data $helperData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
-     * @param \Magento\GoogleOptimizer\Helper\Form $formHelper
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\GoogleOptimizer\Helper\Data $helperData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
+     * @param \Magento\GoogleOptimizer\Helper\Form $formHelper
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\GoogleOptimizer\Helper\Data $helperData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\GoogleOptimizer\Helper\Code $codeHelper,
-        \Magento\GoogleOptimizer\Helper\Form $formHelper,
-        \Magento\Data\FormFactory $formFactory,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\GoogleOptimizer\Helper\Data $helperData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\GoogleOptimizer\Helper\Code $codeHelper,
+        \Magento\GoogleOptimizer\Helper\Form $formHelper,
+        \Magento\Data\FormFactory $formFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
 
         $this->_helperData = $helperData;
         $this->_registry = $registry;
diff --git a/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Catalog/Category/Edit/Tab/Googleoptimizer.php b/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Catalog/Category/Edit/Tab/Googleoptimizer.php
index 95ff1139a02..ec00f51d5bd 100644
--- a/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Catalog/Category/Edit/Tab/Googleoptimizer.php
+++ b/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Catalog/Category/Edit/Tab/Googleoptimizer.php
@@ -43,25 +43,25 @@ class Googleoptimizer
      */
     protected $_formHelper;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
-     * @param \Magento\GoogleOptimizer\Helper\Form $formHelper
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
+     * @param \Magento\GoogleOptimizer\Helper\Form $formHelper
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\GoogleOptimizer\Helper\Code $codeHelper,
-        \Magento\GoogleOptimizer\Helper\Form $formHelper,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\GoogleOptimizer\Helper\Code $codeHelper,
+        \Magento\GoogleOptimizer\Helper\Form $formHelper,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
 
         $this->_codeHelper = $codeHelper;
         $this->_formHelper = $formHelper;
diff --git a/app/code/Magento/GoogleOptimizer/Block/Code/Page.php b/app/code/Magento/GoogleOptimizer/Block/Code/Page.php
index c9b199f617c..1c1f9b34985 100644
--- a/app/code/Magento/GoogleOptimizer/Block/Code/Page.php
+++ b/app/code/Magento/GoogleOptimizer/Block/Code/Page.php
@@ -33,8 +33,8 @@ class Page extends \Magento\GoogleOptimizer\Block\AbstractCode
     protected $_page;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\GoogleOptimizer\Helper\Code $codeHelper
@@ -42,8 +42,8 @@ class Page extends \Magento\GoogleOptimizer\Block\AbstractCode
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\GoogleOptimizer\Helper\Data $helper,
         \Magento\Core\Model\Registry $registry,
         \Magento\GoogleOptimizer\Helper\Code $codeHelper,
@@ -52,7 +52,7 @@ class Page extends \Magento\GoogleOptimizer\Block\AbstractCode
     ) {
         // \Magento\Cms\Model\Page is singleton
         $this->_page = $page;
-        parent::__construct($coreData, $context, $helper, $registry, $codeHelper, $data);
+        parent::__construct($context, $coreData, $helper, $registry, $codeHelper, $data);
     }
 
     /**
diff --git a/app/code/Magento/GoogleOptimizer/Helper/Data.php b/app/code/Magento/GoogleOptimizer/Helper/Data.php
index a58f69746e9..55023406fc1 100644
--- a/app/code/Magento/GoogleOptimizer/Helper/Data.php
+++ b/app/code/Magento/GoogleOptimizer/Helper/Data.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\GoogleOptimizer\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Xml path google experiments enabled
@@ -48,12 +48,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_analyticsHelper;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\ConfigInterface $storeConfig
      * @param \Magento\GoogleAnalytics\Helper\Data $analyticsHelper
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\ConfigInterface $storeConfig,
         \Magento\GoogleAnalytics\Helper\Data $analyticsHelper
     ) {
diff --git a/app/code/Magento/GoogleOptimizer/Helper/Form.php b/app/code/Magento/GoogleOptimizer/Helper/Form.php
index dfbf27c44f1..dd0a3eacf5f 100644
--- a/app/code/Magento/GoogleOptimizer/Helper/Form.php
+++ b/app/code/Magento/GoogleOptimizer/Helper/Form.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\GoogleOptimizer\Helper;
 
-class Form extends \Magento\Core\Helper\AbstractHelper
+class Form extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Prepare form
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items.php
index 36680cc9012..d522b25b162 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items.php
@@ -45,20 +45,20 @@ class Items extends \Magento\Adminhtml\Block\Widget\Grid\Container
      */
     protected $_flagFactory;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\FlagFactory $flagFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\GoogleShopping\Model\FlagFactory $flagFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\FlagFactory $flagFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\GoogleShopping\Model\FlagFactory $flagFactory,
+        array $data = array()
+    ) {
         $this->_flagFactory = $flagFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php
index 650bafa54f0..0bce35e6c9c 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Item.php
@@ -42,24 +42,22 @@ class Item extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Product.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Product.php
index 4bc78c52d07..ace0afd8b60 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Product.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Items/Product.php
@@ -63,33 +63,31 @@ class Product extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_itemCollectionFactory;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $itemCollectionFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Catalog\Model\Product\Type $productType
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $itemCollectionFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory
+     * @param \Magento\Catalog\Model\Product\Type $productType
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $itemCollectionFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Catalog\Model\Product\Type $productType,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\GoogleShopping\Model\Resource\Item\CollectionFactory $itemCollectionFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory,
+        \Magento\Catalog\Model\Product\Type $productType,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_itemCollectionFactory = $itemCollectionFactory;
         $this->_eavCollectionFactory = $eavCollectionFactory;
         $this->_productType = $productType;
         $this->_productFactory = $productFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit.php
index 03b30fdcdf3..918564669a5 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
@@ -78,7 +78,7 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     public function getFormInitScripts()
     {
-        return $this->getLayout()->createBlock('Magento\Core\Block\Template')
+        return $this->getLayout()->createBlock('Magento\View\Block\Template')
             ->setTemplate('Magento_GoogleShopping::types/edit.phtml')
             ->toHtml();
     }
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Attributes.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Attributes.php
index 663b9036c91..3f9731d8953 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Attributes.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Attributes.php
@@ -53,30 +53,30 @@ class Attributes
      */
     protected $_attributeFactory;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\Config $config
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\GoogleShopping\Model\AttributeFactory $attributeFactory
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\GoogleShopping\Model\Config $config
+     * @param \Magento\GoogleShopping\Model\AttributeFactory $attributeFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\Config $config,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\GoogleShopping\Model\AttributeFactory $attributeFactory,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\GoogleShopping\Model\Config $config,
+        \Magento\GoogleShopping\Model\AttributeFactory $attributeFactory,
+        array $data = array()
+    ) {
         $this->_config = $config;
         $this->_attributeFactory = $attributeFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
     /**
      * Preparing global layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Form.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Form.php
index dd2fa9a326a..faad94c018b 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Form.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Edit/Form.php
@@ -82,32 +82,32 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_typeCollectionFactory;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\Resource\Type\CollectionFactory $typeCollectionFactory
-     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\GoogleShopping\Model\Config $config
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\GoogleShopping\Helper\Category $googleShoppingCategory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\GoogleShopping\Model\Resource\Type\CollectionFactory $typeCollectionFactory
+     * @param \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\GoogleShopping\Model\Config $config
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param \Magento\GoogleShopping\Helper\Category $googleShoppingCategory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\Resource\Type\CollectionFactory $typeCollectionFactory,
-        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\GoogleShopping\Model\Config $config,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\GoogleShopping\Helper\Category $googleShoppingCategory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\GoogleShopping\Model\Resource\Type\CollectionFactory $typeCollectionFactory,
+        \Magento\Eav\Model\Resource\Entity\Attribute\Set\CollectionFactory $eavCollectionFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\GoogleShopping\Model\Config $config,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        \Magento\GoogleShopping\Helper\Category $googleShoppingCategory,
+        array $data = array()
+    ) {
         $this->_typeCollectionFactory = $typeCollectionFactory;
         $this->_eavCollectionFactory = $eavCollectionFactory;
         $this->_productFactory = $productFactory;
@@ -116,7 +116,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
         $this->_googleShoppingCategory = $googleShoppingCategory;
         $this->_elementFactory = $elementFactory;
         $this->_formFactory = $formFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Renderer/Country.php b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Renderer/Country.php
index 5d5a00e79b3..7a305fe0e03 100644
--- a/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Renderer/Country.php
+++ b/app/code/Magento/GoogleShopping/Block/Adminhtml/Types/Renderer/Country.php
@@ -44,16 +44,16 @@ class Country
      */
     protected $_config;
 
-    /**
-     * @param \Magento\GoogleShopping\Model\Config $config
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\GoogleShopping\Model\Config $config
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GoogleShopping\Model\Config $config,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\GoogleShopping\Model\Config $config,
+        array $data = array()
+    ) {
         $this->_config = $config;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/GoogleShopping/Block/SiteVerification.php b/app/code/Magento/GoogleShopping/Block/SiteVerification.php
index eb71cde1ce0..6028202a2ef 100644
--- a/app/code/Magento/GoogleShopping/Block/SiteVerification.php
+++ b/app/code/Magento/GoogleShopping/Block/SiteVerification.php
@@ -27,18 +27,18 @@ namespace Magento\GoogleShopping\Block;
 /**
  * Google site verification <meta> tag
  */
-class SiteVerification extends \Magento\Core\Block\AbstractBlock
+class SiteVerification extends \Magento\View\Block\AbstractBlock
 {
     /** @var \Magento\GoogleShopping\Model\Config */
     protected $_config;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\GoogleShopping\Model\Config $config
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\GoogleShopping\Model\Config $config,
         array $data = array()
     ) {
diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items.php
index 2506da12f33..377d6ddfaa8 100644
--- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items.php
+++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Items.php
@@ -31,10 +31,10 @@
  * @package    Magento_GoogleShopping
  * @name       \Magento\GoogleShopping\Controller\Adminhtml\Googleshopping\Items
  * @author     Magento Core Team <core@magentocommerce.com>
-*/
+ */
 namespace Magento\GoogleShopping\Controller\Adminhtml\Googleshopping;
 
-class Items extends \Magento\Backend\Controller\Adminhtml\Action
+class Items extends \Magento\Backend\App\Action
 {
     /**
      * Initialize general settings for action
@@ -43,8 +43,8 @@ class Items extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_GoogleShopping::catalog_googleshopping_items')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_GoogleShopping::catalog_googleshopping_items')
             ->_addBreadcrumb(__('Catalog'), __('Catalog'))
             ->_addBreadcrumb(__('Google Content'), __('Google Content'));
         return $this;
@@ -55,7 +55,7 @@ class Items extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Google Content Items'));
+        $this->_title->add(__('Google Content Items'));
 
         if (0 === (int)$this->getRequest()->getParam('store')) {
             $this->_redirect('adminhtml/*/', array(
@@ -68,7 +68,7 @@ class Items extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_initAction();
 
-        $contentBlock = $this->getLayout()
+        $contentBlock = $this->_view->getLayout()
             ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items')->setStore($this->_getStore());
 
         if ($this->getRequest()->getParam('captcha_token') && $this->getRequest()->getParam('captcha_url')) {
@@ -93,8 +93,8 @@ class Items extends \Magento\Backend\Controller\Adminhtml\Action
         }
 
         $this->_addBreadcrumb(__('Items'), __('Items'))
-            ->_addContent($contentBlock)
-            ->renderLayout();
+            ->_addContent($contentBlock);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -102,9 +102,9 @@ class Items extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items\Item')
                 ->setIndex($this->getRequest()->getParam('index'))
                 ->toHtml()
diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Selection.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Selection.php
index 654e54bef45..62a1a54a8fb 100644
--- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Selection.php
+++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Selection.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\GoogleShopping\Controller\Adminhtml\Googleshopping;
 
-class Selection extends \Magento\Backend\Controller\Adminhtml\Action
+class Selection extends \Magento\Backend\App\Action
 {
     /**
      * Search result grid with available products for Google Content
@@ -41,7 +41,7 @@ class Selection extends \Magento\Backend\Controller\Adminhtml\Action
     public function searchAction()
     {
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items\Product')
                 ->setIndex($this->getRequest()->getParam('index'))
                 ->setFirstShow(true)
@@ -54,9 +54,9 @@ class Selection extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items\Product')
                 ->setIndex($this->getRequest()->getParam('index'))
                 ->toHtml()
diff --git a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types.php b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types.php
index 17a9648d2f6..1988ef4076d 100644
--- a/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types.php
+++ b/app/code/Magento/GoogleShopping/Controller/Adminhtml/Googleshopping/Types.php
@@ -29,7 +29,9 @@
 */
 namespace Magento\GoogleShopping\Controller\Adminhtml\Googleshopping;
 
-class Types extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\App\RequestInterface;
+
+class Types extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -37,13 +39,12 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
      * @var \Magento\Core\Model\Registry
      */
     protected $_coreRegistry = null;
-
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -51,12 +52,15 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
     }
 
     /**
-     * Dispatches controller_action_postdispatch_adminhtml Event (as not Adminhtml router)
+     * Dispatches controller_action_postdispatch_adminhtml Event
+     *
+     * @param RequestInterface $request
+     * @return $this|mixed|void
      */
-    public function postDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::postDispatch();
-        if ($this->getFlag('', self::FLAG_NO_POST_DISPATCH)) {
+        parent::dispatch($request);
+        if ($this->_actionFlag->get('', self::FLAG_NO_POST_DISPATCH)) {
             return;
         }
         $this->_eventManager->dispatch('controller_action_postdispatch_adminhtml', array('controller_action' => $this));
@@ -69,7 +73,7 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initItemType()
     {
-        $this->_title(__('Google Content Attributes'));
+        $this->_title->add(__('Google Content Attributes'));
 
         $this->_coreRegistry
             ->register('current_item_type', $this->_objectManager->create('Magento\GoogleShopping\Model\Type'));
@@ -87,8 +91,8 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_GoogleShopping::catalog_googleshopping_types')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_GoogleShopping::catalog_googleshopping_types')
             ->_addBreadcrumb(__('Catalog'), __('Catalog'))
             ->_addBreadcrumb(__('Google Content'), __('Google Content'));
         return $this;
@@ -99,11 +103,11 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Google Content Attributes'));
+        $this->_title->add(__('Google Content Attributes'));
 
         $this->_initAction()
-            ->_addBreadcrumb(__('Attribute Maps'), __('Attribute Maps'))
-            ->renderLayout();
+            ->_addBreadcrumb(__('Attribute Maps'), __('Attribute Maps'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -111,8 +115,8 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout('false');
-        $this->renderLayout();
+        $this->_view->loadLayout('false');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -123,12 +127,14 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
         try {
             $this->_initItemType();
 
-            $this->_title(__('New Google Content Attribute Mapping'));
+            $this->_title->add(__('New Google Content Attribute Mapping'));
 
             $this->_initAction()
                 ->_addBreadcrumb(__('New attribute set mapping'), __('New attribute set mapping'))
-                ->_addContent($this->getLayout()->createBlock('Magento\GoogleShopping\Block\Adminhtml\Types\Edit'))
-                ->renderLayout();
+                ->_addContent($this->_view->getLayout()
+                    ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Types\Edit')
+                );
+            $this->_view->renderLayout();
         } catch (\Exception $e) {
             $this->_objectManager->get('Magento\Logger')->logException($e);
             $this->_getSession()->addError(__("We can't create Attribute Set Mapping."));
@@ -156,14 +162,17 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
                 }
             }
 
-            $this->_title(__('Google Content Attribute Mapping'));
+            $this->_title->add(__('Google Content Attribute Mapping'));
             $this->_coreRegistry->register('attributes', $result);
 
             $breadcrumbLabel = $typeId ? __('Edit attribute set mapping') : __('New attribute set mapping');
             $this->_initAction()
                 ->_addBreadcrumb($breadcrumbLabel, $breadcrumbLabel)
-                ->_addContent($this->getLayout()->createBlock('Magento\GoogleShopping\Block\Adminhtml\Types\Edit'))
-                ->renderLayout();
+                ->_addContent($this->_view->getLayout()->createBlock(
+                    'Magento\GoogleShopping\Block\Adminhtml\Types\Edit'
+                    )
+                );
+            $this->_view->renderLayout();
         } catch (\Exception $e) {
             $this->_objectManager->get('Magento\Logger')->logException($e);
             $this->_getSession()->addError(__("We can't edit Attribute Set Mapping."));
@@ -258,7 +267,7 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
     {
         try {
             $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\GoogleShopping\Block\Adminhtml\Types\Edit\Attributes')
+            $this->_view->getLayout()->createBlock('Magento\GoogleShopping\Block\Adminhtml\Types\Edit\Attributes')
                 ->setAttributeSetId($this->getRequest()->getParam('attribute_set_id'))
                 ->setTargetCountry($this->getRequest()->getParam('target_country'))
                 ->setAttributeSetSelected(true)
@@ -278,7 +287,7 @@ class Types extends \Magento\Backend\Controller\Adminhtml\Action
     {
         try {
             $this->getResponse()->setBody(
-                $this->getLayout()->getBlockSingleton('Magento\GoogleShopping\Block\Adminhtml\Types\Edit\Form')
+                $this->_view->getLayout()->getBlockSingleton('Magento\GoogleShopping\Block\Adminhtml\Types\Edit\Form')
                     ->getAttributeSetsSelectElement($this->getRequest()->getParam('target_country'))
                     ->toHtml()
             );
diff --git a/app/code/Magento/GoogleShopping/Helper/Data.php b/app/code/Magento/GoogleShopping/Helper/Data.php
index f4f195fc36c..8a6e8b84832 100644
--- a/app/code/Magento/GoogleShopping/Helper/Data.php
+++ b/app/code/Magento/GoogleShopping/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\GoogleShopping\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Magento string lib
@@ -52,12 +52,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Stdlib\String $string,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         $this->string = $string;
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/GoogleShopping/Helper/Product.php b/app/code/Magento/GoogleShopping/Helper/Product.php
index 9cb99dbc2a6..b8d0f2c168f 100644
--- a/app/code/Magento/GoogleShopping/Helper/Product.php
+++ b/app/code/Magento/GoogleShopping/Helper/Product.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\GoogleShopping\Helper;
 
-class Product extends \Magento\Core\Helper\AbstractHelper
+class Product extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Product attributes cache
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Edit/Form.php b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Edit/Form.php
index f587142e923..ee00cf2152c 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Edit/Form.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Edit/Form.php
@@ -45,27 +45,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_formatFactory;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\ImportExport\Model\Source\Export\EntityFactory $entityFactory
-     * @param \Magento\ImportExport\Model\Source\Export\FormatFactory $formatFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\ImportExport\Model\Source\Export\EntityFactory $entityFactory
+     * @param \Magento\ImportExport\Model\Source\Export\FormatFactory $formatFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\ImportExport\Model\Source\Export\EntityFactory $entityFactory,
-        \Magento\ImportExport\Model\Source\Export\FormatFactory $formatFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\ImportExport\Model\Source\Export\EntityFactory $entityFactory,
+        \Magento\ImportExport\Model\Source\Export\FormatFactory $formatFactory,
+        array $data = array()
+    ) {
         $this->_entityFactory = $entityFactory;
         $this->_formatFactory = $formatFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php
index a9b4ef4c74c..73c0251aa90 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Export/Filter.php
@@ -38,7 +38,7 @@ class Filter extends \Magento\Adminhtml\Block\Widget\Grid
     /**
      * Helper object.
      *
-     * @var \Magento\Core\Helper\AbstractHelper
+     * @var \Magento\App\Helper\AbstractHelper
      */
     protected $_helper;
 
@@ -49,32 +49,22 @@ class Filter extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_importExportData = null;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\ImportExport\Helper\Data $importExportData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\ImportExport\Helper\Data $importExportData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\ImportExport\Helper\Data $importExportData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\ImportExport\Helper\Data $importExportData,
+        array $data = array()
+    ) {
         $this->_importExportData = $importExportData;
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
@@ -111,9 +101,9 @@ class Filter extends \Magento\Adminhtml\Block\Widget\Grid
             'date_format'  => $this->_locale->getDateFormat(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT),
             'image'        => $this->getViewFileUrl('images/grid-cal.gif')
         );
-        /** @var $selectBlock \Magento\Core\Block\Html\Date */
+        /** @var $selectBlock \Magento\View\Block\Html\Date */
         $dateBlock = $this->_layout->getBlockFactory()->createBlock(
-            'Magento\Core\Block\Html\Date', array('data' => $arguments)
+            'Magento\View\Block\Html\Date', array('data' => $arguments)
         );
         $fromValue = null;
         $toValue   = null;
@@ -173,9 +163,9 @@ class Filter extends \Magento\Adminhtml\Block\Widget\Grid
                 'class'        => 'multiselect multiselect-export-filter',
                 'extra_params' => 'multiple="multiple" size="' . ($size > 5 ? 5 : ($size < 2 ? 2 : $size))
             );
-            /** @var $selectBlock \Magento\Core\Block\Html\Select */
+            /** @var $selectBlock \Magento\View\Block\Html\Select */
             $selectBlock = $this->_layout->getBlockFactory()->createBlock(
-                'Magento\Core\Block\Html\Select', array('data' => $arguments)
+                'Magento\View\Block\Html\Select', array('data' => $arguments)
             );
             return $selectBlock->setOptions($options)
                 ->setValue($value)
@@ -242,9 +232,9 @@ class Filter extends \Magento\Adminhtml\Block\Widget\Grid
                 'id'           => $this->getFilterElementId($attribute->getAttributeCode()),
                 'class'        => 'select select-export-filter'
             );
-            /** @var $selectBlock \Magento\Core\Block\Html\Select */
+            /** @var $selectBlock \Magento\View\Block\Html\Select */
             $selectBlock = $this->_layout->getBlockFactory()->createBlock(
-                'Magento\Core\Block\Html\Select', array('data' => $arguments)
+                'Magento\View\Block\Html\Select', array('data' => $arguments)
             );
             return $selectBlock->setOptions($options)
                 ->setValue($value)
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Form/After.php b/app/code/Magento/ImportExport/Block/Adminhtml/Form/After.php
index 64e337529d0..bd0c6128600 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Form/After.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Form/After.php
@@ -36,20 +36,20 @@ class After extends \Magento\Backend\Block\Template
      */
     protected $_registry;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_registry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Before.php b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Before.php
index 5220bc0a9f5..5eb2f8746a9 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Before.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Before.php
@@ -42,20 +42,20 @@ class Before extends \Magento\Backend\Block\Template
      */
     protected $_importModel;
 
-    /**
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\ImportExport\Model\Import $importModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\ImportExport\Model\Import $importModel
+     * @param array $data
      */
-    public function __construct(
-        \Magento\ImportExport\Model\Import $importModel,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\ImportExport\Model\Import $importModel,
+        array $data = array()
+    ) {
         $this->_importModel = $importModel;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
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 d0defb28848..a377f019bb2 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
@@ -52,29 +52,29 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_behaviorFactory;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\ImportExport\Model\Import $importModel
-     * @param \Magento\ImportExport\Model\Source\Import\EntityFactory $entityFactory
-     * @param \Magento\ImportExport\Model\Source\Import\Behavior\Factory $behaviorFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\ImportExport\Model\Import $importModel
+     * @param \Magento\ImportExport\Model\Source\Import\EntityFactory $entityFactory
+     * @param \Magento\ImportExport\Model\Source\Import\Behavior\Factory $behaviorFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\ImportExport\Model\Import $importModel,
-        \Magento\ImportExport\Model\Source\Import\EntityFactory $entityFactory,
-        \Magento\ImportExport\Model\Source\Import\Behavior\Factory $behaviorFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\ImportExport\Model\Import $importModel,
+        \Magento\ImportExport\Model\Source\Import\EntityFactory $entityFactory,
+        \Magento\ImportExport\Model\Source\Import\Behavior\Factory $behaviorFactory,
+        array $data = array()
+    ) {
         $this->_entityFactory = $entityFactory;
         $this->_behaviorFactory = $behaviorFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_importModel = $importModel;
     }
 
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Frame/Result.php b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Frame/Result.php
index 990008557d6..9d24b460241 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Frame/Result.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Frame/Result.php
@@ -182,8 +182,8 @@ class Result extends \Magento\Adminhtml\Block\Template
      */
     public function getMessagesHtml()
     {
-        /** @var $messagesBlock \Magento\Core\Block\Messages */
-        $messagesBlock = $this->_layout->createBlock('Magento\Core\Block\Messages');
+        /** @var $messagesBlock \Magento\View\Block\Messages */
+        $messagesBlock = $this->_layout->createBlock('Magento\View\Block\Messages');
 
         foreach ($this->_messages as $priority => $messages) {
             $method = "add{$priority}";
diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php
index bd10028a2cf..70420f30d4c 100644
--- a/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php
+++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Export.php
@@ -33,8 +33,25 @@
  */
 namespace Magento\ImportExport\Controller\Adminhtml;
 
-class Export extends \Magento\Backend\Controller\Adminhtml\Action
+class Export extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     /**
      * Initialize layout.
      *
@@ -42,9 +59,9 @@ class Export extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->_title(__('Import/Export'))
-            ->loadLayout()
-            ->_setActiveMenu('Magento_ImportExport::system_convert_export');
+        $this->_title->add(__('Import/Export'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_ImportExport::system_convert_export');
 
         return $this;
     }
@@ -72,7 +89,7 @@ class Export extends \Magento\Backend\Controller\Adminhtml\Action
                 $model = $this->_objectManager->create('Magento\ImportExport\Model\Export');
                 $model->setData($this->getRequest()->getParams());
 
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     $model->getFileName(),
                     $model->export(),
                     $model->getContentType()
@@ -96,11 +113,11 @@ class Export extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_initAction()
-            ->_title(__('Export'))
-            ->_addBreadcrumb(__('Export'), __('Export'));
+        $this->_initAction();
+        $this->_title->add(__('Export'));
+        $this->_addBreadcrumb(__('Export'), __('Export'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -113,10 +130,10 @@ class Export extends \Magento\Backend\Controller\Adminhtml\Action
         $data = $this->getRequest()->getParams();
         if ($this->getRequest()->isXmlHttpRequest() && $data) {
             try {
-                $this->loadLayout();
+                $this->_view->loadLayout();
 
                 /** @var $attrFilterBlock \Magento\ImportExport\Block\Adminhtml\Export\Filter */
-                $attrFilterBlock = $this->getLayout()->getBlock('export.filter');
+                $attrFilterBlock = $this->_view->getLayout()->getBlock('export.filter');
                 /** @var $export \Magento\ImportExport\Model\Export */
                 $export = $this->_objectManager->create('Magento\ImportExport\Model\Export');
                 $export->setData($data);
@@ -126,7 +143,7 @@ class Export extends \Magento\Backend\Controller\Adminhtml\Action
                         $export->getEntityAttributeCollection()
                     )
                 );
-                $this->renderLayout();
+                $this->_view->renderLayout();
                 return;
             } catch (\Exception $e) {
                 $this->_getSession()->addError($e->getMessage());
diff --git a/app/code/Magento/ImportExport/Controller/Adminhtml/Import.php b/app/code/Magento/ImportExport/Controller/Adminhtml/Import.php
index 31bf54ec3cc..cb6fa4abe66 100644
--- a/app/code/Magento/ImportExport/Controller/Adminhtml/Import.php
+++ b/app/code/Magento/ImportExport/Controller/Adminhtml/Import.php
@@ -33,8 +33,17 @@
  */
 namespace Magento\ImportExport\Controller\Adminhtml;
 
-class Import extends \Magento\Backend\Controller\Adminhtml\Action
+class Import extends \Magento\Backend\App\Action
 {
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context
+    ) {
+        parent::__construct($context);
+    }
+
     /**
      * Initialize layout.
      *
@@ -42,9 +51,9 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->_title(__('Import/Export'))
-            ->loadLayout()
-            ->_setActiveMenu('Magento_ImportExport::system_convert_import');
+        $this->_title->add(__('Import/Export'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_ImportExport::system_convert_import');
         return $this;
     }
 
@@ -65,8 +74,10 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_getSession()->addNotice($this->_objectManager->get('Magento\ImportExport\Helper\Data')
             ->getMaxUploadSizeMessage());
-        $this->_initAction()->_title(__('Import'))->_addBreadcrumb(__('Import'), __('Import'));
-        $this->renderLayout();
+        $this->_initAction();
+        $this->_title->add(__('Import'));
+        $this->_addBreadcrumb(__('Import'), __('Import'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -76,10 +87,10 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $data = $this->getRequest()->getPost();
         if ($data) {
-            $this->loadLayout(false);
+            $this->_view->loadLayout(false);
 
             /** @var $resultBlock \Magento\ImportExport\Block\Adminhtml\Import\Frame\Result */
-            $resultBlock = $this->getLayout()->getBlock('import.frame.result');
+            $resultBlock = $this->_view->getLayout()->getBlock('import.frame.result');
             /** @var $importModel \Magento\ImportExport\Model\Import */
             $importModel = $this->_objectManager->create('Magento\ImportExport\Model\Import');
 
@@ -90,12 +101,12 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
                     ->addAction('innerHTML', 'import_validation_container_header', __('Status'));
             } catch (\Exception $e) {
                 $resultBlock->addError($e->getMessage());
-                $this->renderLayout();
+                $this->_view->renderLayout();
                 return;
             }
             $resultBlock->addAction('hide', array('edit_form', 'upload_button', 'messages'))
                 ->addSuccess(__('Import successfully done'));
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('adminhtml/*/index');
         }
@@ -108,9 +119,9 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $data = $this->getRequest()->getPost();
         if ($data) {
-            $this->loadLayout(false);
+            $this->_view->loadLayout(false);
             /** @var $resultBlock \Magento\ImportExport\Block\Adminhtml\Import\Frame\Result */
-            $resultBlock = $this->getLayout()->getBlock('import.frame.result');
+            $resultBlock = $this->_view->getLayout()->getBlock('import.frame.result');
             // common actions
             $resultBlock->addAction('show', 'import_validation_container')
                 ->addAction('clear', array(
@@ -152,12 +163,12 @@ class Import extends \Magento\Backend\Controller\Adminhtml\Action
                 $resultBlock->addNotice(__('Please fix errors and re-upload file.'))
                     ->addError($e->getMessage());
             }
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } elseif ($this->getRequest()->isPost() && empty($_FILES)) {
-            $this->loadLayout(false);
-            $resultBlock = $this->getLayout()->getBlock('import.frame.result');
+            $this->_view->loadLayout(false);
+            $resultBlock = $this->_view->getLayout()->getBlock('import.frame.result');
             $resultBlock->addError(__('File was not uploaded'));
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } else {
             $this->_getSession()->addError(__('Data is invalid or file is not uploaded'));
             $this->_redirect('adminhtml/*/index');
diff --git a/app/code/Magento/ImportExport/Helper/Data.php b/app/code/Magento/ImportExport/Helper/Data.php
index d0f0e8f8e9d..e193521ffe9 100644
--- a/app/code/Magento/ImportExport/Helper/Data.php
+++ b/app/code/Magento/ImportExport/Helper/Data.php
@@ -48,18 +48,18 @@ class Data extends \Magento\Core\Helper\Data
     protected $_fileSize;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\File\Size $fileSize
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\File\Size $fileSize,
diff --git a/app/code/Magento/ImportExport/Model/Export/Entity/Product.php b/app/code/Magento/ImportExport/Model/Export/Entity/Product.php
index 1be584e755c..6fa192e70b7 100644
--- a/app/code/Magento/ImportExport/Model/Export/Entity/Product.php
+++ b/app/code/Magento/ImportExport/Model/Export/Entity/Product.php
@@ -197,7 +197,7 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity
     protected $_typeFactory;
 
     /**
-     * @param \Magento\Core\Model\LocaleInterface $localeInterface
+     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Eav\Model\Config $config
      * @param \Magento\App\Resource $resource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -213,7 +213,7 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity
      * @param \Magento\ImportExport\Model\Export\Entity\Product\Type\Factory $_typeFactory
      */
     public function __construct(
-        \Magento\Core\Model\LocaleInterface $localeInterface,
+        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Eav\Model\Config $config,
         \Magento\App\Resource $resource,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -240,7 +240,7 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity
         $this->_attributeColFactory = $attributeColFactory;
         $this->_typeFactory = $_typeFactory;
 
-        parent::__construct($localeInterface, $config, $resource, $storeManager);
+        parent::__construct($locale, $config, $resource, $storeManager);
 
         $this->_initTypeModels()
             ->_initAttributes()
diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
index 05cf9bbc440..bef3264b420 100644
--- a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
+++ b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
@@ -346,7 +346,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
     protected $_productFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -413,7 +413,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
      * @param \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryColFactory
      * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $groupColFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\ImportExport\Model\Import\Entity\Product\Type\Factory $productTypeFactory
      * @param \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory
      * @param \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory
@@ -443,7 +443,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
         \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryColFactory,
         \Magento\Customer\Model\Resource\Group\CollectionFactory $groupColFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\ImportExport\Model\Import\Entity\Product\Type\Factory $productTypeFactory,
         \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory,
         \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory,
diff --git a/app/code/Magento/ImportExport/view/adminhtml/layout/adminhtml_import_busy.xml b/app/code/Magento/ImportExport/view/adminhtml/layout/adminhtml_import_busy.xml
index cdcc70687c0..a48e1dd20f9 100644
--- a/app/code/Magento/ImportExport/view/adminhtml/layout/adminhtml_import_busy.xml
+++ b/app/code/Magento/ImportExport/view/adminhtml/layout/adminhtml_import_busy.xml
@@ -25,6 +25,6 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" template="Magento_ImportExport::busy.phtml" name="busy" as="busy"/>
+        <block class="Magento\View\Block\Template" template="Magento_ImportExport::busy.phtml" name="busy" as="busy"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Index/Block/Adminhtml/Process/Edit.php b/app/code/Magento/Index/Block/Adminhtml/Process/Edit.php
index dd7e9f9018e..6d051b774a0 100644
--- a/app/code/Magento/Index/Block/Adminhtml/Process/Edit.php
+++ b/app/code/Magento/Index/Block/Adminhtml/Process/Edit.php
@@ -35,20 +35,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Index/Block/Adminhtml/Process/Grid.php b/app/code/Magento/Index/Block/Adminhtml/Process/Grid.php
index 6724e973069..ed044631d8b 100644
--- a/app/code/Magento/Index/Block/Adminhtml/Process/Grid.php
+++ b/app/code/Magento/Index/Block/Adminhtml/Process/Grid.php
@@ -54,27 +54,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Index\Model\Resource\Process\CollectionFactory $factory
-     * @param \Magento\Index\Model\Process $indexProcess
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Index\Model\EventRepository $eventRepository
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Index\Model\Resource\Process\CollectionFactory $factory
+     * @param \Magento\Index\Model\Process $indexProcess
+     * @param \Magento\Index\Model\EventRepository $eventRepository
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Index\Model\Resource\Process\CollectionFactory $factory,
-        \Magento\Index\Model\Process $indexProcess,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Index\Model\EventRepository $eventRepository,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Index\Model\Resource\Process\CollectionFactory $factory,
+        \Magento\Index\Model\Process $indexProcess,
+        \Magento\Index\Model\EventRepository $eventRepository,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $urlModel, $data);
         $this->_eventRepository = $eventRepository;
         $this->_indexProcess = $indexProcess;
         $this->_collectionFactory = $factory;
diff --git a/app/code/Magento/Index/Controller/Adminhtml/Process.php b/app/code/Magento/Index/Controller/Adminhtml/Process.php
index c78ca4d13f5..a93292cff0c 100644
--- a/app/code/Magento/Index/Controller/Adminhtml/Process.php
+++ b/app/code/Magento/Index/Controller/Adminhtml/Process.php
@@ -25,7 +25,9 @@
  */
 namespace Magento\Index\Controller\Adminhtml;
 
-class Process extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Process extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -45,13 +47,13 @@ class Process extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_indexer;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Index\Model\ProcessFactory $processFactory
      * @param \Magento\Index\Model\Indexer $indexer
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Index\Model\ProcessFactory $processFactory,
         \Magento\Index\Model\Indexer $indexer
@@ -85,12 +87,12 @@ class Process extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function listAction()
     {
-        $this->_title(__('Index Management'));
+        $this->_title->add(__('Index Management'));
 
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Index::system_index');
-        $this->_addContent($this->getLayout()->createBlock('Magento\Index\Block\Adminhtml\Process'));
-        $this->renderLayout();
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Index\Block\Adminhtml\Process'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -101,15 +103,14 @@ class Process extends \Magento\Backend\Controller\Adminhtml\Action
         /** @var $process \Magento\Index\Model\Process */
         $process = $this->_initProcess();
         if ($process) {
-            $this->_title($process->getIndexCode());
-
-            $this->_title(__('System'))
-                 ->_title(__('Index Management'))
-                 ->_title(__($process->getIndexer()->getName()));
+            $this->_title->add($process->getIndexCode());
+            $this->_title->add(__('System'));
+            $this->_title->add(__('Index Management'));
+            $this->_title->add(__($process->getIndexer()->getName()));
 
             $this->_coreRegistry->register('current_index_process', $process);
-            $this->loadLayout();
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->renderLayout();
         } else {
             $this->_getSession()->addError(
                 __('Cannot initialize the indexer process.')
diff --git a/app/code/Magento/Index/Helper/Data.php b/app/code/Magento/Index/Helper/Data.php
index 6bb8f397e6a..721240e5ac8 100644
--- a/app/code/Magento/Index/Helper/Data.php
+++ b/app/code/Magento/Index/Helper/Data.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Index\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Index/Model/Process.php b/app/code/Magento/Index/Model/Process.php
index 800068cf3dd..eca1e4506f9 100644
--- a/app/code/Magento/Index/Model/Process.php
+++ b/app/code/Magento/Index/Model/Process.php
@@ -96,13 +96,6 @@ class Process extends \Magento\Core\Model\AbstractModel
      */
     protected $_eventRepository;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Index\Model\IndexerFactory
      */
@@ -127,7 +120,6 @@ 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\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig
      * @param \Magento\Core\Model\Registry $registry
@@ -143,7 +135,6 @@ 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\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig,
         \Magento\Core\Model\Registry $registry,
@@ -153,7 +144,6 @@ class Process extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
         $this->_indexerConfig = $indexerConfig;
         $this->_indexerFactory = $indexerFactory;
diff --git a/app/code/Magento/Install/App/Action/Plugin/Design.php b/app/code/Magento/Install/App/Action/Plugin/Design.php
new file mode 100644
index 00000000000..141bd171386
--- /dev/null
+++ b/app/code/Magento/Install/App/Action/Plugin/Design.php
@@ -0,0 +1,98 @@
+<?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\Install\App\Action\Plugin;
+
+class Design
+{
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\Core\Model\App
+     */
+    protected $_app;
+
+    /**
+     * @var \Magento\View\LayoutInterface
+     */
+    protected $_layout;
+
+    /**
+     * @var \Magento\Core\Model\Theme\CollectionFactory
+     */
+    protected $_collectionFactory;
+
+    /**
+     * @var \Magento\View\DesignInterface
+     */
+    protected $_viewDesign;
+
+    /**
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\Core\Model\App $app
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\View\DesignInterface $viewDesign
+     * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
+     */
+    public function __construct(
+        \Magento\App\RequestInterface $request,
+        \Magento\Core\Model\App $app,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\View\DesignInterface $viewDesign,
+        \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
+    ) {
+        $this->_viewDesign = $viewDesign;
+        $this->_collectionFactory = $collectionFactory;
+        $this->_request = $request;
+        $this->_app = $app;
+        $this->_layout = $layout;
+    }
+
+    /**
+     * Initialize design
+     *
+     * @param array $arguments
+     * @return array
+     */
+    public function beforeDispatch(array $arguments = array())
+    {
+        $areaCode = $this->_layout->getArea();
+        $area = $this->_app->getArea($areaCode);
+        $area->load(\Magento\Core\Model\App\Area::PART_CONFIG);
+
+        /** @var $themesCollection \Magento\Core\Model\Theme\Collection */
+        $themesCollection = $this->_collectionFactory->create();
+        $themeModel = $themesCollection->addDefaultPattern($areaCode)
+            ->addFilter('theme_path', $this->_viewDesign->getConfigurationDesignTheme($areaCode))
+            ->getFirstItem();
+        $this->_viewDesign->setArea($areaCode)->setDesignTheme($themeModel);
+
+        $area->detectDesign($this->_request);
+        $area->load(\Magento\Core\Model\App\Area::PART_TRANSLATE);
+        return $arguments;
+    }
+}
diff --git a/app/code/Magento/Install/App/Action/Plugin/Dir.php b/app/code/Magento/Install/App/Action/Plugin/Dir.php
new file mode 100644
index 00000000000..ef69bf6fdc8
--- /dev/null
+++ b/app/code/Magento/Install/App/Action/Plugin/Dir.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\Install\App\Action\Plugin;
+
+class Dir
+{
+    /**
+     * Application state
+     *
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * Directory list
+     *
+     * @var \Magento\App\Dir
+     */
+    protected $_dir;
+
+    /**
+     * @param \Magento\App\State $state
+     * @param \Magento\App\Dir $dir
+     */
+    public function __construct(\Magento\App\State $state, \Magento\App\Dir $dir)
+    {
+        $this->_appState = $state;
+        $this->_dir = $dir;
+    }
+
+    /**
+     * Clear temporary directories
+     *
+     * @param $arguments
+     * @return mixed
+     */
+    public function beforeDispatch($arguments)
+    {
+        if (!$this->_appState->isInstalled()) {
+            foreach (glob($this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
+                \Magento\Io\File::rmdirRecursive($dir);
+            }
+        }
+        return $arguments;
+    }
+} 
\ No newline at end of file
diff --git a/app/code/Magento/Install/Block/AbstractBlock.php b/app/code/Magento/Install/Block/AbstractBlock.php
index 2fd793de195..665037b57f5 100644
--- a/app/code/Magento/Install/Block/AbstractBlock.php
+++ b/app/code/Magento/Install/Block/AbstractBlock.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Install\Block;
 
-abstract class AbstractBlock extends \Magento\Core\Block\Template
+abstract class AbstractBlock extends \Magento\View\Block\Template
 {
     /**
      * Installer model
@@ -55,22 +55,22 @@ abstract class AbstractBlock extends \Magento\Core\Block\Template
     protected $_session;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $installWizard
      * @param \Magento\Core\Model\Session\Generic $session
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $installWizard,
         \Magento\Core\Model\Session\Generic $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_installer = $installer;
         $this->_installWizard = $installWizard;
         $this->_session = $session;
diff --git a/app/code/Magento/Install/Block/Begin.php b/app/code/Magento/Install/Block/Begin.php
index 4435ba3bb17..fba6e31329b 100644
--- a/app/code/Magento/Install/Block/Begin.php
+++ b/app/code/Magento/Install/Block/Begin.php
@@ -41,24 +41,24 @@ class Begin extends \Magento\Install\Block\AbstractBlock
     protected $_eulaFile;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $installWizard
      * @param \Magento\Core\Model\Session\Generic $session
      * @param array $data
-     * @param string|null $eulaFile
+     * @param null $eulaFile
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $installWizard,
         \Magento\Core\Model\Session\Generic $session,
-        $eulaFile = null,
-        array $data = array()
+        array $data = array(),
+        $eulaFile = null
     ) {
-        parent::__construct($coreData, $context, $installer, $installWizard, $session, $data);
+        parent::__construct($context, $coreData, $installer, $installWizard, $session, $data);
         $this->_eulaFile = $eulaFile;
     }
 
diff --git a/app/code/Magento/Install/Block/Config.php b/app/code/Magento/Install/Block/Config.php
index 57d95f0f017..bfdf6e0bc09 100644
--- a/app/code/Magento/Install/Block/Config.php
+++ b/app/code/Magento/Install/Block/Config.php
@@ -46,8 +46,8 @@ class Config extends \Magento\Install\Block\AbstractBlock
     protected $_installerConfig = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $installWizard
      * @param \Magento\Core\Model\Session\Generic $session
@@ -55,15 +55,15 @@ class Config extends \Magento\Install\Block\AbstractBlock
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $installWizard,
         \Magento\Core\Model\Session\Generic $session,
         \Magento\Install\Model\Installer\Config $installerConfig,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $installer, $installWizard, $session, $data);
+        parent::__construct($context, $coreData, $installer, $installWizard, $session, $data);
         $this->_installerConfig = $installerConfig;
     }
 
@@ -129,7 +129,7 @@ class Config extends \Magento\Install\Block\AbstractBlock
      */
     public function getSessionSaveSelect()
     {
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('config[session_save]')
             ->setId('session_save')
             ->setTitle(__('Save Session Files In'))
diff --git a/app/code/Magento/Install/Block/Db/Main.php b/app/code/Magento/Install/Block/Db/Main.php
index 7f0d1bbb3ca..b5d539b612c 100644
--- a/app/code/Magento/Install/Block/Db/Main.php
+++ b/app/code/Magento/Install/Block/Db/Main.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Install\Block\Db;
 
-class Main extends \Magento\Core\Block\Template
+class Main extends \Magento\View\Block\Template
 {
     /**
      * Array of Database blocks keyed by name
@@ -53,20 +53,20 @@ class Main extends \Magento\Core\Block\Template
     protected $_session;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer\Config $installerConfig
      * @param \Magento\Core\Model\Session\Generic $session
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer\Config $installerConfig,
         \Magento\Core\Model\Session\Generic $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_installerConfig = $installerConfig;
         $this->_session = $session;
     }
@@ -94,7 +94,7 @@ class Main extends \Magento\Core\Block\Template
      * Retrieve database block by type
      *
      * @param  string $type database model type
-     * @return bool|\Magento\Core\Block\Template
+     * @return bool|\Magento\View\Block\Template
      */
     public function getDatabaseBlock($type)
     {
diff --git a/app/code/Magento/Install/Block/Db/Type.php b/app/code/Magento/Install/Block/Db/Type.php
index f7d338eea6b..da98e41996c 100644
--- a/app/code/Magento/Install/Block/Db/Type.php
+++ b/app/code/Magento/Install/Block/Db/Type.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Install\Block\Db;
 
-class Type extends \Magento\Core\Block\Template
+class Type extends \Magento\View\Block\Template
 {
     /**
      * Db title
@@ -55,20 +55,20 @@ class Type extends \Magento\Core\Block\Template
     protected $_session;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer\Config $installerConfig
      * @param \Magento\Core\Model\Session\Generic $session
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer\Config $installerConfig,
         \Magento\Core\Model\Session\Generic $session,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_installerConfig = $installerConfig;
         $this->_session = $session;
     }
diff --git a/app/code/Magento/Install/Block/Download.php b/app/code/Magento/Install/Block/Download.php
index bd7b215abd9..2538c54aecd 100644
--- a/app/code/Magento/Install/Block/Download.php
+++ b/app/code/Magento/Install/Block/Download.php
@@ -44,8 +44,8 @@ class Download extends \Magento\Install\Block\AbstractBlock
     protected $_moduleReader;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $installWizard
      * @param \Magento\Core\Model\Session\Generic $session
@@ -53,15 +53,15 @@ class Download extends \Magento\Install\Block\AbstractBlock
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $installWizard,
         \Magento\Core\Model\Session\Generic $session,
         \Magento\Module\Dir\Reader $moduleReader,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $installer, $installWizard, $session, $data);
+        parent::__construct($context, $coreData, $installer, $installWizard, $session, $data);
         $this->_moduleReader = $moduleReader;
     }
 
diff --git a/app/code/Magento/Install/Block/End.php b/app/code/Magento/Install/Block/End.php
index 8f3a7f3c056..1b40bb5aaa2 100644
--- a/app/code/Magento/Install/Block/End.php
+++ b/app/code/Magento/Install/Block/End.php
@@ -56,29 +56,29 @@ class End extends \Magento\Install\Block\AbstractBlock
     protected $_cryptKey;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\AdminNotification\Model\Survey $survey
-     * @param \Magento\Core\Model\Session\Generic $cryptKey
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $installWizard
      * @param \Magento\Core\Model\Session\Generic $session
+     * @param \Magento\Core\Model\Config $coreConfig
+     * @param \Magento\AdminNotification\Model\Survey $survey
+     * @param $cryptKey
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Config $coreConfig,
-        \Magento\AdminNotification\Model\Survey $survey,
-        $cryptKey,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $installWizard,
         \Magento\Core\Model\Session\Generic $session,
+        \Magento\Core\Model\Config $coreConfig,
+        \Magento\AdminNotification\Model\Survey $survey,
+        $cryptKey,
         array $data = array()
     ) {
         $this->_cryptKey = $cryptKey;
-        parent::__construct($coreData, $context, $installer, $installWizard, $session, $data);
+        parent::__construct($context, $coreData, $installer, $installWizard, $session, $data);
         $this->_coreConfig = $coreConfig;
         $this->_survey = $survey;
     }
diff --git a/app/code/Magento/Install/Block/Locale.php b/app/code/Magento/Install/Block/Locale.php
index 5e5aed3f4b7..4ccad27be71 100644
--- a/app/code/Magento/Install/Block/Locale.php
+++ b/app/code/Magento/Install/Block/Locale.php
@@ -38,34 +38,6 @@ class Locale extends \Magento\Install\Block\AbstractBlock
 
     protected $_template = 'locale.phtml';
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Install\Model\Installer $installer
-     * @param \Magento\Install\Model\Wizard $installWizard
-     * @param \Magento\Core\Model\Session\Generic $session
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Install\Model\Installer $installer,
-        \Magento\Install\Model\Wizard $installWizard,
-        \Magento\Core\Model\Session\Generic $session,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $installer, $installWizard, $session, $data);
-        $this->_locale = $locale;
-    }
-
-
     /**
      * Retrieve locale object
      *
@@ -108,7 +80,7 @@ class Locale extends \Magento\Install\Block\AbstractBlock
      */
     public function getLocaleSelect()
     {
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('config[locale]')
             ->setId('locale')
             ->setTitle(__('Locale'))
@@ -126,7 +98,7 @@ class Locale extends \Magento\Install\Block\AbstractBlock
      */
     public function getTimezoneSelect()
     {
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('config[timezone]')
             ->setId('timezone')
             ->setTitle(__('Time Zone'))
@@ -160,7 +132,7 @@ class Locale extends \Magento\Install\Block\AbstractBlock
      */
     public function getCurrencySelect()
     {
-        $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('config[currency]')
             ->setId('currency')
             ->setTitle(__('Default Currency'))
diff --git a/app/code/Magento/Install/Block/State.php b/app/code/Magento/Install/Block/State.php
index c4786b1e328..eb11b30b60e 100644
--- a/app/code/Magento/Install/Block/State.php
+++ b/app/code/Magento/Install/Block/State.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Install\Block;
 
-class State extends \Magento\Core\Block\Template
+class State extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -55,20 +55,20 @@ class State extends \Magento\Core\Block\Template
     protected $_cookie;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Install\Model\Wizard $wizard
      * @param \Magento\Core\Model\Cookie $cookie
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Install\Model\Wizard $wizard,
         \Magento\Core\Model\Cookie $cookie,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_wizard = $wizard;
         $this->_cookie = $cookie;
 
diff --git a/app/code/Magento/Install/Controller/Action.php b/app/code/Magento/Install/Controller/Action.php
index 7eabca0122d..79d74b607fd 100644
--- a/app/code/Magento/Install/Controller/Action.php
+++ b/app/code/Magento/Install/Controller/Action.php
@@ -24,102 +24,17 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Install\Controller;
 
-class Action extends \Magento\Core\Controller\Varien\Action
+class Action extends \Magento\App\Action\Action
 {
     /**
-     * @var \Magento\Config\Scope
-     */
-    protected $_configScope;
-
-    /**
-     * @var \Magento\View\DesignInterface
-     */
-    protected $_viewDesign;
-
-    /**
-     * @var \Magento\Core\Model\Theme\CollectionFactory
-     */
-    protected $collectionFactory;
-
-    /**
-     * Application
-     *
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app;
-
-    /**
-     * Application state
-     *
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @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\App\State $appState
      */
-    public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Config\Scope $configScope,
-        \Magento\View\DesignInterface $viewDesign,
-        \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\App $app,
-        \Magento\App\State $appState
-    ) {
-        $this->_configScope = $configScope;
-        $this->_viewDesign = $viewDesign;
-        $this->collectionFactory = $collectionFactory;
-        $this->_app = $app;
-        $this->_appState = $appState;
-        parent::__construct($context);
-    }
-
-    protected function _construct()
+    public function __construct(\Magento\App\Action\Context $context, \Magento\Config\Scope $configScope)
     {
-        parent::_construct();
-
-        $this->_configScope->setCurrentScope('install');
-        $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
-    }
-
-    /**
-     * Initialize area and design
-     *
-     * @return \Magento\Install\Controller\Action
-     */
-    protected function _initDesign()
-    {
-        $areaCode = $this->getLayout()->getArea();
-        $area = $this->_app->getArea($areaCode);
-        $area->load(\Magento\Core\Model\App\Area::PART_CONFIG);
-        $this->_initDefaultTheme($areaCode);
-        $area->detectDesign($this->getRequest());
-        $area->load(\Magento\Core\Model\App\Area::PART_TRANSLATE);
-        return $this;
-    }
-
-    /**
-     * Initialize theme
-     *
-     * @param string $areaCode
-     * @return \Magento\Install\Controller\Action
-     */
-    protected function _initDefaultTheme($areaCode)
-    {
-        /** @var $themesCollection \Magento\Core\Model\Theme\Collection */
-        $themesCollection = $this->collectionFactory->create();
-        $themeModel = $themesCollection->addDefaultPattern($areaCode)
-            ->addFilter('theme_path', $this->_viewDesign->getConfigurationDesignTheme($areaCode))
-            ->getFirstItem();
-        $this->_viewDesign->setArea($areaCode)->setDesignTheme($themeModel);
-        return $this;
+        parent::__construct($context);
+        $configScope->setCurrentScope('install');
     }
 }
diff --git a/app/code/Magento/Install/Controller/Index.php b/app/code/Magento/Install/Controller/Index.php
index 6c62e0aecd3..dad316c7217 100644
--- a/app/code/Magento/Install/Controller/Index.php
+++ b/app/code/Magento/Install/Controller/Index.php
@@ -33,46 +33,14 @@ namespace Magento\Install\Controller;
 class Index extends \Magento\Install\Controller\Action
 {
     /**
-     * Core directory model
-     *
-     * @var \Magento\App\Dir
-     */
-    protected $_coreDir;
-
-    /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @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\App\State $appState
-     * @param \Magento\App\Dir $coreDir
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Config\Scope $configScope,
-        \Magento\View\DesignInterface $viewDesign,
-        \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\App $app,
-        \Magento\App\State $appState,
-        \Magento\App\Dir $coreDir
+        \Magento\App\Action\Context $context,
+        \Magento\Config\Scope $configScope
     ) {
-        $this->_coreDir = $coreDir;
-        parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
-    }
-
-    /**
-     * Dispatch event before action
-     */
-    public function preDispatch()
-    {
-        $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
-        if (!$this->_appState->isInstalled()) {
-            foreach (glob($this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
-                \Magento\Io\File::rmdirRecursive($dir);
-            }
-        }
-        parent::preDispatch();
+        parent::__construct($context, $configScope);
     }
 
     /**
diff --git a/app/code/Magento/Install/Controller/Wizard.php b/app/code/Magento/Install/Controller/Wizard.php
index fca33f531d1..9fff9f4b7d5 100644
--- a/app/code/Magento/Install/Controller/Wizard.php
+++ b/app/code/Magento/Install/Controller/Wizard.php
@@ -29,8 +29,18 @@
  */
 namespace Magento\Install\Controller;
 
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
 class Wizard extends \Magento\Install\Controller\Action
 {
+    /**
+     * Application state
+     *
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
     /**
      * Installer Model
      *
@@ -60,44 +70,32 @@ class Wizard extends \Magento\Install\Controller\Action
     protected $_dbUpdater;
 
     /**
-     * Store Manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @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\App\State $appState
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $wizard
      * @param \Magento\Core\Model\Session\Generic $session
      * @param \Magento\Module\UpdaterInterface $dbUpdater
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\State $appState
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Config\Scope $configScope,
-        \Magento\View\DesignInterface $viewDesign,
-        \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\App $app,
-        \Magento\App\State $appState,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $wizard,
         \Magento\Core\Model\Session\Generic $session,
         \Magento\Module\UpdaterInterface $dbUpdater,
-        \Magento\Core\Model\StoreManagerInterface $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\App\State $appState
     ) {
+        $this->_storeManager = $storeManager;
+        parent::__construct($context, $configScope);
         $this->_installer = $installer;
         $this->_wizard = $wizard;
         $this->_session = $session;
         $this->_dbUpdater = $dbUpdater;
-        $this->_storeManager = $storeManager;
-        parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
+        $this->_appState = $appState;
     }
 
     /**
@@ -106,18 +104,16 @@ class Wizard extends \Magento\Install\Controller\Action
      * Redirect out if system is already installed
      * Throw a bootstrap exception if page cannot be displayed due to mis-configured base directories
      *
-     * @throws \Magento\BootstrapException
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
         if ($this->_appState->isInstalled()) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             $this->_redirect('/');
-            return;
         }
-
-        $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
-        return parent::preDispatch();
+        return parent::dispatch($request);
     }
 
     /**
@@ -147,13 +143,13 @@ class Wizard extends \Magento\Install\Controller\Action
      */
     protected function _prepareLayout()
     {
-        $this->loadLayout('install_wizard');
+        $this->_view->loadLayout('install_wizard');
         $step = $this->_getWizard()->getStepByRequest($this->getRequest());
         if ($step) {
             $step->setActive(true);
         }
 
-        $this->getLayout()->addBlock('Magento\Install\Block\State', 'install.state', 'left');
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\State', 'install.state', 'left');
         return $this;
     }
 
@@ -189,15 +185,15 @@ class Wizard extends \Magento\Install\Controller\Action
     {
         $this->_checkIfInstalled();
 
-        $this->setFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
 
-        $this->getLayout()->addBlock('Magento\Install\Block\Begin', 'install.begin', 'content');
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\Begin', 'install.begin', 'content');
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -221,14 +217,14 @@ class Wizard extends \Magento\Install\Controller\Action
     public function localeAction()
     {
         $this->_checkIfInstalled();
-        $this->setFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
-        $this->getLayout()->addBlock('Magento\Install\Block\Locale', 'install.locale', 'content');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\Locale', 'install.locale', 'content');
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -272,14 +268,14 @@ class Wizard extends \Magento\Install\Controller\Action
     public function downloadAction()
     {
         $this->_checkIfInstalled();
-        $this->setFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
-        $this->getLayout()->addBlock('Magento\Install\Block\Download', 'install.download', 'content');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\Download', 'install.download', 'content');
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -347,7 +343,7 @@ class Wizard extends \Magento\Install\Controller\Action
             $params['failure_callback'] = array($this, 'installFailureCallback');
         }
         $pear->runHtmlConsole($params);
-        $this->_frontController->getResponse()->clearAllHeaders();
+        $this->getResponse()->clearAllHeaders();
     }
 
     /**
@@ -383,8 +379,8 @@ class Wizard extends \Magento\Install\Controller\Action
         $this->_checkIfInstalled();
         $this->_getInstaller()->checkServer();
 
-        $this->setFlag('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
-        $this->setFlag('', self::FLAG_NO_POST_DISPATCH, true);
+        $this->_actionFlag->set('', self::FLAG_NO_DISPATCH_BLOCK_EVENT, true);
+        $this->_actionFlag->set('', self::FLAG_NO_POST_DISPATCH, true);
 
         $data = $this->getRequest()->getQuery('config');
         if ($data) {
@@ -392,10 +388,10 @@ class Wizard extends \Magento\Install\Controller\Action
         }
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
-        $this->getLayout()->addBlock('Magento\Install\Block\Config', 'install.config', 'content');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\Config', 'install.config', 'content');
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -461,10 +457,10 @@ class Wizard extends \Magento\Install\Controller\Action
         $this->_checkIfInstalled();
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
 
-        $this->getLayout()->addBlock('Magento\Install\Block\Admin', 'install.administrator', 'content');
-        $this->renderLayout();
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\Admin', 'install.administrator', 'content');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -511,10 +507,10 @@ class Wizard extends \Magento\Install\Controller\Action
         $this->_objectManager->get('Magento\AdminNotification\Model\Survey')->saveSurveyViewed(true);
 
         $this->_prepareLayout();
-        $this->_initLayoutMessages('Magento\Install\Model\Session');
+        $this->_view->getLayout()->initMessages('Magento\Install\Model\Session');
 
-        $this->getLayout()->addBlock('Magento\Install\Block\End', 'install.end', 'content');
-        $this->renderLayout();
+        $this->_view->getLayout()->addBlock('Magento\Install\Block\End', 'install.end', 'content');
+        $this->_view->renderLayout();
         $this->_session->clear();
     }
 }
diff --git a/app/code/Magento/Install/Helper/Data.php b/app/code/Magento/Install/Helper/Data.php
index 26e3afa8b42..b7bd0bb94d6 100644
--- a/app/code/Magento/Install/Helper/Data.php
+++ b/app/code/Magento/Install/Helper/Data.php
@@ -29,6 +29,6 @@
  */
 namespace Magento\Install\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Install/Model/Installer/Console.php b/app/code/Magento/Install/Model/Installer/Console.php
index 22d41dcbdc3..8eebe52e3f3 100644
--- a/app/code/Magento/Install/Model/Installer/Console.php
+++ b/app/code/Magento/Install/Model/Installer/Console.php
@@ -374,7 +374,7 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
             return $encryptionKey;
         } catch (\Exception $e) {
             if ($e instanceof \Magento\Core\Exception) {
-                foreach ($e->getMessages(\Magento\Core\Model\Message::ERROR) as $errorMessage) {
+                foreach ($e->getMessages(\Magento\Message\Factory::ERROR) as $errorMessage) {
                     $this->addError($errorMessage);
                 }
             } else {
diff --git a/app/code/Magento/Install/etc/install/di.xml b/app/code/Magento/Install/etc/install/di.xml
index 68d9ba11772..b178b890554 100644
--- a/app/code/Magento/Install/etc/install/di.xml
+++ b/app/code/Magento/Install/etc/install/di.xml
@@ -36,4 +36,11 @@
             </value>
         </param>
     </type>
+    <type name="Magento\Install\Controller\Action">
+        <plugin name="installInitializer" disabled="true" />
+        <plugin name="designLoader" type="Magento\Install\App\Action\Plugin\Design" />
+    </type>
+    <type name="Magento\Install\Controller\Index">
+        <plugin name="directoryCleaner" type="Magento\Install\App\Action\Plugin\Dir" sortOrder="10"/>
+    </type>
 </config>
diff --git a/app/code/Magento/Install/view/install/layout/install_wizard.xml b/app/code/Magento/Install/view/install/layout/install_wizard.xml
index 275de31d64f..c955a0c2904 100644
--- a/app/code/Magento/Install/view/install/layout/install_wizard.xml
+++ b/app/code/Magento/Install/view/install/layout/install_wizard.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="root" output="1">
+    <block class="Magento\View\Block\Template" name="root" output="1">
         <action method="setTemplate">
             <argument name="template" xsi:type="string">Magento_Install::page.phtml</argument>
         </action>
diff --git a/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit.php b/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit.php
index 457cd8a66c2..59f577305da 100644
--- a/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit.php
+++ b/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit.php
@@ -36,22 +36,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_registry = null;
 
-    /**
-     * Initialize dependencies.
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_registry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit/Tab/Info.php b/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit/Tab/Info.php
index 1280eca8bfa..36a404873d3 100644
--- a/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit/Tab/Info.php
+++ b/app/code/Magento/Integration/Block/Adminhtml/Integration/Edit/Tab/Info.php
@@ -52,25 +52,23 @@ class Info extends \Magento\Backend\Block\Widget\Form\Generic
     const DATA_ENDPOINT = 'endpoint';
     /**#@-*/
 
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
-     * @param \Magento\Integration\Model\Integration\Source\Authentication $authTypeSource
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Integration\Model\Integration\Source\Authentication $authTypeSource
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Integration\Model\Integration\Source\Authentication $authTypeSource,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Integration\Model\Integration\Source\Authentication $authTypeSource,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_authTypeSource = $authTypeSource;
     }
 
diff --git a/app/code/Magento/Integration/Controller/Adminhtml/Integration.php b/app/code/Magento/Integration/Controller/Adminhtml/Integration.php
index c9af1a0b16b..5534a570ba0 100644
--- a/app/code/Magento/Integration/Controller/Adminhtml/Integration.php
+++ b/app/code/Magento/Integration/Controller/Adminhtml/Integration.php
@@ -23,11 +23,12 @@
  */
 namespace Magento\Integration\Controller\Adminhtml;
 
+use Magento\Backend\App\Action;
 use Magento\Integration\Block\Adminhtml\Integration\Edit\Tab\Info;
 /**
  * Controller for integrations management.
  */
-class Integration extends \Magento\Backend\Controller\Adminhtml\Action
+class Integration extends \Magento\Backend\App\Action
 {
     /** Param Key for extracting integration id from Request */
     const PARAM_INTEGRATION_ID = 'id';
@@ -46,12 +47,12 @@ class Integration extends \Magento\Backend\Controller\Adminhtml\Action
     private $_integrationService;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Integration\Service\IntegrationV1Interface $integrationService
      * @param \Magento\Core\Model\Registry $registry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Integration\Service\IntegrationV1Interface $integrationService,
         \Magento\Core\Model\Registry $registry
     ) {
@@ -65,11 +66,11 @@ class Integration extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Integration::system_integrations');
         $this->_addBreadcrumb(__('Integrations'), __('Integrations'));
-        $this->_title(__('Integrations'));
-        $this->renderLayout();
+        $this->_title->add(__('Integrations'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -77,8 +78,8 @@ class Integration extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -96,17 +97,17 @@ class Integration extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function newAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Integration::system_integrations');
         $this->_addBreadcrumb(__('New Integration'), __('New Integration'));
-        $this->_title(__('New Integration'));
+        $this->_title->add(__('New Integration'));
         /** Try to recover integration data from session if it was added during previous request which failed. */
         $restoredIntegration = $this->_getSession()->getIntegrationData();
         if ($restoredIntegration) {
             $this->_registry->register(self::REGISTRY_KEY_CURRENT_INTEGRATION, $restoredIntegration);
             $this->_getSession()->setIntegrationData(array());
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -135,15 +136,15 @@ class Integration extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_redirect('*/*/');
             return;
         }
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_getSession()->setIntegrationData(array());
         $this->_setActiveMenu('Magento_Integration::system_integrations');
         $this->_addBreadcrumb(
             __('Edit "%1" Integration', $integrationData[Info::DATA_NAME]),
             __('Edit "%1" Integration', $integrationData[Info::DATA_NAME])
         );
-        $this->_title(__('Edit "%1" Integration', $integrationData[Info::DATA_NAME]));
-        $this->renderLayout();
+        $this->_title->add(__('Edit "%1" Integration', $integrationData[Info::DATA_NAME]));
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Integration/Controller/Token.php b/app/code/Magento/Integration/Controller/Token.php
index 8ce71831877..1a8c6185628 100644
--- a/app/code/Magento/Integration/Controller/Token.php
+++ b/app/code/Magento/Integration/Controller/Token.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Integration\Controller;
 
-class Token extends \Magento\Core\Controller\Front\Action
+class Token extends \Magento\App\Action\Action
 {
     /** @var  \Magento\Oauth\OauthInterface */
     protected $_oauthService;
@@ -35,13 +35,13 @@ class Token extends \Magento\Core\Controller\Front\Action
     /** @var  \Magento\Oauth\Helper\Request */
     protected $_helper;
 
-    /**
+    /***
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Oauth\OauthInterface $oauthService
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Oauth\Helper\Request $helper
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Oauth\OauthInterface $oauthService,
         \Magento\Oauth\Helper\Request $helper
     ) {
diff --git a/app/code/Magento/Integration/Helper/Data.php b/app/code/Magento/Integration/Helper/Data.php
index ff6e3ec78d5..88b0684b8e0 100644
--- a/app/code/Magento/Integration/Helper/Data.php
+++ b/app/code/Magento/Integration/Helper/Data.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Integration\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Integration/Model/Config/Api/Converter.php b/app/code/Magento/Integration/Model/Config/Api/Converter.php
new file mode 100644
index 00000000000..a3aa892069a
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/Api/Converter.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\Integration\Model\Config\Api;
+
+/**
+ * Converter of api.xml content into array format.
+ */
+class Converter implements \Magento\Config\ConverterInterface
+{
+    /**#@+
+     * Array keys for config internal representation.
+     */
+    const API_RESOURCES = 'resources';
+    const API_RESOURCE_NAME = 'name';
+    /**#@-*/
+
+    /**
+     * {@inheritdoc}
+     */
+    public function convert($source)
+    {
+        $result = array();
+        /** @var \DOMNodeList $integrations */
+        $integrations = $source->getElementsByTagName('integration');
+        /** @var \DOMElement $integration */
+        foreach ($integrations as $integration) {
+            if ($integration->nodeType != XML_ELEMENT_NODE) {
+                continue;
+            }
+            $integrationId = $integration->attributes->getNamedItem('id')->nodeValue;
+            $result[$integrationId] = array();
+            $result[$integrationId][self::API_RESOURCES] = array();
+            /** @var \DOMNodeList $resources */
+            $resources = $integration->getElementsByTagName('resource');
+            /** @var \DOMElement $resource */
+            foreach ($resources as $resource) {
+                if ($resource->nodeType != XML_ELEMENT_NODE) {
+                    continue;
+                }
+                $resource = $resource->attributes->getNamedItem('name')->nodeValue;
+                $result[$integrationId][self::API_RESOURCES][] = $resource;
+            }
+        }
+        return $result;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Integration/Model/Config/Api/Reader.php b/app/code/Magento/Integration/Model/Config/Api/Reader.php
new file mode 100644
index 00000000000..1e23f8f579a
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/Api/Reader.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\Integration\Model\Config\Api;
+
+/**
+ * Service config data reader.
+ */
+class Reader extends \Magento\Config\Reader\Filesystem
+{
+    /**
+     * List of id attributes for merge
+     *
+     * @var array
+     */
+    protected $_idAttributes = array(
+        '/config/service' => 'class',
+        '/config/service/rest-route' => 'method',
+    );
+
+    /**
+     * @param \Magento\Config\FileResolverInterface $fileResolver
+     * @param \Magento\Integration\Model\Config\Api\Converter $converter
+     * @param \Magento\Integration\Model\Config\Api\SchemaLocator $schemeLocator
+     * @param \Magento\Config\ValidationStateInterface $validationState
+     * @param string $fileName
+     */
+    public function __construct(
+        \Magento\Config\FileResolverInterface $fileResolver,
+        \Magento\Integration\Model\Config\Api\Converter $converter,
+        \Magento\Integration\Model\Config\Api\SchemaLocator $schemeLocator,
+        \Magento\Config\ValidationStateInterface $validationState,
+        $fileName = 'integration\api.xml'
+    ) {
+        parent::__construct($fileResolver, $converter, $schemeLocator, $validationState, $fileName);
+    }
+}
diff --git a/app/code/Magento/Integration/Model/Config/Api/SchemaLocator.php b/app/code/Magento/Integration/Model/Config/Api/SchemaLocator.php
new file mode 100644
index 00000000000..4c20b5f22cb
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/Api/SchemaLocator.php
@@ -0,0 +1,73 @@
+<?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\Integration\Model\Config\Api;
+
+/**
+ * Integration config schema locator.
+ */
+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\Module\Dir\Reader $moduleReader
+     */
+    public function __construct(\Magento\Module\Dir\Reader $moduleReader)
+    {
+        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Integration') . DIRECTORY_SEPARATOR .
+            DIRECTORY_SEPARATOR . 'integration' . DIRECTORY_SEPARATOR . 'api.xsd';
+    }
+
+    /**
+     * Get path to merged config schema
+     *
+     * @return string|null
+     */
+    public function getSchema()
+    {
+        return $this->_schema;
+    }
+
+    /**
+     * Get path to per file validation schema
+     *
+     * @return string|null
+     */
+    public function getPerFileSchema()
+    {
+        return $this->_perFileSchema;
+    }
+}
diff --git a/app/code/Magento/Integration/Model/Config/Converter.php b/app/code/Magento/Integration/Model/Config/Converter.php
new file mode 100644
index 00000000000..f7674e037d0
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/Converter.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\Integration\Model\Config;
+
+/**
+ * Converter of integration.xml content into array format.
+ */
+class Converter implements \Magento\Config\ConverterInterface
+{
+    /**#@+
+     * Array keys for config internal representation.
+     */
+    const KEY_NAME = 'name';
+    const KEY_EMAIL = 'email';
+    const KEY_AUTHENTICATION = 'authentication';
+    const KEY_AUTHENTICATION_TYPE = 'type';
+    const KEY_AUTHENTICATION_ENDPOINT_URL = 'endpoint_url';
+    /**#@-*/
+
+    /**
+     * {@inheritdoc}
+     */
+    public function convert($source)
+    {
+        $result = array();
+        /** @var \DOMNodeList $integrations */
+        $integrations = $source->getElementsByTagName('integration');
+        /** @var \DOMElement $integration */
+        foreach ($integrations as $integration) {
+            if ($integration->nodeType != XML_ELEMENT_NODE) {
+                continue;
+            }
+            $integrationId = $integration->attributes->getNamedItem('id')->nodeValue;
+            $result[$integrationId] = array();
+
+            /** @var \DOMElement $name */
+            $name = $integration->getElementsByTagName('name')->item(0)->nodeValue;
+            $result[$integrationId][self::KEY_NAME] = $name;
+
+            /** @var \DOMElement $email */
+            $email = $integration->getElementsByTagName('email')->item(0)->nodeValue;
+            $result[$integrationId][self::KEY_EMAIL] = $email;
+
+            /** @var \DOMNodeList $authentication */
+            $authentication = $integration->getElementsByTagName('authentication')->item(0);
+
+            $authenticationType = $authentication->attributes->getNamedItem('type')->nodeValue;
+            $result[$integrationId][self::KEY_AUTHENTICATION] = array(
+                self::KEY_AUTHENTICATION_TYPE => $authenticationType
+            );
+
+            /** @var \DOMElement $endpointUrl */
+            $endpointUrl = $integration->getElementsByTagName('endpoint_url')->item(0);
+            if ($endpointUrl) {
+                $result[$integrationId][self::KEY_AUTHENTICATION][self::KEY_AUTHENTICATION_ENDPOINT_URL] =
+                    $endpointUrl->nodeValue;
+            }
+        }
+        return $result;
+    }
+}
diff --git a/app/code/Magento/Integration/Model/Config/Reader.php b/app/code/Magento/Integration/Model/Config/Reader.php
new file mode 100644
index 00000000000..ed33b48afe1
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/Reader.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\Integration\Model\Config;
+
+/**
+ * Service config data reader.
+ */
+class Reader extends \Magento\Config\Reader\Filesystem
+{
+    /**
+     * List of id attributes for merge
+     *
+     * @var array
+     */
+    protected $_idAttributes = array(
+        '/config/service' => 'class',
+        '/config/service/rest-route' => 'method',
+    );
+
+    /**
+     * @param \Magento\Config\FileResolverInterface $fileResolver
+     * @param \Magento\Integration\Model\Config\Converter $converter
+     * @param \Magento\Integration\Model\Config\SchemaLocator $schemeLocator
+     * @param \Magento\Config\ValidationStateInterface $validationState
+     * @param string $fileName
+     */
+    public function __construct(
+        \Magento\Config\FileResolverInterface $fileResolver,
+        \Magento\Integration\Model\Config\Converter $converter,
+        \Magento\Integration\Model\Config\SchemaLocator $schemeLocator,
+        \Magento\Config\ValidationStateInterface $validationState,
+        $fileName = 'integration\config.xml'
+    ) {
+        parent::__construct($fileResolver, $converter, $schemeLocator, $validationState, $fileName);
+    }
+}
diff --git a/app/code/Magento/Integration/Model/Config/SchemaLocator.php b/app/code/Magento/Integration/Model/Config/SchemaLocator.php
new file mode 100644
index 00000000000..1d64acb9b78
--- /dev/null
+++ b/app/code/Magento/Integration/Model/Config/SchemaLocator.php
@@ -0,0 +1,73 @@
+<?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\Integration\Model\Config;
+
+/**
+ * Integration config schema locator.
+ */
+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\Module\Dir\Reader $moduleReader
+     */
+    public function __construct(\Magento\Module\Dir\Reader $moduleReader)
+    {
+        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Integration') . DIRECTORY_SEPARATOR .
+            DIRECTORY_SEPARATOR . 'integration' . DIRECTORY_SEPARATOR . 'config.xsd';
+    }
+
+    /**
+     * Get path to merged config schema
+     *
+     * @return string|null
+     */
+    public function getSchema()
+    {
+        return $this->_schema;
+    }
+
+    /**
+     * Get path to per file validation schema
+     *
+     * @return string|null
+     */
+    public function getPerFileSchema()
+    {
+        return $this->_perFileSchema;
+    }
+}
diff --git a/app/code/Magento/Integration/etc/integration/api.xsd b/app/code/Magento/Integration/etc/integration/api.xsd
new file mode 100644
index 00000000000..4ebf914fc08
--- /dev/null
+++ b/app/code/Magento/Integration/etc/integration/api.xsd
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Schema for API integration configuration.
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+ */
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="integrations" type="integrationsType"/>
+    <xs:complexType name="integrationsType">
+        <xs:sequence>
+            <xs:element name="integration" type="integrationType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="integrationType">
+        <xs:sequence>
+            <xs:element name="resources" type="resourcesType"/>
+        </xs:sequence>
+        <xs:attribute name="id" type="integrationIdType" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="resourcesType">
+        <xs:sequence>
+            <xs:element name="resource" type="resourceType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="resourceType">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="name" type="resourceNameType" use="required"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+    <xs:simpleType name="resourceNameType">
+        <xs:restriction base="xs:string">
+            <xs:pattern value=".+_.+::.+"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="integrationIdType">
+        <xs:restriction base="xs:string">
+            <xs:minLength value="2"/>
+        </xs:restriction>
+    </xs:simpleType>
+</xs:schema>
diff --git a/app/code/Magento/Integration/etc/integration/config.xsd b/app/code/Magento/Integration/etc/integration/config.xsd
new file mode 100644
index 00000000000..5950721c7d8
--- /dev/null
+++ b/app/code/Magento/Integration/etc/integration/config.xsd
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Schema for integration configuration.
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+ */
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="integrations" type="integrationsType"/>
+    <xs:complexType name="integrationsType">
+        <xs:sequence>
+            <xs:element name="integration" type="integrationType" maxOccurs="unbounded" minOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="integrationType">
+        <xs:sequence>
+            <xs:element name="name" type="integrationNameType"/>
+            <xs:element name="email" type="emailType"/>
+            <xs:element name="authentication" type="authenticationType"/>
+        </xs:sequence>
+        <xs:attribute name="id" type="integrationIdType" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="authenticationType">
+        <xs:sequence>
+            <xs:element name="endpoint_url" type="urlType" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="type" type="authenticationTypeType" use="required"/>
+    </xs:complexType>
+    <xs:simpleType name="authenticationTypeType">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="oauth"/>
+            <xs:enumeration value="manual"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="urlType">
+        <xs:restriction base="xs:anyURI">
+            <xs:minLength value="4"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="integrationNameType">
+        <xs:restriction base="xs:string">
+            <xs:minLength value="2"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="emailType">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="[^@]+@[^\.]+\..+"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="integrationIdType">
+        <xs:restriction base="xs:string">
+            <xs:minLength value="2"/>
+        </xs:restriction>
+    </xs:simpleType>
+</xs:schema>
diff --git a/app/code/Magento/Log/Helper/Data.php b/app/code/Magento/Log/Helper/Data.php
index 18e5ecfd142..a084e776922 100644
--- a/app/code/Magento/Log/Helper/Data.php
+++ b/app/code/Magento/Log/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Log\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Log/Model/Cron.php b/app/code/Magento/Log/Model/Cron.php
index 1081b70baa7..d94d838949a 100644
--- a/app/code/Magento/Log/Model/Cron.php
+++ b/app/code/Magento/Log/Model/Cron.php
@@ -71,12 +71,12 @@ class Cron extends \Magento\Core\Model\AbstractModel
     protected $_log;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_templateFactory;
 
     /**
-     * @param \Magento\Core\Model\Email\TemplateFactory $templateFactory
+     * @param \Magento\Email\Model\TemplateFactory $templateFactory
      * @param \Magento\Log\Model\Log $log
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Translate $translate
@@ -88,7 +88,7 @@ class Cron extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Email\TemplateFactory $templateFactory,
+        \Magento\Email\Model\TemplateFactory $templateFactory,
         \Magento\Log\Model\Log $log,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Translate $translate,
@@ -125,7 +125,7 @@ class Cron extends \Magento\Core\Model\AbstractModel
         $this->_translate->setTranslateInline(false);
 
         $emailTemplate = $this->_templateFactory->create();
-        /* @var $emailTemplate \Magento\Core\Model\Email\Template */
+        /* @var $emailTemplate \Magento\Email\Model\Template */
         $emailTemplate->setDesignConfig(
             array(
                 'area' => 'backend',
diff --git a/app/code/Magento/Log/Model/Visitor.php b/app/code/Magento/Log/Model/Visitor.php
index 383955d049a..9e4deb50052 100644
--- a/app/code/Magento/Log/Model/Visitor.php
+++ b/app/code/Magento/Log/Model/Visitor.php
@@ -54,13 +54,6 @@ class Visitor extends \Magento\Core\Model\AbstractModel
      */
     protected $_ignoredUserAgents;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core store config
      *
@@ -124,7 +117,6 @@ 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\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Core\Model\Session $session
@@ -146,7 +138,6 @@ class Visitor extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Core\Model\Session $session,
@@ -163,7 +154,6 @@ class Visitor extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
-        $this->_eventManager = $eventManager;
         $this->_customerFactory = $customerFactory;
         $this->_quoteFactory = $quoteFactory;
         $this->_session = $session;
diff --git a/app/code/Magento/Log/Model/Visitor/Online.php b/app/code/Magento/Log/Model/Visitor/Online.php
index e526e35db4d..379d0f05895 100644
--- a/app/code/Magento/Log/Model/Visitor/Online.php
+++ b/app/code/Magento/Log/Model/Visitor/Online.php
@@ -61,12 +61,6 @@ class Online extends \Magento\Core\Model\AbstractModel
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\App\CacheInterface
-     */
-    protected $_cache;
-
-    /**
-     * @param \Magento\App\CacheInterface $cache
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -75,7 +69,6 @@ class Online extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\App\CacheInterface $cache,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -83,7 +76,6 @@ class Online extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_cache = $cache;
         $this->_coreStoreConfig = $coreStoreConfig;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
@@ -125,7 +117,7 @@ class Online extends \Magento\Core\Model\AbstractModel
      */
     public function getPrepareAt()
     {
-        return $this->_cache->load('log_visitor_online_prepare_at');
+        return $this->_cacheManager->load('log_visitor_online_prepare_at');
     }
 
     /**
@@ -139,7 +131,7 @@ class Online extends \Magento\Core\Model\AbstractModel
         if (is_null($time)) {
             $time = time();
         }
-        $this->_cache->save($time, 'log_visitor_online_prepare_at');
+        $this->_cacheManager->save($time, 'log_visitor_online_prepare_at');
         return $this;
     }
 
diff --git a/app/code/Magento/Newsletter/Block/Subscribe.php b/app/code/Magento/Newsletter/Block/Subscribe.php
index 314cbbd1077..146ffc73aa1 100644
--- a/app/code/Magento/Newsletter/Block/Subscribe.php
+++ b/app/code/Magento/Newsletter/Block/Subscribe.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Newsletter\Block;
 
-class Subscribe extends \Magento\Core\Block\Template
+class Subscribe extends \Magento\View\Block\Template
 {
     /**
      * Newsletter session
@@ -44,20 +44,18 @@ class Subscribe extends \Magento\Core\Block\Template
     protected $_newsletterSession;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Newsletter\Model\Session $newsletterSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Newsletter\Model\Session $newsletterSession,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_newsletterSession = $newsletterSession;
     }
 
diff --git a/app/code/Magento/Newsletter/Controller/Manage.php b/app/code/Magento/Newsletter/Controller/Manage.php
index 325e322b440..90a8f9f0882 100644
--- a/app/code/Magento/Newsletter/Controller/Manage.php
+++ b/app/code/Magento/Newsletter/Controller/Manage.php
@@ -34,7 +34,10 @@
  */
 namespace Magento\Newsletter\Controller;
 
-class Manage extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Manage extends \Magento\App\Action\Action
 {
     /**
      * Customer session
@@ -44,58 +47,63 @@ class Manage extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * Store manager
-     *
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_formKeyValidator;
+
+    /**
      * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Customer\Model\Session $customerSession
+        \Magento\App\Action\Context $context,
+        \Magento\Customer\Model\Session $customerSession,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
-        parent::__construct($context);
         $this->_storeManager = $storeManager;
+        parent::__construct($context);
+        $this->_formKeyValidator = $formKeyValidator;
         $this->_customerSession = $customerSession;
     }
 
     /**
-     * Action predispatch
-     *
      * Check customer authentication for some actions
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
         if (!$this->_customerSession->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
+            $this->_actionFlag->set('', 'no-dispatch', true);
         }
+        return parent::dispatch($request);
     }
 
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()
+            ->initMessages(array('Magento\Customer\Model\Session', 'Magento\Catalog\Model\Session'));
 
-        if ($block = $this->getLayout()->getBlock('customer_newsletter')) {
-            $block->setRefererUrl($this->_getRefererUrl());
+        if ($block = $this->_view->getLayout()->getBlock('customer_newsletter')) {
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
         }
-        $this->getLayout()->getBlock('head')->setTitle(__('Newsletter Subscription'));
-        $this->renderLayout();
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('Newsletter Subscription'));
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             return $this->_redirect('customer/account/');
         }
         try {
diff --git a/app/code/Magento/Newsletter/Controller/Subscriber.php b/app/code/Magento/Newsletter/Controller/Subscriber.php
index a96db52b7f6..4dae263feaa 100644
--- a/app/code/Magento/Newsletter/Controller/Subscriber.php
+++ b/app/code/Magento/Newsletter/Controller/Subscriber.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Newsletter\Controller;
 
-class Subscriber extends \Magento\Core\Controller\Front\Action
+class Subscriber extends \Magento\App\Action\Action
 {
     /**
      * Session
@@ -49,13 +49,6 @@ class Subscriber extends \Magento\Core\Controller\Front\Action
      */
     protected $_customerSession;
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * Customer factory
      *
@@ -71,27 +64,30 @@ class Subscriber extends \Magento\Core\Controller\Front\Action
     protected $_subscriberFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Session $session
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Session $session
+        \Magento\Core\Model\Session $session,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
+        $this->_storeManager = $storeManager;
         parent::__construct($context);
         $this->_subscriberFactory = $subscriberFactory;
         $this->_customerFactory = $customerFactory;
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
         $this->_session = $session;
     }
@@ -142,7 +138,7 @@ class Subscriber extends \Magento\Core\Controller\Front\Action
                 $this->_session->addException($e, __('Something went wrong with the subscription.'));
             }
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
@@ -168,7 +164,7 @@ class Subscriber extends \Magento\Core\Controller\Front\Action
             }
         }
 
-        $this->_redirectUrl($this->_storeManager->getStore()->getBaseUrl());
+        $this->getResponse()->setRedirect($this->_storeManager->getStore()->getBaseUrl());
     }
 
     /**
@@ -193,6 +189,6 @@ class Subscriber extends \Magento\Core\Controller\Front\Action
                 $this->_session->addException($e, __('Something went wrong with the un-subscription.'));
             }
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 }
diff --git a/app/code/Magento/Newsletter/Helper/Data.php b/app/code/Magento/Newsletter/Helper/Data.php
index 1111128060d..7e8680c2ae7 100644
--- a/app/code/Magento/Newsletter/Helper/Data.php
+++ b/app/code/Magento/Newsletter/Helper/Data.php
@@ -34,29 +34,8 @@
  */
 namespace Magento\Newsletter\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
-    /**
-     * Url
-     *
-     * @var \Magento\UrlInterface
-     */
-    protected $_url;
-
-    /**
-     * Constructor
-     *
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\UrlInterface $url
-     */
-    public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\UrlInterface $url
-    ) {
-        parent::__construct($context);
-        $this->_url = $url;
-    }
-
     /**
      * Retrieve subsription confirmation url
      *
@@ -65,7 +44,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getConfirmationUrl($subscriber)
     {
-        return $this->_url->setStore($subscriber->getStoreId())
+        return $this->_urlBuilder->setStore($subscriber->getStoreId())
             ->getUrl('newsletter/subscriber/confirm', array(
                 'id'     => $subscriber->getId(),
                 'code'   => $subscriber->getCode(),
@@ -81,7 +60,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getUnsubscribeUrl($subscriber)
     {
-        return $this->_url->setStore($subscriber->getStoreId())
+        return $this->_urlBuilder->setStore($subscriber->getStoreId())
             ->getUrl('newsletter/subscriber/unsubscribe', array(
                 'id'     => $subscriber->getId(),
                 'code'   => $subscriber->getCode(),
diff --git a/app/code/Magento/Newsletter/Model/Queue.php b/app/code/Magento/Newsletter/Model/Queue.php
index ae8e581e959..42760efec49 100644
--- a/app/code/Magento/Newsletter/Model/Queue.php
+++ b/app/code/Magento/Newsletter/Model/Queue.php
@@ -63,7 +63,7 @@ class Queue extends \Magento\Core\Model\Template
     protected $_template;
 
     /**
-     * @var \Magento\Core\Model\Email\Template
+     * @var \Magento\Email\Model\Template
      */
     protected $_emailTemplate = null;
 
@@ -118,7 +118,7 @@ class Queue extends \Magento\Core\Model\Template
     /**
      * Email template factory
      *
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_emailTemplateFactory;
 
@@ -149,7 +149,7 @@ class Queue extends \Magento\Core\Model\Template
      * @param \Magento\Core\Model\Date $date
      * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
      * @param \Magento\Newsletter\Model\ProblemFactory $problemFactory
-     * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory
+     * @param \Magento\Email\Model\TemplateFactory $emailTemplateFactory
      * @param \Magento\Newsletter\Model\Resource\Subscriber\CollectionFactory $subscriberCollectionFactory
      * @param array $data
      */
@@ -164,7 +164,7 @@ class Queue extends \Magento\Core\Model\Template
         \Magento\Core\Model\Date $date,
         \Magento\Newsletter\Model\TemplateFactory $templateFactory,
         \Magento\Newsletter\Model\ProblemFactory $problemFactory,
-        \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory,
+        \Magento\Email\Model\TemplateFactory $emailTemplateFactory,
         \Magento\Newsletter\Model\Resource\Subscriber\CollectionFactory $subscriberCollectionFactory,
         array $data = array()
     ) {
@@ -187,8 +187,8 @@ class Queue extends \Magento\Core\Model\Template
         $emailTemplate = $this->_getData('email_template');
         if ($emailTemplate) {
             $this->unsetData('email_template');
-            if (!($emailTemplate instanceof \Magento\Core\Model\Email\Template)) {
-                throw new \Exception('Instance of \Magento\Core\Model\Email\Template is expected.');
+            if (!($emailTemplate instanceof \Magento\Email\Model\Template)) {
+                throw new \Exception('Instance of \Magento\Email\Model\Template is expected.');
             }
             $this->_emailTemplate = $emailTemplate;
         }
@@ -254,7 +254,7 @@ class Queue extends \Magento\Core\Model\Template
             ->setCurPage(1)
             ->load();
 
-        /** @var \Magento\Core\Model\Email\Template $sender */
+        /** @var \Magento\Email\Model\Template $sender */
         $sender = $this->_emailTemplate ?: $this->_emailTemplateFactory->create();
         $sender->setSenderName($this->getNewsletterSenderName())
             ->setSenderEmail($this->getNewsletterSenderEmail())
diff --git a/app/code/Magento/Newsletter/Model/Subscriber.php b/app/code/Magento/Newsletter/Model/Subscriber.php
index 29fbb3ab8f5..e984546d008 100644
--- a/app/code/Magento/Newsletter/Model/Subscriber.php
+++ b/app/code/Magento/Newsletter/Model/Subscriber.php
@@ -132,7 +132,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
     /**
      * Email template factory
      *
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_emailTemplateFactory;
 
@@ -143,7 +143,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Newsletter\Helper\Data $newsletterData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory
+     * @param \Magento\Email\Model\TemplateFactory $emailTemplateFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Translate $translate
@@ -157,7 +157,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Newsletter\Helper\Data $newsletterData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Email\TemplateFactory $emailTemplateFactory,
+        \Magento\Email\Model\TemplateFactory $emailTemplateFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Translate $translate,
@@ -605,7 +605,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
 
         $this->_translate->setTranslateInline(false);
 
-        /** @var \Magento\Core\Model\Email\Template $email */
+        /** @var \Magento\Email\Model\Template $email */
         $email = $this->_emailTemplateFactory->create();
 
         $email->sendTransactional(
@@ -640,7 +640,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
 
         $this->_translate->setTranslateInline(false);
 
-        /** @var \Magento\Core\Model\Email\Template $email */
+        /** @var \Magento\Email\Model\Template $email */
         $email = $this->_emailTemplateFactory->create();
 
         $email->sendTransactional(
@@ -674,7 +674,7 @@ class Subscriber extends \Magento\Core\Model\AbstractModel
 
         $this->_translate->setTranslateInline(false);
 
-        /** @var \Magento\Core\Model\Email\Template $email */
+        /** @var \Magento\Email\Model\Template $email */
         $email = $this->_emailTemplateFactory->create();
 
         $email->sendTransactional(
diff --git a/app/code/Magento/Newsletter/Model/Template.php b/app/code/Magento/Newsletter/Model/Template.php
index 6df0cfd49aa..bd27e408093 100644
--- a/app/code/Magento/Newsletter/Model/Template.php
+++ b/app/code/Magento/Newsletter/Model/Template.php
@@ -58,6 +58,7 @@ namespace Magento\Newsletter\Model;
 
 class Template extends \Magento\Core\Model\Template
 {
+
     /**
      * Template Text Preprocessed flag
      *
@@ -351,7 +352,7 @@ class Template extends \Magento\Core\Model\Template
      */
     public function isValidForSend()
     {
-        return !$this->_coreStoreConfig->getConfigFlag(\Magento\Core\Helper\Data::XML_PATH_SYSTEM_SMTP_DISABLE)
+        return !$this->_coreStoreConfig->getConfigFlag(\Magento\Email\Model\Template::XML_PATH_SYSTEM_SMTP_DISABLE)
             && $this->getTemplateSenderName()
             && $this->getTemplateSenderEmail()
             && $this->getTemplateSubject();
diff --git a/app/code/Magento/Ogone/Block/Paypage.php b/app/code/Magento/Ogone/Block/Paypage.php
index 4f673d7d18c..414cf73dbe5 100644
--- a/app/code/Magento/Ogone/Block/Paypage.php
+++ b/app/code/Magento/Ogone/Block/Paypage.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Ogone\Block;
 
-class Paypage extends \Magento\Core\Block\Template
+class Paypage extends \Magento\View\Block\Template
 {
     protected $_template = 'paypage.phtml';
 }
diff --git a/app/code/Magento/Ogone/Block/Placeform.php b/app/code/Magento/Ogone/Block/Placeform.php
index 8ceb4e11a34..5c7885efc9d 100644
--- a/app/code/Magento/Ogone/Block/Placeform.php
+++ b/app/code/Magento/Ogone/Block/Placeform.php
@@ -24,10 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Ogone\Block;
 
-class Placeform extends \Magento\Core\Block\Template
+class Placeform extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Sales\Model\OrderFactory
@@ -45,25 +44,25 @@ class Placeform extends \Magento\Core\Block\Template
     protected $_ogoneApi;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Ogone\Model\Api $ogoneApi
      * @param \Magento\Sales\Model\OrderFactory $salesOrderFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Ogone\Model\Api $ogoneApi,
         \Magento\Sales\Model\OrderFactory $salesOrderFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_checkoutSession = $checkoutSession;
         $this->_ogoneApi = $ogoneApi;
         $this->_salesOrderFactory = $salesOrderFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Ogone/Controller/Api.php b/app/code/Magento/Ogone/Controller/Api.php
index 499170d62eb..e89f4080588 100644
--- a/app/code/Magento/Ogone/Controller/Api.php
+++ b/app/code/Magento/Ogone/Controller/Api.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Ogone\Controller;
 
-class Api extends \Magento\Core\Controller\Front\Action
+class Api extends \Magento\App\Action\Action
 {
     /**
      * Order instance
@@ -47,14 +47,14 @@ class Api extends \Magento\Core\Controller\Front\Action
     protected $_transactionFactory;
 
     /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Resource\TransactionFactory $transactionFactory
      * @param \Magento\Sales\Model\OrderFactory $salesOrderFactory
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
      */
     public function __construct(
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Resource\TransactionFactory $transactionFactory,
-        \Magento\Sales\Model\OrderFactory $salesOrderFactory,
-        \Magento\Core\Controller\Varien\Action\Context $context
+        \Magento\Sales\Model\OrderFactory $salesOrderFactory
     ) {
         parent::__construct($context);
         $this->_transactionFactory = $transactionFactory;
@@ -161,8 +161,8 @@ class Api extends \Magento\Core\Controller\Front\Action
         $this->_getCheckout()->setOgoneLastSuccessQuoteId($this->_getCheckout()->getLastSuccessQuoteId());
         $this->_getCheckout()->clear();
 
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -170,8 +170,8 @@ class Api extends \Magento\Core\Controller\Front\Action
      */
     public function paypageAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Ogone/Helper/Data.php b/app/code/Magento/Ogone/Helper/Data.php
index 87d3944d54c..0465092c2d2 100644
--- a/app/code/Magento/Ogone/Helper/Data.php
+++ b/app/code/Magento/Ogone/Helper/Data.php
@@ -29,6 +29,6 @@
  */
 namespace Magento\Ogone\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Ogone/view/frontend/form.phtml b/app/code/Magento/Ogone/view/frontend/form.phtml
index e398596b0f7..1078fad8903 100644
--- a/app/code/Magento/Ogone/view/frontend/form.phtml
+++ b/app/code/Magento/Ogone/view/frontend/form.phtml
@@ -26,8 +26,8 @@
 ?>
 
 <?php $_code=$this->getMethodCode() ?>
-<ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
-    <li>
-        <?php echo __('You will be redirected to Ogone website when you place an order.') ?>
-    </li>
-</ul>
+<fieldset class="fieldset items" id="payment_form_<?php echo $_code ?>" style="display:none;">
+    <div class="message notice">
+        <div><?php echo __('You will be redirected to Ogone website when you place an order.') ?></div>
+    </div>
+</fieldset>
diff --git a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml
index 2a9ae971609..750d5ed51af 100644
--- a/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml
+++ b/app/code/Magento/Ogone/view/frontend/layout/ogone_api_placeform.xml
@@ -24,6 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
     <referenceContainer name="content">
         <block class="Magento\Ogone\Block\Placeform" name="ogone_placeform" template="placeform.phtml"/>
     </referenceContainer>
diff --git a/app/code/Magento/Ogone/view/frontend/placeform.phtml b/app/code/Magento/Ogone/view/frontend/placeform.phtml
index 1115bdba5bb..9e0b09ddfd0 100644
--- a/app/code/Magento/Ogone/view/frontend/placeform.phtml
+++ b/app/code/Magento/Ogone/view/frontend/placeform.phtml
@@ -25,14 +25,14 @@
  */
 ?>
 
-<p><strong><?php echo __('Please stand by. In a moment, this page will transfer your data to the Ogone payment gateway.'); ?></strong></p>
+<div class="message info"><div><?php echo __('Please stand by. In a moment, this page will transfer your data to the Ogone payment gateway.'); ?></div></div>
 <form name="ogone" id="ogone-review-form" action="<?php echo $this->getFormAction();?>" method="post" accept-charset="ISO-8859-1">
     <?php if ($formData = $this->getFormData()): ?>
-    <fieldset>
+    <div>
         <?php foreach ($formData as $name => $value) { ?>
             <input type="hidden" name="<?php echo $this->escapeHtml($name); ?>" value="<?php echo $this->escapeHtml($value); ?>" />
         <?php }?>
-    </fieldset>
+    </div>
     <?php endif; ?>
 </form>
 <script type="text/javascript">
diff --git a/app/code/Magento/Page/Block/Html.php b/app/code/Magento/Page/Block/Html.php
index 9d45c3953dd..3c0f942ab26 100644
--- a/app/code/Magento/Page/Block/Html.php
+++ b/app/code/Magento/Page/Block/Html.php
@@ -33,40 +33,11 @@
  */
 namespace Magento\Page\Block;
 
-class Html extends \Magento\Core\Block\Template
+class Html extends \Magento\View\Block\Template
 {
     protected $_urls = array();
     protected $_title = '';
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        $this->_storeManager = $storeManager;
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $data);
-    }
-
     protected function _construct()
     {
         parent::_construct();
@@ -77,10 +48,7 @@ class Html extends \Magento\Core\Block\Template
             'current'   => $this->_request->getRequestUri()
         );
 
-        $action = $this->_frontController->getAction();
-        if ($action) {
-            $this->addBodyClass($action->getFullActionName('-'));
-        }
+        $this->addBodyClass($this->_request->getFullActionName('-'));
 
         $this->_beforeCacheUrl();
     }
diff --git a/app/code/Magento/Page/Block/Html/Breadcrumbs.php b/app/code/Magento/Page/Block/Html/Breadcrumbs.php
index 43bc35a7f52..ae7def360bb 100644
--- a/app/code/Magento/Page/Block/Html/Breadcrumbs.php
+++ b/app/code/Magento/Page/Block/Html/Breadcrumbs.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Breadcrumbs extends \Magento\Core\Block\Template
+class Breadcrumbs extends \Magento\View\Block\Template
 {
     /**
      * Array of breadcrumbs
diff --git a/app/code/Magento/Page/Block/Html/Footer.php b/app/code/Magento/Page/Block/Html/Footer.php
index 083c13391a5..189065b06f2 100644
--- a/app/code/Magento/Page/Block/Html/Footer.php
+++ b/app/code/Magento/Page/Block/Html/Footer.php
@@ -33,38 +33,30 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Footer extends \Magento\Core\Block\Template
+class Footer extends \Magento\View\Block\Template
 {
 
     protected $_copyright;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
     protected $_customerSession;
 
     /**
-     * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Page/Block/Html/Head.php b/app/code/Magento/Page/Block/Html/Head.php
index 2ca8136a90a..4e47cdef773 100644
--- a/app/code/Magento/Page/Block/Html/Head.php
+++ b/app/code/Magento/Page/Block/Html/Head.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Head extends \Magento\Core\Block\Template
+class Head extends \Magento\View\Block\Template
 {
     /**
      * Block template
@@ -85,27 +85,9 @@ class Head extends \Magento\Core\Block\Template
     protected $_fileStorageDatabase = null;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @var \Magento\App\Dir
-     */
-    protected $_dir;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\App\Dir $dir
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Page $page
      * @param \Magento\Core\Model\Page\Asset\MergeService $assetMergeService
@@ -113,27 +95,21 @@ class Head extends \Magento\Core\Block\Template
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\App\Dir $dir,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Page $page,
         \Magento\Core\Model\Page\Asset\MergeService $assetMergeService,
         \Magento\Core\Model\Page\Asset\MinifyService $assetMinifyService,
         array $data = array()
     ) {
+        parent::__construct($context, $coreData, $data);
         $this->_fileStorageDatabase = $fileStorageDatabase;
-        parent::__construct($coreData, $context, $data);
         $this->_objectManager = $objectManager;
         $this->_assetMergeService = $assetMergeService;
         $this->_assetMinifyService = $assetMinifyService;
         $this->_pageAssets = $page->getAssets();
-        $this->_storeManager = $storeManager;
-        $this->_dir = $dir;
-        $this->_locale = $locale;
     }
 
     /**
@@ -161,7 +137,7 @@ class Head extends \Magento\Core\Block\Template
     public function getCssJsHtml()
     {
         foreach ($this->getLayout()->getChildBlocks($this->getNameInLayout()) as $block) {
-            /** @var $block \Magento\Core\Block\AbstractBlock */
+            /** @var $block \Magento\View\Block\AbstractBlock */
             if ($block instanceof \Magento\Page\Block\Html\Head\AssetBlock) {
                 /** @var \Magento\Core\Model\Page\Asset\AssetInterface $asset */
                 $asset = $block->getAsset();
@@ -415,7 +391,7 @@ class Head extends \Magento\Core\Block\Template
         $folderName = \Magento\Backend\Model\Config\Backend\Image\Favicon::UPLOAD_DIR;
         $storeConfig = $this->_storeConfig->getConfig('design/head/shortcut_icon');
         $faviconFile = $this->_storeManager->getStore()->getBaseUrl('media') . $folderName . '/' . $storeConfig;
-        $absolutePath = $this->_dir->getDir('media') . '/' . $folderName . '/' . $storeConfig;
+        $absolutePath = $this->_dirs->getDir('media') . '/' . $folderName . '/' . $storeConfig;
 
         if (!is_null($storeConfig) && $this->_isFile($absolutePath)) {
             $url = $faviconFile;
diff --git a/app/code/Magento/Page/Block/Html/Head/Css.php b/app/code/Magento/Page/Block/Html/Head/Css.php
index ab64703aa45..9c17ed16d9b 100644
--- a/app/code/Magento/Page/Block/Html/Head/Css.php
+++ b/app/code/Magento/Page/Block/Html/Head/Css.php
@@ -29,18 +29,18 @@ namespace Magento\Page\Block\Html\Head;
 /**
  * Css page block
  */
-class Css extends \Magento\Core\Block\AbstractBlock
+class Css extends \Magento\View\Block\AbstractBlock
     implements \Magento\Page\Block\Html\Head\AssetBlock
 {
     /**
      * Contructor
      *
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Model\Page\Asset\ViewFileFactory $viewFileFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Model\Page\Asset\ViewFileFactory $viewFileFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Page/Block/Html/Head/Link.php b/app/code/Magento/Page/Block/Html/Head/Link.php
index 7572c567b7e..74c8935314a 100644
--- a/app/code/Magento/Page/Block/Html/Head/Link.php
+++ b/app/code/Magento/Page/Block/Html/Head/Link.php
@@ -29,26 +29,24 @@ namespace Magento\Page\Block\Html\Head;
 /**
  * Link page block
  */
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
     implements \Magento\Page\Block\Html\Head\AssetBlock
 {
     const VIRTUAL_CONTENT_TYPE = 'link';
 
     /**
-     * Contructor
-     *
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Page\Asset\RemoteFactory $remoteFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Page\Asset\RemoteFactory $remoteFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Page\Asset\RemoteFactory $remoteFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Page\Asset\RemoteFactory $remoteFactory,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->setAsset(
             $remoteFactory->create(array(
                 'url' => (string)$this->getData('url'),
diff --git a/app/code/Magento/Page/Block/Html/Head/Script.php b/app/code/Magento/Page/Block/Html/Head/Script.php
index 0e9f99f13fd..43e54b42fa4 100644
--- a/app/code/Magento/Page/Block/Html/Head/Script.php
+++ b/app/code/Magento/Page/Block/Html/Head/Script.php
@@ -29,18 +29,18 @@ namespace Magento\Page\Block\Html\Head;
 /**
  * Script page block
  */
-class Script extends \Magento\Core\Block\AbstractBlock
+class Script extends \Magento\View\Block\AbstractBlock
     implements \Magento\Page\Block\Html\Head\AssetBlock
 {
     /**
      * Contructor
      *
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Model\Page\Asset\ViewFileFactory $viewFileFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Model\Page\Asset\ViewFileFactory $viewFileFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Page/Block/Html/Header.php b/app/code/Magento/Page/Block/Html/Header.php
index 4028d10002b..46e24c337fa 100644
--- a/app/code/Magento/Page/Block/Html/Header.php
+++ b/app/code/Magento/Page/Block/Html/Header.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Header extends \Magento\Core\Block\Template
+class Header extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -41,27 +41,19 @@ class Header extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @param \Magento\App\State $appState
-     * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
-        \Magento\App\State $appState,
-        \Magento\Customer\Model\Session $customerSession,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        $this->_appState = $appState;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function _construct()
diff --git a/app/code/Magento/Page/Block/Html/Notices.php b/app/code/Magento/Page/Block/Html/Notices.php
index 627bc75d6f7..e24dd186ed3 100644
--- a/app/code/Magento/Page/Block/Html/Notices.php
+++ b/app/code/Magento/Page/Block/Html/Notices.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Notices extends \Magento\Core\Block\Template
+class Notices extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Core\Model\Url
@@ -41,19 +41,19 @@ class Notices extends \Magento\Core\Block\Template
     protected $_urlModel;
 
     /**
-     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Model\Url $urlModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Url $urlModel,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Model\Url $urlModel,
         array $data = array()
     ) {
         $this->_urlModel = $urlModel;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Page/Block/Html/Pager.php b/app/code/Magento/Page/Block/Html/Pager.php
index bfbde19c70c..42c0009aa5e 100644
--- a/app/code/Magento/Page/Block/Html/Pager.php
+++ b/app/code/Magento/Page/Block/Html/Pager.php
@@ -35,7 +35,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Pager extends \Magento\Core\Block\Template
+class Pager extends \Magento\View\Block\Template
 {
     protected $_collection = null;
     protected $_pageVarName    = 'p';
diff --git a/app/code/Magento/Page/Block/Html/Title.php b/app/code/Magento/Page/Block/Html/Title.php
index 9fac40ecd3c..ce8d97e9bfd 100644
--- a/app/code/Magento/Page/Block/Html/Title.php
+++ b/app/code/Magento/Page/Block/Html/Title.php
@@ -32,7 +32,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Title extends \Magento\Core\Block\Template
+class Title extends \Magento\View\Block\Template
 {
     /**
      * Own page title to display on the page
diff --git a/app/code/Magento/Page/Block/Html/Topmenu.php b/app/code/Magento/Page/Block/Html/Topmenu.php
index 6c8e30a5106..f72d6391623 100644
--- a/app/code/Magento/Page/Block/Html/Topmenu.php
+++ b/app/code/Magento/Page/Block/Html/Topmenu.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Block\Html;
 
-class Topmenu extends \Magento\Core\Block\Template
+class Topmenu extends \Magento\View\Block\Template
 {
     /**
      * Top menu data tree
diff --git a/app/code/Magento/Page/Block/Html/Welcome.php b/app/code/Magento/Page/Block/Html/Welcome.php
index 54a510c4ba2..d743579ae4e 100644
--- a/app/code/Magento/Page/Block/Html/Welcome.php
+++ b/app/code/Magento/Page/Block/Html/Welcome.php
@@ -29,19 +29,19 @@ namespace Magento\Page\Block\Html;
 /**
  * Html page block
  */
-class Welcome extends \Magento\Core\Block\Template
+class Welcome extends \Magento\View\Block\Template
 {
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Page/Block/Js/Components.php b/app/code/Magento/Page/Block/Js/Components.php
index 1c1e3116fbf..f5955061eb4 100644
--- a/app/code/Magento/Page/Block/Js/Components.php
+++ b/app/code/Magento/Page/Block/Js/Components.php
@@ -26,29 +26,8 @@
 
 namespace Magento\Page\Block\Js;
 
-class Components extends \Magento\Core\Block\Template
+class Components extends \Magento\View\Block\Template
 {
-    /**
-     * @var \Magento\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\App\State $appState
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\App\State $appState,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_appState = $appState;
-    }
-
     /**
      * @return bool
      */
diff --git a/app/code/Magento/Page/Block/Js/Cookie.php b/app/code/Magento/Page/Block/Js/Cookie.php
index 7167b739faf..bb7bcd87496 100644
--- a/app/code/Magento/Page/Block/Js/Cookie.php
+++ b/app/code/Magento/Page/Block/Js/Cookie.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Page\Block\Js;
 
-class Cookie extends \Magento\Core\Block\Template
+class Cookie extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Core\Model\Cookie
@@ -34,19 +34,19 @@ class Cookie extends \Magento\Core\Block\Template
     protected $_cookie;
 
     /**
-     * @param \Magento\Core\Model\Cookie $cookie
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Model\Cookie $cookie
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Cookie $cookie,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Model\Cookie $cookie,
         array $data = array()
     ) {
         $this->_cookie = $cookie;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Page/Block/Js/Translate.php b/app/code/Magento/Page/Block/Js/Translate.php
index b2ba6832bab..bcee260cfa3 100644
--- a/app/code/Magento/Page/Block/Js/Translate.php
+++ b/app/code/Magento/Page/Block/Js/Translate.php
@@ -32,6 +32,6 @@
  */
 namespace Magento\Page\Block\Js;
 
-class Translate extends \Magento\Core\Block\Template
+class Translate extends \Magento\View\Block\Template
 {
 }
diff --git a/app/code/Magento/Page/Block/Link.php b/app/code/Magento/Page/Block/Link.php
index eb93641abab..621d1e8b3e0 100644
--- a/app/code/Magento/Page/Block/Link.php
+++ b/app/code/Magento/Page/Block/Link.php
@@ -31,7 +31,7 @@ namespace Magento\Page\Block;
  * @method string getPath()
  * @method string getTitle()
  */
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
 {
     /** @var string */
     protected $_template = 'Magento_Page::link.phtml';
diff --git a/app/code/Magento/Page/Block/Link/Current.php b/app/code/Magento/Page/Block/Link/Current.php
index 82611b37c39..fc6ac11cc14 100644
--- a/app/code/Magento/Page/Block/Link/Current.php
+++ b/app/code/Magento/Page/Block/Link/Current.php
@@ -34,7 +34,7 @@ namespace Magento\Page\Block\Link;
  * @method null|bool                       getCurrent()
  * @method \Magento\Page\Block\Link\Current setCurrent(bool $value)
  */
-class Current extends \Magento\Core\Block\Template
+class Current extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -49,18 +49,18 @@ class Current extends \Magento\Core\Block\Template
     protected $_defaultPath;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\App\DefaultPathInterface $defaultPath
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\App\DefaultPathInterface $defaultPath,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_defaultPath = $defaultPath;
     }
 
diff --git a/app/code/Magento/Page/Block/Links.php b/app/code/Magento/Page/Block/Links.php
index 513b0b87cec..d0d7f83a99c 100644
--- a/app/code/Magento/Page/Block/Links.php
+++ b/app/code/Magento/Page/Block/Links.php
@@ -27,7 +27,7 @@ namespace Magento\Page\Block;
 /**
  * Links list block
  */
-class Links extends \Magento\Core\Block\Template
+class Links extends \Magento\View\Block\Template
 {
     /** @var string */
     protected $_template = 'Magento_Page::links.phtml';
@@ -43,10 +43,10 @@ class Links extends \Magento\Core\Block\Template
     /**
      * Render Block
      *
-     * @param \Magento\Core\Block\AbstractBlock $link
+     * @param \Magento\View\Block\AbstractBlock $link
      * @return string
      */
-    public function renderLink(\Magento\Core\Block\AbstractBlock $link)
+    public function renderLink(\Magento\View\Block\AbstractBlock $link)
     {
         return $this->_layout->renderElement($link->getNameInLayout());
     }
diff --git a/app/code/Magento/Page/Block/Redirect.php b/app/code/Magento/Page/Block/Redirect.php
index f3a8f66a030..9f3bc8a31a3 100644
--- a/app/code/Magento/Page/Block/Redirect.php
+++ b/app/code/Magento/Page/Block/Redirect.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Page\Block;
 
-class Redirect extends \Magento\Core\Block\Template
+class Redirect extends \Magento\View\Block\Template
 {
     /**
      *  HTML form hidden fields
@@ -47,19 +47,19 @@ class Redirect extends \Magento\Core\Block\Template
     protected $_formFactory;
 
     /**
-     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Data\FormFactory $formFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Data\FormFactory $formFactory,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Data\FormFactory $formFactory,
         array $data = array()
     ) {
         $this->_formFactory = $formFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Page/Block/Switcher.php b/app/code/Magento/Page/Block/Switcher.php
index f90edfcf9be..2e638715576 100644
--- a/app/code/Magento/Page/Block/Switcher.php
+++ b/app/code/Magento/Page/Block/Switcher.php
@@ -33,31 +33,10 @@
  */
 namespace Magento\Page\Block;
 
-class Switcher extends \Magento\Core\Block\Template
+class Switcher extends \Magento\View\Block\Template
 {
     protected $_storeInUrl;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
-    }
-
     public function getCurrentWebsiteId()
     {
         return $this->_storeManager->getStore()->getWebsiteId();
diff --git a/app/code/Magento/Page/Block/Template/Container.php b/app/code/Magento/Page/Block/Template/Container.php
index b6287ab096d..b0cb503af21 100644
--- a/app/code/Magento/Page/Block/Template/Container.php
+++ b/app/code/Magento/Page/Block/Template/Container.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Page\Block\Template;
 
-class Container extends \Magento\Core\Block\Template
+class Container extends \Magento\View\Block\Template
 {
 
     protected $_template = 'template/container.phtml';
diff --git a/app/code/Magento/Page/Block/Template/Links/Block.php b/app/code/Magento/Page/Block/Template/Links/Block.php
index 98b9d007c0c..3b9b844e53b 100644
--- a/app/code/Magento/Page/Block/Template/Links/Block.php
+++ b/app/code/Magento/Page/Block/Template/Links/Block.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Page\Block\Template\Links;
 
-class Block extends \Magento\Core\Block\Template
+class Block extends \Magento\View\Block\Template
 {
 
     /**
diff --git a/app/code/Magento/Page/Helper/Data.php b/app/code/Magento/Page/Helper/Data.php
index 0211cbb875d..cbc6a151a36 100644
--- a/app/code/Magento/Page/Helper/Data.php
+++ b/app/code/Magento/Page/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Page\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Page/Helper/Html.php b/app/code/Magento/Page/Helper/Html.php
index fa353d78a67..8eb193d743a 100644
--- a/app/code/Magento/Page/Helper/Html.php
+++ b/app/code/Magento/Page/Helper/Html.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Page\Helper;
 
-class Html extends \Magento\Core\Helper\AbstractHelper
+class Html extends \Magento\App\Helper\AbstractHelper
 {
     
 }
diff --git a/app/code/Magento/Page/Helper/Layout.php b/app/code/Magento/Page/Helper/Layout.php
index 10986749410..680c21a624c 100644
--- a/app/code/Magento/Page/Helper/Layout.php
+++ b/app/code/Magento/Page/Helper/Layout.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Helper;
 
-class Layout extends \Magento\Core\Helper\AbstractHelper
+class Layout extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\View\LayoutInterface
@@ -48,12 +48,12 @@ class Layout extends \Magento\Core\Helper\AbstractHelper
     /**
      * @param \Magento\Page\Model\Config $config
      * @param \Magento\View\LayoutInterface $layout
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Page\Model\Config $config,
         \Magento\View\LayoutInterface $layout,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         parent::__construct($context);
         $this->_layout = $layout;
diff --git a/app/code/Magento/Page/Helper/Robots.php b/app/code/Magento/Page/Helper/Robots.php
index 7f8c115a7ca..3ceaa0738d3 100644
--- a/app/code/Magento/Page/Helper/Robots.php
+++ b/app/code/Magento/Page/Helper/Robots.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Page\Helper;
 
-class Robots extends \Magento\Core\Helper\AbstractHelper
+class Robots extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_ROBOTS_DEFAULT_CUSTOM_INSTRUCTIONS = 'design/search_engine_robots/default_custom_instructions';
 
@@ -45,11 +45,11 @@ class Robots extends \Magento\Core\Helper\AbstractHelper
     /**
      * Constructor
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Config $coreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Config $coreConfig
     ) {
         parent::__construct(
diff --git a/app/code/Magento/Page/view/frontend/js/calendar.phtml b/app/code/Magento/Page/view/frontend/js/calendar.phtml
index c809e33c75f..60228433b46 100644
--- a/app/code/Magento/Page/view/frontend/js/calendar.phtml
+++ b/app/code/Magento/Page/view/frontend/js/calendar.phtml
@@ -28,7 +28,7 @@
 /**
  * Calendar localization script. Should be put into page header.
  *
- * @see \Magento\Core\Block\Html\Calendar
+ * @see \Magento\View\Block\Html\Calendar
  */
 ?>
 
diff --git a/app/code/Magento/Page/view/frontend/layout/default.xml b/app/code/Magento/Page/view/frontend/layout/default.xml
index 14c3a8c96eb..f1fa0ada26f 100644
--- a/app/code/Magento/Page/view/frontend/layout/default.xml
+++ b/app/code/Magento/Page/view/frontend/layout/default.xml
@@ -60,8 +60,8 @@
         <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"/>
+                <block class="Magento\View\Block\Messages" name="global_messages" as="global_messages"/>
+                <block class="Magento\View\Block\Messages" name="messages" as="messages"/>
             </container>
         </container>
         <container name="main" as="main" label="Main Content Container" htmlTag="div" htmlClass="column main">
@@ -80,7 +80,7 @@
                 <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\Core\Block\Template" name="report.bugs" template="Magento_Page::html/bugreport.phtml" />
+                <block class="Magento\View\Block\Template" name="report.bugs" template="Magento_Page::html/bugreport.phtml" />
             </container>
         </container>
         <container name="before_body_end" as="before_body_end" label="Page Bottom">
@@ -163,6 +163,7 @@
                 <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"/>
+        <block class="Magento\View\Block\Template" name="head.components" as="components" template="Magento_Page::js/components.phtml"/>
     </referenceBlock>
+    <update handle="default_head_blocks"/>
 </layout>
diff --git a/app/code/Magento/Page/view/frontend/layout/default_head_blocks.xml b/app/code/Magento/Page/view/frontend/layout/default_head_blocks.xml
new file mode 100644
index 00000000000..3e826235e57
--- /dev/null
+++ b/app/code/Magento/Page/view/frontend/layout/default_head_blocks.xml
@@ -0,0 +1,122 @@
+<?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">
+        <block class="Magento\Page\Block\Html\Head\Css" name="magento-calendar-css">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/calendar.css</argument>
+                <argument name="properties" xsi:type="array">
+                    <item name="attributes" xsi:type="string"/>
+                </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="magento-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="magento-magento-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/mage.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-decorate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/decorate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-translate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/translate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-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="magento-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="magento-common-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/common.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-toggle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/toggle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-popup-window-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/popup-window.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Css" name="magento-page-css-tabs-css">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Page::css/tabs.css</argument>
+                <argument name="properties" xsi:type="array">
+                    <item name="attributes" xsi:type="string"/>
+                </argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-loader-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/loader.js</argument>
+            </arguments>
+        </block>
+        <!-- Preload resources for widgets -->
+        <block class="Magento\Page\Block\Js\Components" name="head.components" as="components" template="Magento_Page::js/components.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/code/Magento/Page/view/frontend/layout/page_calendar.xml b/app/code/Magento/Page/view/frontend/layout/page_calendar.xml
index 7cf88a598f8..3ce05b304eb 100644
--- a/app/code/Magento/Page/view/frontend/layout/page_calendar.xml
+++ b/app/code/Magento/Page/view/frontend/layout/page_calendar.xml
@@ -37,6 +37,6 @@
         </block>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
+        <block class="Magento\View\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Page/view/frontend/layout/print.xml b/app/code/Magento/Page/view/frontend/layout/print.xml
index c8cf050b371..80491f76177 100644
--- a/app/code/Magento/Page/view/frontend/layout/print.xml
+++ b/app/code/Magento/Page/view/frontend/layout/print.xml
@@ -29,6 +29,7 @@
         <container name="after_body_start" as="after_body_start" label="Page Top"/>
         <container name="content" as="content" label="Main Content Area"/>
     </block>
+    <update handle="default_head_blocks"/>
     <referenceBlock name="head">
         <block class="Magento\Page\Block\Html\Head\Css" name="css-print-css">
             <arguments>
diff --git a/app/code/Magento/PageCache/Block/Adminhtml/Cache/Additional.php b/app/code/Magento/PageCache/Block/Adminhtml/Cache/Additional.php
index b738778674b..89e03c5a3da 100644
--- a/app/code/Magento/PageCache/Block/Adminhtml/Cache/Additional.php
+++ b/app/code/Magento/PageCache/Block/Adminhtml/Cache/Additional.php
@@ -42,20 +42,20 @@ class Additional extends \Magento\Backend\Block\Template
      */
     protected $_pageCacheData = null;
 
-    /**
-     * @param \Magento\PageCache\Helper\Data $pageCacheData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\PageCache\Helper\Data $pageCacheData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\PageCache\Helper\Data $pageCacheData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\PageCache\Helper\Data $pageCacheData,
+        array $data = array()
+    ) {
         $this->_pageCacheData = $pageCacheData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/PageCache/Controller/Adminhtml/PageCache.php b/app/code/Magento/PageCache/Controller/Adminhtml/PageCache.php
index f0f4723ffa6..c4f88d18c8d 100644
--- a/app/code/Magento/PageCache/Controller/Adminhtml/PageCache.php
+++ b/app/code/Magento/PageCache/Controller/Adminhtml/PageCache.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\PageCache\Controller\Adminhtml;
 
-class PageCache extends \Magento\Backend\Controller\Adminhtml\Action
+class PageCache extends \Magento\Backend\App\Action
 {
     /**
      * Clean external cache action
diff --git a/app/code/Magento/PageCache/Helper/Data.php b/app/code/Magento/PageCache/Helper/Data.php
index 43e058effa8..7bc45d76bd1 100644
--- a/app/code/Magento/PageCache/Helper/Data.php
+++ b/app/code/Magento/PageCache/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\PageCache\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Paths to external cache config options
@@ -64,13 +64,13 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context                 $context
+     * @param \Magento\App\Helper\Context                 $context
      * @param \Magento\PageCache\Model\CacheControlFactory $ccFactory
      * @param \Magento\Core\Model\Cookie                   $cookie
      * @param \Magento\Core\Model\Store\Config             $coreStoreConfig
      */
     function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\PageCache\Model\CacheControlFactory $ccFactory,
         \Magento\Core\Model\Cookie $cookie,
         \Magento\Core\Model\Store\Config $coreStoreConfig
diff --git a/app/code/Magento/PageCache/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/PageCache/view/frontend/layout/catalog_product_view.xml
index 024e6fc32e9..773199f930a 100644
--- a/app/code/Magento/PageCache/view/frontend/layout/catalog_product_view.xml
+++ b/app/code/Magento/PageCache/view/frontend/layout/catalog_product_view.xml
@@ -25,6 +25,6 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="external.pagecache.cookie" template="Magento_PageCache::cookie.phtml"/>
+        <block class="Magento\View\Block\Template" name="external.pagecache.cookie" template="Magento_PageCache::cookie.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Paygate/Controller/Adminhtml/Paygate/Authorizenet/Payment.php b/app/code/Magento/Paygate/Controller/Adminhtml/Paygate/Authorizenet/Payment.php
index 28bda85ce6d..80a4b863802 100644
--- a/app/code/Magento/Paygate/Controller/Adminhtml/Paygate/Authorizenet/Payment.php
+++ b/app/code/Magento/Paygate/Controller/Adminhtml/Paygate/Authorizenet/Payment.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Paygate\Controller\Adminhtml\Paygate\Authorizenet;
 
-class Payment extends \Magento\Backend\Controller\Adminhtml\Action
+class Payment extends \Magento\Backend\App\Action
 {
     /**
      * Session quote
@@ -43,11 +43,11 @@ class Payment extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_sessionQuote;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Adminhtml\Model\Session\Quote $sessionQuote
     ) {
         $this->_sessionQuote = $sessionQuote;
@@ -95,7 +95,7 @@ class Payment extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _getPaymentMethodsHtml()
     {
-        $layout = $this->getLayout();
+        $layout = $this->_view->getLayout();
 
         $update = $layout->getUpdate();
         $update->load('checkout_onepage_paymentmethod');
diff --git a/app/code/Magento/Paygate/Controller/Authorizenet/Payment.php b/app/code/Magento/Paygate/Controller/Authorizenet/Payment.php
index ceefc90e318..2543ccb856b 100644
--- a/app/code/Magento/Paygate/Controller/Authorizenet/Payment.php
+++ b/app/code/Magento/Paygate/Controller/Authorizenet/Payment.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Paygate\Controller\Authorizenet;
 
-class Payment extends \Magento\Core\Controller\Front\Action
+class Payment extends \Magento\App\Action\Action
 {
     /**
      * Checkout session
@@ -43,11 +43,11 @@ class Payment extends \Magento\Core\Controller\Front\Action
     protected $_session;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Checkout\Model\Session $session
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Checkout\Model\Session $session
     ) {
         $this->_session = $session;
@@ -90,7 +90,7 @@ class Payment extends \Magento\Core\Controller\Front\Action
      */
     protected function _getPaymentMethodsHtml()
     {
-        $layout = $this->getLayout();
+        $layout = $this->_view->getLayout();
         $update = $layout->getUpdate();
         $update->load('checkout_onepage_paymentmethod');
         $layout->generateXml();
diff --git a/app/code/Magento/Paygate/Helper/Data.php b/app/code/Magento/Paygate/Helper/Data.php
index 2bc53c8d828..4fea09a2e12 100644
--- a/app/code/Magento/Paygate/Helper/Data.php
+++ b/app/code/Magento/Paygate/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Paygate\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Converts a lot of messages to message
diff --git a/app/code/Magento/Payment/Block/Catalog/Product/View/Profile.php b/app/code/Magento/Payment/Block/Catalog/Product/View/Profile.php
index 82d34c7d521..5577a9c0e21 100644
--- a/app/code/Magento/Payment/Block/Catalog/Product/View/Profile.php
+++ b/app/code/Magento/Payment/Block/Catalog/Product/View/Profile.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Payment\Block\Catalog\Product\View;
 
-class Profile extends \Magento\Core\Block\Template
+class Profile extends \Magento\View\Block\Template
 {
     /**
      * Recurring profile instance
@@ -41,14 +41,8 @@ class Profile extends \Magento\Core\Block\Template
      *
      * @var \Magento\Core\Model\Registry
      */
-    protected $_coreRegistry = null;
+    protected $_registry = null;
 
-    /**
-     * Locale model
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
 
     /**
      * Recurring profile factory
@@ -58,26 +52,21 @@ class Profile extends \Magento\Core\Block\Template
     protected $_profileFactory;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Payment\Model\Recurring\ProfileFactory $profileFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Payment\Model\Recurring\ProfileFactory $profileFactory,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_coreRegistry = $registry;
-        $this->_locale = $locale;
+        parent::__construct($context, $coreData, $data);
+        $this->_registry = $registry;
         $this->_profileFactory = $profileFactory;
     }
 
@@ -108,7 +97,7 @@ class Profile extends \Magento\Core\Block\Template
         if ($this->_profile->getStartDateIsEditable()) {
             $this->setDateHtmlId('recurring_start_date');
             $calendar = $this->getLayout()
-                ->createBlock('Magento\Core\Block\Html\Date')
+                ->createBlock('Magento\View\Block\Html\Date')
                 ->setId('recurring_start_date')
                 ->setName(\Magento\Payment\Model\Recurring\Profile::BUY_REQUEST_START_DATETIME)
                 ->setClass('datetime-picker input-text')
@@ -126,7 +115,7 @@ class Profile extends \Magento\Core\Block\Template
      */
     protected function _prepareLayout()
     {
-        $product = $this->_coreRegistry->registry('current_product');
+        $product = $this->_registry->registry('current_product');
         if ($product) {
             $this->_profile = $this->_profileFactory->create()->importProduct($product);
         }
diff --git a/app/code/Magento/Payment/Block/Form.php b/app/code/Magento/Payment/Block/Form.php
index 9029dd74e0a..15536b24333 100644
--- a/app/code/Magento/Payment/Block/Form.php
+++ b/app/code/Magento/Payment/Block/Form.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Payment\Block;
 
-class Form extends \Magento\Core\Block\Template
+class Form extends \Magento\View\Block\Template
 {
     /**
      * Retrieve payment method model
diff --git a/app/code/Magento/Payment/Block/Form/Cc.php b/app/code/Magento/Payment/Block/Form/Cc.php
index 61659fc9f63..91f7e34dc60 100644
--- a/app/code/Magento/Payment/Block/Form/Cc.php
+++ b/app/code/Magento/Payment/Block/Form/Cc.php
@@ -39,20 +39,18 @@ class Cc extends \Magento\Payment\Block\Form
     protected $_paymentConfig;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Payment\Model\Config $paymentConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Payment\Model\Config $paymentConfig,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_paymentConfig = $paymentConfig;
     }
 
diff --git a/app/code/Magento/Payment/Block/Form/Container.php b/app/code/Magento/Payment/Block/Form/Container.php
index 7426cb6e27e..1ae3e7242ec 100644
--- a/app/code/Magento/Payment/Block/Form/Container.php
+++ b/app/code/Magento/Payment/Block/Form/Container.php
@@ -35,7 +35,7 @@
  */
 namespace Magento\Payment\Block\Form;
 
-class Container extends \Magento\Core\Block\Template
+class Container extends \Magento\View\Block\Template
 {
     /**
      * Prepare children blocks
diff --git a/app/code/Magento/Payment/Block/Info.php b/app/code/Magento/Payment/Block/Info.php
index 75b70c91154..0a6bf748651 100644
--- a/app/code/Magento/Payment/Block/Info.php
+++ b/app/code/Magento/Payment/Block/Info.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Payment\Block;
 
-class Info extends \Magento\Core\Block\Template
+class Info extends \Magento\View\Block\Template
 {
     /**
      * Payment rendered specific information
@@ -40,32 +40,6 @@ class Info extends \Magento\Core\Block\Template
 
     protected $_template = 'Magento_Payment::info/default.phtml';
 
-    /**
-     * Store manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-
-        $this->_storeManager = $storeManager;
-    }
-
     /**
      * Retrieve info model
      *
diff --git a/app/code/Magento/Payment/Block/Info/AbstractContainer.php b/app/code/Magento/Payment/Block/Info/AbstractContainer.php
index 21b17dc2955..cf9e7f12252 100644
--- a/app/code/Magento/Payment/Block/Info/AbstractContainer.php
+++ b/app/code/Magento/Payment/Block/Info/AbstractContainer.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Payment\Block\Info;
 
-abstract class AbstractContainer extends \Magento\Core\Block\Template
+abstract class AbstractContainer extends \Magento\View\Block\Template
 {
     /**
      * Payment data
@@ -43,19 +43,19 @@ abstract class AbstractContainer extends \Magento\Core\Block\Template
     protected $_paymentData = null;
 
     /**
-     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Payment\Helper\Data $paymentData
      * @param array $data
      */
     public function __construct(
-        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Payment\Helper\Data $paymentData,
         array $data = array()
     ) {
         $this->_paymentData = $paymentData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Payment/Block/Info/Cc.php b/app/code/Magento/Payment/Block/Info/Cc.php
index 6ce354312d5..7e4ce2c7265 100644
--- a/app/code/Magento/Payment/Block/Info/Cc.php
+++ b/app/code/Magento/Payment/Block/Info/Cc.php
@@ -31,13 +31,6 @@ namespace Magento\Payment\Block\Info;
 
 class Cc extends \Magento\Payment\Block\Info
 {
-    /**
-     * Locale model
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * Payment config model
      *
@@ -46,25 +39,18 @@ class Cc extends \Magento\Payment\Block\Info
     protected $_paymentConfig;
 
     /**
-     * Construct
-     *
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Payment\Model\Config $paymentConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Payment\Model\Config $paymentConfig,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $storeManager, $data);
-        $this->_locale = $locale;
+        parent::__construct($context, $coreData, $data);
         $this->_paymentConfig = $paymentConfig;
     }
     /**
diff --git a/app/code/Magento/Payment/Helper/Data.php b/app/code/Magento/Payment/Helper/Data.php
index c8abd936ef1..ccf2dc17c03 100644
--- a/app/code/Magento/Payment/Helper/Data.php
+++ b/app/code/Magento/Payment/Helper/Data.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Payment\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_PAYMENT_METHODS = 'payment';
 
@@ -72,7 +72,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Construct
      *
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Payment\Model\Method\Factory $paymentMethodFactory
@@ -81,7 +81,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Payment\Model\Config $paymentConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\View\LayoutInterface $layout,
         \Magento\Payment\Model\Method\Factory $paymentMethodFactory,
@@ -177,7 +177,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * Retrieve payment information block
      *
      * @param  \Magento\Payment\Model\Info $info
-     * @return \Magento\Core\Block\Template
+     * @return \Magento\View\Block\Template
      */
     public function getInfoBlock(\Magento\Payment\Model\Info $info)
     {
diff --git a/app/code/Magento/Payment/Model/Method/Free.php b/app/code/Magento/Payment/Model/Method/Free.php
index da2eb6c120e..f5da6215406 100644
--- a/app/code/Magento/Payment/Model/Method/Free.php
+++ b/app/code/Magento/Payment/Model/Method/Free.php
@@ -54,7 +54,7 @@ class Free extends \Magento\Payment\Model\Method\AbstractMethod
     /**
      * Store manager
      *
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
diff --git a/app/code/Magento/Payment/view/frontend/form/cc.phtml b/app/code/Magento/Payment/view/frontend/form/cc.phtml
index 55366ba1761..d2cdc7b285f 100644
--- a/app/code/Magento/Payment/view/frontend/form/cc.phtml
+++ b/app/code/Magento/Payment/view/frontend/form/cc.phtml
@@ -24,7 +24,7 @@
  */
 ?>
 <?php $_code=$this->getMethodCode() ?>
-<fieldset class="fieldset items" id="payment_form_<?php echo $_code ?>" style="display: none;">
+<fieldset class="fieldset payment items ccard <?php echo $_code ?>" id="payment_form_<?php echo $_code ?>" style="display: none;">
     <div class="field type required">
         <label for="<?php echo $_code ?>_cc_type" class="label"><span><?php echo __('Credit Card Type') ?></span></label>
         <div class="control">
@@ -46,25 +46,30 @@
     <div class="field date required" id="<?php echo $_code ?>_cc_type_exp_div">
         <label for="<?php echo $_code ?>_expiration" class="label"><span><?php echo __('Expiration Date') ?></span></label>
         <div class="control">
-            <div class="nested">
-                <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" class="select month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
-                    <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
-                    <?php foreach ($this->getCcMonths() as $k=>$v): ?>
-                        <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                    <?php endforeach ?>
-                </select>
-            </div>
-            <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
-            <div class="nested">
-                <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="select year" data-validate='{required:true}'>
-                    <?php foreach ($this->getCcYears() as $k=>$v): ?>
-                        <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                    <?php endforeach ?>
-                </select>
+            <div class="fields group group-2">
+                <div class="field no-label month">
+                    <div class="control">
+                        <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" class="select month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
+                            <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
+                            <?php foreach ($this->getCcMonths() as $k=>$v): ?>
+                                <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                            <?php endforeach ?>
+                        </select>
+                    </div>
+                </div>
+                <div class="field no-label year">
+                    <div class="control">
+                     <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
+                        <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="select year" data-validate='{required:true}'>
+                            <?php foreach ($this->getCcYears() as $k=>$v): ?>
+                                <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                            <?php endforeach ?>
+                        </select>
+                    </div>
+                </div>
             </div>
         </div>
     </div>
-    <?php echo $this->getChildHtml() ?>
     <?php if($this->hasVerification()): ?>
     <div class="field cvv required" id="<?php echo $_code ?>_cc_type_cvv_div">
         <label for="<?php echo $_code ?>_cc_cid" class="label"><span><?php echo __('Card Verification Number') ?></span></label>
@@ -98,19 +103,25 @@
             <div class="field date required">
                 <label for="<?php echo $_code ?>_start_month" class="label"><span><?php echo __('Start Date') ?></span></label>
                 <div class="control">
-                    <div class="nested">
-                        <select id="<?php echo $_code ?>_start_month" name="payment[cc_ss_start_month]" class="select month" data-validate='{"validate-cc-ukss":true}'>
-                        <?php foreach ($this->getCcMonths() as $k=>$v): ?>
-                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_month')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                        <?php endforeach ?>
-                        </select>
-                    </div>
-                    <div class="nested">
-                        <select id="<?php echo $_code ?>_start_year" name="payment[cc_ss_start_year]" class="select year" data-validate='{"validate-cc-ukss":true}'>
-                        <?php foreach ($this->getSsStartYears() as $k=>$v): ?>
-                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_year')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                        <?php endforeach ?>
-                        </select>
+                    <div class="fields group group-2">
+                        <div class="field no-label">
+                            <div class="control">
+                                <select id="<?php echo $_code ?>_start_month" name="payment[cc_ss_start_month]" class="select month" data-validate='{"validate-cc-ukss":true}'>
+                                <?php foreach ($this->getCcMonths() as $k=>$v): ?>
+                                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_month')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                                <?php endforeach ?>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="field no-label">
+                            <div class="control">
+                                <select id="<?php echo $_code ?>_start_year" name="payment[cc_ss_start_year]" class="select year" data-validate='{"validate-cc-ukss":true}'>
+                                <?php foreach ($this->getSsStartYears() as $k=>$v): ?>
+                                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_year')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                                <?php endforeach ?>
+                                </select>
+                            </div>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -125,4 +136,5 @@
         </script>
     </div>
     <?php endif; ?>
+    <?php echo $this->getChildHtml() ?>
 </fieldset>
diff --git a/app/code/Magento/Payment/view/frontend/form/ccsave.phtml b/app/code/Magento/Payment/view/frontend/form/ccsave.phtml
index 0513f139d28..5019764e241 100644
--- a/app/code/Magento/Payment/view/frontend/form/ccsave.phtml
+++ b/app/code/Magento/Payment/view/frontend/form/ccsave.phtml
@@ -24,7 +24,7 @@
  */
 ?>
 <?php $_code=$this->getMethodCode() ?>
-<fieldset class="fieldset items" id="payment_form_<?php echo $_code ?>" style="display:none;">
+<fieldset class="fieldset payment items ccard <?php echo $_code ?>" id="payment_form_<?php echo $_code ?>" style="display:none;">
     <div class="field name required">
         <label for="<?php echo $_code ?>_cc_owner" class="label"><span><?php echo __('Name on Card') ?></span></label>
         <div class="control">
@@ -52,25 +52,30 @@
     <div class="field date required">
         <label for="<?php echo $_code ?>_expiration" class="label"><span><?php echo __('Expiration Date') ?></span></label>
         <div class="control">
-            <div class="nested">
-                <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" class="month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
-                <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
-                <?php foreach ($this->getCcMonths() as $k=>$v): ?>
-                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                <?php endforeach ?>
-                </select>
-            </div>
-            <div class="nested">
-                <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
-                <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="year" data-validate='{required:true}'>
-                <?php foreach ($this->getCcYears() as $k=>$v): ?>
-                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                <?php endforeach ?>
-                </select>
+            <div class="fields group group-2">
+                <div class="field no-label month">
+                    <div class="control">
+                        <select id="<?php echo $_code ?>_expiration" name="payment[cc_exp_month]" class="month" data-validate='{required:true, "validate-cc-exp":"#<?php echo $_code ?>_expiration_yr"}'>
+                        <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
+                        <?php foreach ($this->getCcMonths() as $k=>$v): ?>
+                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                        <?php endforeach ?>
+                        </select>
+                    </div>
+                </div>
+                <div class="field no-label year">
+                    <div class="control">
+                        <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
+                        <select id="<?php echo $_code ?>_expiration_yr" name="payment[cc_exp_year]" class="year" data-validate='{required:true}'>
+                        <?php foreach ($this->getCcYears() as $k=>$v): ?>
+                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                        <?php endforeach ?>
+                        </select>
+                    </div>
+                </div>
             </div>
         </div>
     </div>
-    <?php echo $this->getChildHtml() ?>
     <?php if($this->hasVerification()): ?>
     <div class="field cvv required">
         <label for="<?php echo $_code ?>_cc_cid" class="label"><span><?php echo __('Card Verification Number') ?></span></label>
@@ -104,20 +109,27 @@
 
             <div class="field date required">
                 <label for="<?php echo $_code ?>_start_month" class="label"><span><?php echo __('Start Date') ?></span></label>
+
                 <div class="control">
-                    <div class="nested">
-                        <select id="<?php echo $_code ?>_start_month" name="payment[cc_ss_start_month]" class="month" data-validate='{"validate-cc-ukss":true}'>
-                        <?php foreach ($this->getCcMonths() as $k=>$v): ?>
-                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_month')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                        <?php endforeach ?>
-                        </select>
-                    </div>
-                    <div class="nested">
-                        <select id="<?php echo $_code ?>_start_year" name="payment[cc_ss_start_year]" class="year" data-validate='{"validate-cc-ukss":true}'>
-                        <?php foreach ($this->getSsStartYears() as $k=>$v): ?>
-                            <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_year')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
-                        <?php endforeach ?>
-                        </select>
+                    <div class="fields group group-2">
+                        <div class="field no-label">
+                            <div class="control">
+                                <select id="<?php echo $_code ?>_start_month" name="payment[cc_ss_start_month]" class="month" data-validate='{"validate-cc-ukss":true}'>
+                                <?php foreach ($this->getCcMonths() as $k=>$v): ?>
+                                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_month')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                                <?php endforeach ?>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="field no-label">
+                            <div class="control">
+                                <select id="<?php echo $_code ?>_start_year" name="payment[cc_ss_start_year]" class="year" data-validate='{"validate-cc-ukss":true}'>
+                                <?php foreach ($this->getSsStartYears() as $k=>$v): ?>
+                                    <option value="<?php echo $k?$k:'' ?>"<?php if($k==$this->getInfoData('cc_ss_start_year')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
+                                <?php endforeach ?>
+                                </select>
+                            </div>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -132,4 +144,5 @@
         </script>
     </div>
     <?php endif; ?>
+    <?php echo $this->getChildHtml() ?>
 </fieldset>
diff --git a/app/code/Magento/Payment/view/frontend/form/purchaseorder.phtml b/app/code/Magento/Payment/view/frontend/form/purchaseorder.phtml
index 3c0dead5af6..a1247678722 100644
--- a/app/code/Magento/Payment/view/frontend/form/purchaseorder.phtml
+++ b/app/code/Magento/Payment/view/frontend/form/purchaseorder.phtml
@@ -23,7 +23,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<fieldset class="fieldset items" id="payment_form_<?php echo $this->getMethodCode() ?>" style="display: none">
+<fieldset class="fieldset items <?php echo $this->getMethodCode() ?>" id="payment_form_<?php echo $this->getMethodCode() ?>" style="display: none">
     <div class="field number required">
         <label for="po_number" class="label"><span><?php echo __('Purchase Order Number') ?></span></label>
         <div class="control">
diff --git a/app/code/Magento/Payment/view/frontend/layout/catalog_product_view.xml b/app/code/Magento/Payment/view/frontend/layout/catalog_product_view.xml
index 7155d46d979..7e01d578f9a 100644
--- a/app/code/Magento/Payment/view/frontend/layout/catalog_product_view.xml
+++ b/app/code/Magento/Payment/view/frontend/layout/catalog_product_view.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="product.info">
+    <referenceBlock name="product.info.main">
         <block class="Magento\Payment\Block\Catalog\Product\View\Profile" name="product.info.additional.recurring.schedule" as="recurring_info" template="catalog/product/view/profile/schedule.phtml" group="detailed_info">
             <action method="setTitle">
                 <argument translate="true" name="value" xsi:type="string">Recurring Profile</argument>
diff --git a/app/code/Magento/Paypal/Block/Adminhtml/Settlement/Details/Form.php b/app/code/Magento/Paypal/Block/Adminhtml/Settlement/Details/Form.php
index 6218800cdad..ca41e7aa837 100644
--- a/app/code/Magento/Paypal/Block/Adminhtml/Settlement/Details/Form.php
+++ b/app/code/Magento/Paypal/Block/Adminhtml/Settlement/Details/Form.php
@@ -31,37 +31,29 @@ namespace Magento\Paypal\Block\Adminhtml\Settlement\Details;
 
 class Form extends \Magento\Backend\Block\Widget\Form\Generic
 {
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Paypal\Model\Report\Settlement
      */
     protected $_settlement;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Paypal\Model\Report\Settlement $settlement
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Paypal\Model\Report\Settlement $settlement
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Paypal\Model\Report\Settlement $settlement,
-        array $data = array()
-    ) {
-        $this->_locale = $locale;
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Paypal\Model\Report\Settlement $settlement,
+        array $data = array()
+    ) {
         $this->_settlement = $settlement;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Store.php b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Store.php
index dfa16aa7a2b..41080a46a66 100644
--- a/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Store.php
+++ b/app/code/Magento/Paypal/Block/Adminhtml/System/Config/Fieldset/Store.php
@@ -48,31 +48,19 @@ class Store
     protected $_coreConfig;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Config $coreConfig,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
-        parent::__construct(
-            $coreData,
-            $context,
-            $data
-        );
+        parent::__construct($context, $coreData, $data);
         $this->_coreConfig = $coreConfig;
-        $this->_storeManager = $storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Block/Express/Form.php b/app/code/Magento/Paypal/Block/Express/Form.php
index c97c9acf6ef..5583bc112b5 100644
--- a/app/code/Magento/Paypal/Block/Express/Form.php
+++ b/app/code/Magento/Paypal/Block/Express/Form.php
@@ -51,26 +51,24 @@ class Form extends \Magento\Paypal\Block\Standard\Form
     protected $_customerSession;
 
     /**
-     * @param \Magento\Paypal\Helper\Data $paypalData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory
+     * @param \Magento\Paypal\Helper\Data $paypalData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Paypal\Helper\Data $paypalData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory,
+        \Magento\Paypal\Helper\Data $paypalData,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_paypalData = $paypalData;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $locale, $paypalConfigFactory, $data);
+        parent::__construct($context, $coreData, $paypalConfigFactory, $data);
     }
 
     /**
@@ -86,7 +84,7 @@ class Form extends \Magento\Paypal\Block\Standard\Form
     /**
      * Set data to block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Paypal/Block/Express/Review.php b/app/code/Magento/Paypal/Block/Express/Review.php
index 0747dbc3816..6f55be3452b 100644
--- a/app/code/Magento/Paypal/Block/Express/Review.php
+++ b/app/code/Magento/Paypal/Block/Express/Review.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Paypal\Block\Express;
 
-class Review extends \Magento\Core\Block\Template
+class Review extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Sales\Model\Quote
diff --git a/app/code/Magento/Paypal/Block/Express/Shortcut.php b/app/code/Magento/Paypal/Block/Express/Shortcut.php
index 86c0b5e0a5d..202a726da88 100644
--- a/app/code/Magento/Paypal/Block/Express/Shortcut.php
+++ b/app/code/Magento/Paypal/Block/Express/Shortcut.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Paypal\Block\Express;
 
-class Shortcut extends \Magento\Core\Block\Template
+class Shortcut extends \Magento\View\Block\Template
 {
     /**
      * Position of "OR" label against shortcut
@@ -70,7 +70,7 @@ class Shortcut extends \Magento\Core\Block\Template
      *
      * @var \Magento\Core\Model\Registry
      */
-    protected $_coreRegistry;
+    protected $_registry;
 
     /**
      * Payment data
@@ -86,11 +86,6 @@ class Shortcut extends \Magento\Core\Block\Template
      */
     protected $_paypalData;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
@@ -117,12 +112,11 @@ class Shortcut extends \Magento\Core\Block\Template
     protected $mathRandom;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Paypal\Helper\Data $paypalData
      * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
@@ -131,12 +125,11 @@ class Shortcut extends \Magento\Core\Block\Template
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Paypal\Helper\Data $paypalData,
         \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
@@ -144,20 +137,19 @@ class Shortcut extends \Magento\Core\Block\Template
         \Magento\Math\Random $mathRandom,
         array $data = array()
     ) {
-        $this->_coreRegistry = $registry;
+        $this->_registry = $registry;
         $this->_paypalData = $paypalData;
         $this->_paymentData = $paymentData;
-        $this->_locale = $locale;
         $this->_customerSession = $customerSession;
         $this->_paypalConfigFactory = $paypalConfigFactory;
         $this->_checkoutSession = $checkoutSession;
         $this->_checkoutFactory = $checkoutFactory;
         $this->mathRandom = $mathRandom;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
@@ -177,7 +169,7 @@ class Shortcut extends \Magento\Core\Block\Template
         if ($isInCatalog) {
             // Show PayPal shortcut on a product view page only if product has nonzero price
             /** @var $currentProduct \Magento\Catalog\Model\Product */
-            $currentProduct = $this->_coreRegistry->registry('current_product');
+            $currentProduct = $this->_registry->registry('current_product');
             if (!is_null($currentProduct)) {
                 $productPrice = (float)$currentProduct->getFinalPrice();
                 if (empty($productPrice) && !$currentProduct->isGrouped()) {
diff --git a/app/code/Magento/Paypal/Block/Iframe.php b/app/code/Magento/Paypal/Block/Iframe.php
index b3f13149320..2e8eb96bad9 100644
--- a/app/code/Magento/Paypal/Block/Iframe.php
+++ b/app/code/Magento/Paypal/Block/Iframe.php
@@ -75,22 +75,22 @@ class Iframe extends \Magento\Payment\Block\Form
     protected $_checkoutSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         array $data = array()
     ) {
         $this->_orderFactory = $orderFactory;
         $this->_checkoutSession = $checkoutSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -164,7 +164,7 @@ class Iframe extends \Magento\Payment\Block\Form
     /**
      * Before rendering html, check if is block rendering needed
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Paypal/Block/Logo.php b/app/code/Magento/Paypal/Block/Logo.php
index c73a29b05f3..c07fcde8f2b 100644
--- a/app/code/Magento/Paypal/Block/Logo.php
+++ b/app/code/Magento/Paypal/Block/Logo.php
@@ -29,35 +29,27 @@
  */
 namespace Magento\Paypal\Block;
 
-class Logo extends \Magento\Core\Block\Template
+class Logo extends \Magento\View\Block\Template
 {
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Paypal\Model\Config
      */
     protected $_paypalConfig;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Paypal\Model\Config $paypalConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Paypal\Model\Config $paypalConfig,
         array $data = array()
     ) {
-        $this->_locale = $locale;
         $this->_paypalConfig = $paypalConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Block/Payflow/Link/Iframe.php b/app/code/Magento/Paypal/Block/Payflow/Link/Iframe.php
index e867dcbed59..dd80bd9909a 100644
--- a/app/code/Magento/Paypal/Block/Payflow/Link/Iframe.php
+++ b/app/code/Magento/Paypal/Block/Payflow/Link/Iframe.php
@@ -39,23 +39,23 @@ class Iframe extends \Magento\Paypal\Block\Iframe
     protected $_paymentData = null;
 
     /**
-     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
+     * @param \Magento\Payment\Helper\Data $paymentData
      * @param array $data
      */
     public function __construct(
-        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
+        \Magento\Payment\Helper\Data $paymentData,
         array $data = array()
     ) {
         $this->_paymentData = $paymentData;
-        parent::__construct($coreData, $context, $orderFactory, $checkoutSession, $data);
+        parent::__construct($context, $coreData, $orderFactory, $checkoutSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Block/Payment/Info.php b/app/code/Magento/Paypal/Block/Payment/Info.php
index a21742b905c..43185675a35 100644
--- a/app/code/Magento/Paypal/Block/Payment/Info.php
+++ b/app/code/Magento/Paypal/Block/Payment/Info.php
@@ -38,25 +38,21 @@ class Info extends \Magento\Payment\Block\Info\Cc
     protected $_paypalInfoFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Payment\Model\Config $paymentConfig
      * @param \Magento\Paypal\Model\InfoFactory $paypalInfoFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Payment\Model\Config $paymentConfig,
         \Magento\Paypal\Model\InfoFactory $paypalInfoFactory,
         array $data = array()
     ) {
         $this->_paypalInfoFactory = $paypalInfoFactory;
-        parent::__construct($coreData, $context, $storeManager, $locale, $paymentConfig, $data);
+        parent::__construct($context, $coreData, $paymentConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Block/Standard/Form.php b/app/code/Magento/Paypal/Block/Standard/Form.php
index 330e67c4d9a..24b4c428152 100644
--- a/app/code/Magento/Paypal/Block/Standard/Form.php
+++ b/app/code/Magento/Paypal/Block/Standard/Form.php
@@ -44,33 +44,25 @@ class Form extends \Magento\Payment\Block\Form
      */
     protected $_config;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Paypal\Model\ConfigFactory
      */
     protected $_paypalConfigFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Paypal\Model\ConfigFactory $paypalConfigFactory,
         array $data = array()
     ) {
-        $this->_locale = $locale;
         $this->_paypalConfigFactory = $paypalConfigFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -79,8 +71,8 @@ class Form extends \Magento\Payment\Block\Form
     protected function _construct()
     {
         $this->_config = $this->_paypalConfigFactory->create()->setMethod($this->getMethodCode());
-        /** @var $mark \Magento\Core\Block\Template */
-        $mark = $this->_layout->createBlock('Magento\Core\Block\Template');
+        /** @var $mark \Magento\View\Block\Template */
+        $mark = $this->_layout->createBlock('Magento\View\Block\Template');
         $mark->setTemplate('Magento_Paypal::payment/mark.phtml')
             ->setPaymentAcceptanceMarkHref($this->_config->getPaymentMarkWhatIsPaypalUrl($this->_locale))
             ->setPaymentAcceptanceMarkSrc($this->_config->getPaymentMarkImageUrl($this->_locale->getLocaleCode()));
diff --git a/app/code/Magento/Paypal/Block/Standard/Redirect.php b/app/code/Magento/Paypal/Block/Standard/Redirect.php
index ff2e99b4898..7756aae0040 100644
--- a/app/code/Magento/Paypal/Block/Standard/Redirect.php
+++ b/app/code/Magento/Paypal/Block/Standard/Redirect.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Paypal\Block\Standard;
 
-class Redirect extends \Magento\Core\Block\AbstractBlock
+class Redirect extends \Magento\View\Block\AbstractBlock
 {
     /**
      * @var \Magento\Data\FormFactory
@@ -48,17 +48,17 @@ class Redirect extends \Magento\Core\Block\AbstractBlock
     protected $mathRandom;
 
     /**
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Core\Block\Context $context
      * @param \Magento\Paypal\Model\StandardFactory $paypalStandardFactory
      * @param \Magento\Math\Random $mathRandom
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Context $context,
         \Magento\Data\FormFactory $formFactory,
         \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Core\Block\Context $context,
         \Magento\Paypal\Model\StandardFactory $paypalStandardFactory,
         \Magento\Math\Random $mathRandom,
         array $data = array()
diff --git a/app/code/Magento/Paypal/Controller/Adminhtml/Paypal/Reports.php b/app/code/Magento/Paypal/Controller/Adminhtml/Paypal/Reports.php
index 5eb5e07bda3..a1150de185d 100644
--- a/app/code/Magento/Paypal/Controller/Adminhtml/Paypal/Reports.php
+++ b/app/code/Magento/Paypal/Controller/Adminhtml/Paypal/Reports.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Paypal\Controller\Adminhtml\Paypal;
 
-class Reports extends \Magento\Backend\Controller\Adminhtml\Action
+class Reports extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -54,21 +54,23 @@ class Reports extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_logger;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Paypal\Model\Report\Settlement\RowFactory $rowFactory
      * @param \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
+     * @param \Magento\Logger $logger
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Paypal\Model\Report\Settlement\RowFactory $rowFactory,
-        \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
+        \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory,
+        \Magento\Logger $logger
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_rowFactory = $rowFactory;
         $this->_settlementFactory = $settlementFactory;
-        $this->_logger = $context->getLogger();
+        $this->_logger = $logger;
         parent::__construct($context);
     }
 
@@ -77,7 +79,8 @@ class Reports extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_initAction()->renderLayout();
+        $this->_initAction();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -85,8 +88,8 @@ class Reports extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -101,11 +104,13 @@ class Reports extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
         $this->_coreRegistry->register('current_transaction', $row);
-        $this->_initAction()
-            ->_title(__('View Transaction'))
-            ->_addContent($this->getLayout()
-                ->createBlock('Magento\Paypal\Block\Adminhtml\Settlement\Details', 'settlementDetails'))
-            ->renderLayout();
+        $this->_initAction();
+        $this->_title->add(__('View Transaction'));
+        $this->_addContent(
+            $this->_view->getLayout()
+                ->createBlock('Magento\Paypal\Block\Adminhtml\Settlement\Details', 'settlementDetails')
+        );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -152,9 +157,9 @@ class Reports extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->_title(__('PayPal Settlement Reports'));
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Paypal::report_salesroot_paypal_settlement_reports')
+        $this->_title->add(__('PayPal Settlement Reports'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Paypal::report_salesroot_paypal_settlement_reports')
             ->_addBreadcrumb(__('Reports'), __('Reports'))
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('PayPal Settlement Reports'), __('PayPal Settlement Reports'));
diff --git a/app/code/Magento/Paypal/Controller/Express.php b/app/code/Magento/Paypal/Controller/Express.php
index 8445f06224e..d6fd4b8697b 100644
--- a/app/code/Magento/Paypal/Controller/Express.php
+++ b/app/code/Magento/Paypal/Controller/Express.php
@@ -61,9 +61,8 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
     protected $_customerHelper;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -75,9 +74,8 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
@@ -92,7 +90,6 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
         parent::__construct(
             $context,
             $customerSession,
-            $urlBuilder,
             $quoteFactory,
             $checkoutSession,
             $orderFactory,
@@ -106,8 +103,8 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
      */
     public function redirectLogin()
     {
-        $this->setFlag('', 'no-dispatch', true);
-        $this->_customerSession->setBeforeAuthUrl($this->_getRefererUrl());
+        $this->_actionFlag->set('', 'no-dispatch', true);
+        $this->_customerSession->setBeforeAuthUrl($this->_redirect->getRefererUrl());
         $this->getResponse()->setRedirect(
             $this->_urlHelper->addRequestParam($this->_customerHelper->getLoginUrl(), array('context' => 'checkout'))
         );
diff --git a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
index c47bebf804a..c1ad618cc43 100644
--- a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
+++ b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Paypal\Controller\Express;
 
-abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
+abstract class AbstractExpress extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Paypal\Model\Express\Checkout
@@ -79,11 +79,6 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
      */
     protected $_customerSession;
 
-    /**
-     * @var \Magento\UrlInterface
-     */
-    protected $_urlBuilder;
-
     /**
      * @var \Magento\Sales\Model\QuoteFactory
      */
@@ -110,9 +105,8 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     protected $_paypalSession;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -120,9 +114,8 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
      * @param \Magento\Core\Model\Session\Generic $paypalSession
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
@@ -130,21 +123,12 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
         \Magento\Core\Model\Session\Generic $paypalSession
     ) {
         $this->_customerSession = $customerSession;
-        $this->_urlBuilder = $urlBuilder;
         $this->_quoteFactory = $quoteFactory;
         $this->_checkoutSession = $checkoutSession;
         $this->_orderFactory = $orderFactory;
         $this->_checkoutFactory = $checkoutFactory;
         $this->_paypalSession = $paypalSession;
         parent::__construct($context);
-    }
-
-    /**
-     * Instantiate config
-     */
-    protected function _construct()
-    {
-        parent::_construct();
         $parameters = array('params' => array($this->_configMethod));
         $this->_config = $this->_objectManager->create($this->_configType, $parameters);
     }
@@ -178,14 +162,14 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
 
             // giropay
             $this->_checkout->prepareGiropayUrls(
-                $this->_urlBuilder->getUrl('checkout/onepage/success'),
-                $this->_urlBuilder->getUrl('paypal/express/cancel'),
-                $this->_urlBuilder->getUrl('checkout/onepage/success')
+                $this->_url->getUrl('checkout/onepage/success'),
+                $this->_url->getUrl('paypal/express/cancel'),
+                $this->_url->getUrl('checkout/onepage/success')
             );
 
             $token = $this->_checkout->start(
-                $this->_urlBuilder->getUrl('*/*/return'),
-                $this->_urlBuilder->getUrl('*/*/cancel')
+                $this->_url->getUrl('*/*/return'),
+                $this->_url->getUrl('*/*/cancel')
             );
             if ($token && $url = $this->_checkout->getRedirectUrl()) {
                 $this->_initToken($token);
@@ -278,15 +262,15 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
         try {
             $this->_initCheckout();
             $this->_checkout->prepareOrderReview($this->_initToken());
-            $this->loadLayout();
-            $this->_initLayoutMessages('Magento\Paypal\Model\Session');
-            $reviewBlock = $this->getLayout()->getBlock('paypal.express.review');
+            $this->_view->loadLayout();
+            $this->_view->getLayout()->initMessages('Magento\Paypal\Model\Session');
+            $reviewBlock = $this->_view->getLayout()->getBlock('paypal.express.review');
             $reviewBlock->setQuote($this->_getQuote());
             $reviewBlock->getChildBlock('details')->setQuote($this->_getQuote());
             if ($reviewBlock->getChildBlock('shipping_method')) {
                 $reviewBlock->getChildBlock('shipping_method')->setQuote($this->_getQuote());
             }
-            $this->renderLayout();
+            $this->_view->renderLayout();
             return;
         } catch (\Magento\Core\Exception $e) {
             $this->_checkoutSession->addError($e->getMessage());
@@ -322,8 +306,8 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
             $this->_initCheckout();
             $this->_checkout->updateShippingMethod($this->getRequest()->getParam('shipping_method'));
             if ($isAjax) {
-                $this->loadLayout('paypal_express_review_details');
-                $this->getResponse()->setBody($this->getLayout()->getBlock('root')
+                $this->_view->loadLayout('paypal_express_review_details');
+                $this->getResponse()->setBody($this->_view->getLayout()->getBlock('root')
                     ->setQuote($this->_getQuote())
                     ->toHtml());
                 return;
@@ -336,7 +320,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
         }
         if ($isAjax) {
             $this->getResponse()->setBody('<script type="text/javascript">window.location.href = '
-                . $this->_urlBuilder->getUrl('*/*/review') . ';</script>');
+                . $this->_url->getUrl('*/*/review') . ';</script>');
         } else {
             $this->_redirect('*/*/review');
         }
@@ -350,9 +334,9 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
         try {
             $this->_initCheckout();
             $this->_checkout->prepareOrderReview($this->_initToken());
-            $this->loadLayout('paypal_express_review');
+            $this->_view->loadLayout('paypal_express_review');
 
-            $this->getResponse()->setBody($this->getLayout()->getBlock('express.review.shipping.method')
+            $this->getResponse()->setBody($this->_view->getLayout()->getBlock('express.review.shipping.method')
                 ->setQuote($this->_getQuote())
                 ->toHtml());
             return;
@@ -363,7 +347,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
             $this->_objectManager->get('Magento\Logger')->logException($e);
         }
         $this->getResponse()->setBody('<script type="text/javascript">window.location.href = '
-            . $this->_urlBuilder->getUrl('*/*/review') . ';</script>');
+            . $this->_url->getUrl('*/*/review') . ';</script>');
     }
 
     /**
@@ -376,8 +360,8 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
             $this->_initCheckout();
             $this->_checkout->updateOrder($this->getRequest()->getParams());
             if ($isAjax) {
-                $this->loadLayout('paypal_express_review_details');
-                $this->getResponse()->setBody($this->getLayout()->getBlock('root')
+                $this->_view->loadLayout('paypal_express_review_details');
+                $this->getResponse()->setBody($this->_view->getLayout()->getBlock('root')
                     ->setQuote($this->_getQuote())
                     ->toHtml());
                 return;
@@ -390,7 +374,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
         }
         if ($isAjax) {
             $this->getResponse()->setBody('<script type="text/javascript">window.location.href = '
-                . $this->_urlBuilder->getUrl('*/*/review') . ';</script>');
+                . $this->_url->getUrl('*/*/review') . ';</script>');
         } else {
             $this->_redirect('*/*/review');
         }
@@ -562,7 +546,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
      */
     public function redirectLogin()
     {
-        $this->setFlag('', 'no-dispatch', true);
+        $this->_actionFlag->set('', 'no-dispatch', true);
         $this->getResponse()->setRedirect(
             $this->_objectManager->get('Magento\Core\Helper\Url')->addRequestParam(
                 $this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl(),
diff --git a/app/code/Magento/Paypal/Controller/Hostedpro.php b/app/code/Magento/Paypal/Controller/Hostedpro.php
index a861fc2efc9..89883804728 100644
--- a/app/code/Magento/Paypal/Controller/Hostedpro.php
+++ b/app/code/Magento/Paypal/Controller/Hostedpro.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Paypal\Controller;
 
-class Hostedpro extends \Magento\Core\Controller\Front\Action
+class Hostedpro extends \Magento\App\Action\Action
 {
     /**
      * When a customer return to website from gateway.
@@ -50,12 +50,12 @@ class Hostedpro extends \Magento\Core\Controller\Front\Action
      */
     public function cancelAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $gotoSection = $this->_cancelPayment();
-        $redirectBlock = $this->getLayout()->getBlock('hosted.pro.iframe');
+        $redirectBlock = $this->_view->getLayout()->getBlock('hosted.pro.iframe');
         $redirectBlock->setGotoSection($gotoSection);
         //TODO: clarify return logic whether customer will be returned in iframe or in parent window
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Controller/Ipn.php b/app/code/Magento/Paypal/Controller/Ipn.php
index 194f0c9316a..fc5ba1bb795 100644
--- a/app/code/Magento/Paypal/Controller/Ipn.php
+++ b/app/code/Magento/Paypal/Controller/Ipn.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Paypal\Controller;
 
-class Ipn extends \Magento\Core\Controller\Front\Action
+class Ipn extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Logger
@@ -45,16 +45,17 @@ class Ipn extends \Magento\Core\Controller\Front\Action
     protected $_curlFactory;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Paypal\Model\IpnFactory $ipnFactory
      * @param \Magento\HTTP\Adapter\CurlFactory $curlFactory
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Paypal\Model\IpnFactory $ipnFactory,
-        \Magento\HTTP\Adapter\CurlFactory $curlFactory
+        \Magento\HTTP\Adapter\CurlFactory $curlFactory,
+        \Magento\Logger $logger
     ) {
-        $this->_logger = $context->getLogger();
+        $this->_logger = $logger;
         $this->_ipnFactory = $ipnFactory;
         $this->_curlFactory = $curlFactory;
         parent::__construct($context);
diff --git a/app/code/Magento/Paypal/Controller/Payflow.php b/app/code/Magento/Paypal/Controller/Payflow.php
index a1b20ef02dc..98e490a3960 100644
--- a/app/code/Magento/Paypal/Controller/Payflow.php
+++ b/app/code/Magento/Paypal/Controller/Payflow.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Paypal\Controller;
 
-class Payflow extends \Magento\Core\Controller\Front\Action
+class Payflow extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Checkout\Model\Session
@@ -55,22 +55,23 @@ class Payflow extends \Magento\Core\Controller\Front\Action
     protected $_checkoutHelper;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Paypal\Model\PayflowlinkFactory $payflowlinkFactory
      * @param \Magento\Paypal\Helper\Checkout $checkoutHelper
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Paypal\Model\PayflowlinkFactory $payflowlinkFactory,
-        \Magento\Paypal\Helper\Checkout $checkoutHelper
+        \Magento\Paypal\Helper\Checkout $checkoutHelper,
+        \Magento\Logger $logger
     ) {
         $this->_checkoutSession = $checkoutSession;
         $this->_orderFactory = $orderFactory;
-        $this->_logger = $context->getLogger();
+        $this->_logger = $logger;
         $this->_payflowlinkFactory = $payflowlinkFactory;
         $this->_checkoutHelper = $checkoutHelper;
         parent::__construct($context);
@@ -81,11 +82,11 @@ class Payflow extends \Magento\Core\Controller\Front\Action
      */
     public function cancelPaymentAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $gotoSection = $this->_cancelPayment();
-        $redirectBlock = $this->getLayout()->getBlock('payflow.link.iframe');
+        $redirectBlock = $this->_view->getLayout()->getBlock('payflow.link.iframe');
         $redirectBlock->setGotoSection($gotoSection);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -93,8 +94,8 @@ class Payflow extends \Magento\Core\Controller\Front\Action
      */
     public function returnUrlAction()
     {
-        $this->loadLayout(false);
-        $redirectBlock = $this->getLayout()->getBlock('payflow.link.iframe');
+        $this->_view->loadLayout(false);
+        $redirectBlock = $this->_view->getLayout()->getBlock('payflow.link.iframe');
 
         if ($this->_checkoutSession->getLastRealOrderId()) {
             $order = $this->_orderFactory->create()->loadByIncrementId($this->_checkoutSession->getLastRealOrderId());
@@ -115,7 +116,7 @@ class Payflow extends \Magento\Core\Controller\Front\Action
             }
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -123,7 +124,7 @@ class Payflow extends \Magento\Core\Controller\Front\Action
      */
     public function formAction()
     {
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->loadLayout(false)->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Controller/Payflowadvanced.php b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
index ed1b94c7dd8..482a20bf9e8 100644
--- a/app/code/Magento/Paypal/Controller/Payflowadvanced.php
+++ b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
@@ -61,35 +61,32 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
     protected $_checkoutHelper;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Paypal\Model\Express\Checkout\Factory $checkoutFactory
      * @param \Magento\Core\Model\Session\Generic $paypalSession
      * @param \Magento\Paypal\Helper\Checkout $checkoutHelper
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @param \Magento\Logger $logger
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Paypal\Model\Express\Checkout\Factory $checkoutFactory,
         \Magento\Core\Model\Session\Generic $paypalSession,
-        \Magento\Paypal\Helper\Checkout $checkoutHelper
+        \Magento\Paypal\Helper\Checkout $checkoutHelper,
+        \Magento\Logger $logger
     ) {
-        $this->_logger = $context->getLogger();
+        $this->_logger = $logger;
         $this->_checkoutHelper = $checkoutHelper;
         parent::__construct(
             $context,
             $customerSession,
-            $urlBuilder,
             $quoteFactory,
             $checkoutSession,
             $orderFactory,
@@ -103,11 +100,11 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
      */
     public function cancelPaymentAction()
     {
-        $this->loadLayout(false);
+        $this->_view->loadLayout(false);
         $gotoSection = $this->_cancelPayment();
-        $redirectBlock = $this->getLayout()->getBlock('payflow.advanced.iframe');
+        $redirectBlock = $this->_view->getLayout()->getBlock('payflow.advanced.iframe');
         $redirectBlock->setGotoSection($gotoSection);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -115,8 +112,8 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
      */
     public function returnUrlAction()
     {
-        $this->loadLayout(false);
-        $redirectBlock = $this->getLayout()->getBlock('payflow.advanced.iframe');;
+        $this->_view->loadLayout(false);
+        $redirectBlock = $this->_view->getLayout()->getBlock('payflow.advanced.iframe');;
 
         if ($this->_checkoutSession->getLastRealOrderId()) {
             $order = $this->_orderFactory->create()->loadByIncrementId($this->_checkoutSession->getLastRealOrderId());
@@ -137,7 +134,7 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
             }
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -145,8 +142,8 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
      */
     public function formAction()
     {
-        $this->loadLayout(false)->renderLayout();
-        $html = $this->getLayout()->getBlock('payflow.advanced.iframe')->toHtml();
+        $this->_view->loadLayout(false)->renderLayout();
+        $html = $this->_view->getLayout()->getBlock('payflow.advanced.iframe')->toHtml();
         $this->getResponse()->setBody($html);
     }
 
diff --git a/app/code/Magento/Paypal/Controller/Standard.php b/app/code/Magento/Paypal/Controller/Standard.php
index 067d2eb018a..f7870ef8675 100644
--- a/app/code/Magento/Paypal/Controller/Standard.php
+++ b/app/code/Magento/Paypal/Controller/Standard.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Paypal\Controller;
 
-class Standard extends \Magento\Core\Controller\Front\Action
+class Standard extends \Magento\App\Action\Action
 {
     /**
      * Order instance
@@ -76,7 +76,7 @@ class Standard extends \Magento\Core\Controller\Front\Action
     {
         $session = $this->_objectManager->get('Magento\Checkout\Model\Session');
         $session->setPaypalStandardQuoteId($session->getQuoteId());
-        $this->loadLayout(false)->renderLayout();
+        $this->_view->loadLayout(false)->renderLayout();
         $session->unsQuoteId();
         $session->unsRedirectUrl();
     }
diff --git a/app/code/Magento/Paypal/Helper/Checkout.php b/app/code/Magento/Paypal/Helper/Checkout.php
index e9bc2d9533c..0631e8b5d99 100644
--- a/app/code/Magento/Paypal/Helper/Checkout.php
+++ b/app/code/Magento/Paypal/Helper/Checkout.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Paypal\Helper;
 
-class Checkout extends \Magento\Core\Helper\AbstractHelper
+class Checkout extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Checkout\Model\SessionFactory
diff --git a/app/code/Magento/Paypal/Helper/Data.php b/app/code/Magento/Paypal/Helper/Data.php
index aece550bc22..e74fa3a260e 100644
--- a/app/code/Magento/Paypal/Helper/Data.php
+++ b/app/code/Magento/Paypal/Helper/Data.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Paypal\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Cache for shouldAskToCreateBillingAgreement()
@@ -50,12 +50,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory
     ) {
         $this->_coreData = $coreData;
diff --git a/app/code/Magento/Paypal/Helper/Hss.php b/app/code/Magento/Paypal/Helper/Hss.php
index 01fa0368572..9fed6ca91ef 100644
--- a/app/code/Magento/Paypal/Helper/Hss.php
+++ b/app/code/Magento/Paypal/Helper/Hss.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\Paypal\Helper;
 
-class Hss extends \Magento\Core\Helper\AbstractHelper
+class Hss extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Hosted Sole Solution methods
@@ -51,12 +51,12 @@ class Hss extends \Magento\Core\Helper\AbstractHelper
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\View\LayoutInterface $layout
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\View\LayoutInterface $layout
     ) {
diff --git a/app/code/Magento/Paypal/Model/Observer.php b/app/code/Magento/Paypal/Model/Observer.php
index 702476d6b86..bf3d0d42e12 100644
--- a/app/code/Magento/Paypal/Model/Observer.php
+++ b/app/code/Magento/Paypal/Model/Observer.php
@@ -62,25 +62,33 @@ class Observer
      */
     protected $_settlementFactory;
 
+    /**
+     * @var \Magento\App\ViewInterface
+     */
+    protected $_view;
+
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Paypal\Helper\Hss $paypalHss
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Logger $logger
-     * @param \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
+     * @param Report\SettlementFactory $settlementFactory
+     * @param \Magento\App\ViewInterface $view
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Paypal\Helper\Hss $paypalHss,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Logger $logger,
-        \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory
+        \Magento\Paypal\Model\Report\SettlementFactory $settlementFactory,
+        \Magento\App\ViewInterface $view
     ) {
         $this->_coreData = $coreData;
         $this->_paypalHss = $paypalHss;
         $this->_coreRegistry = $coreRegistry;
         $this->_logger = $logger;
         $this->_settlementFactory = $settlementFactory;
+        $this->_view = $view;
     }
 
     /**
@@ -146,7 +154,7 @@ class Observer
         if ($order && $order->getId()) {
             $payment = $order->getPayment();
             if ($payment && in_array($payment->getMethod(), $this->_paypalHss->getHssMethods())) {
-                /* @var $controller \Magento\Core\Controller\Varien\Action */
+                /* @var $controller \Magento\App\Action\Action */
                 $controller = $observer->getEvent()->getData('controller_action');
                 $result = $this->_coreData->jsonDecode(
                     $controller->getResponse()->getBody('default'),
@@ -154,8 +162,8 @@ class Observer
                 );
 
                 if (empty($result['error'])) {
-                    $controller->loadLayout('checkout_onepage_review');
-                    $html = $controller->getLayout()->getBlock('paypal.iframe')->toHtml();
+                    $this->_view->loadLayout('checkout_onepage_review');
+                    $html = $this->_view->getLayout()->getBlock('paypal.iframe')->toHtml();
                     $result['update_section'] = array(
                         'name' => 'paypaliframe',
                         'html' => $html
diff --git a/app/code/Magento/Paypal/Model/Payment/Transaction.php b/app/code/Magento/Paypal/Model/Payment/Transaction.php
index 2c7533f7cb4..85ed978e7ee 100644
--- a/app/code/Magento/Paypal/Model/Payment/Transaction.php
+++ b/app/code/Magento/Paypal/Model/Payment/Transaction.php
@@ -66,20 +66,12 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      */
     protected $_orderWebsiteId;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * @var \Magento\Core\Model\DateFactory
      */
     protected $_dateFactory;
 
     /**
-     * @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 +80,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\DateFactory $dateFactory,
@@ -96,7 +87,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_dateFactory = $dateFactory;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
     }
diff --git a/app/code/Magento/Paypal/Model/System/Config/Backend/Cert.php b/app/code/Magento/Paypal/Model/System/Config/Backend/Cert.php
index daaee2bfddf..4ce45df4c52 100644
--- a/app/code/Magento/Paypal/Model/System/Config/Backend/Cert.php
+++ b/app/code/Magento/Paypal/Model/System/Config/Backend/Cert.php
@@ -44,7 +44,7 @@ class Cert extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Paypal\Model\CertFactory $certFactory
      * @param \Magento\Encryption\EncryptorInterface $encryptor
@@ -55,7 +55,7 @@ class Cert extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Paypal\Model\CertFactory $certFactory,
         \Magento\Encryption\EncryptorInterface $encryptor,
diff --git a/app/code/Magento/Paypal/Model/System/Config/Backend/Cron.php b/app/code/Magento/Paypal/Model/System/Config/Backend/Cron.php
index 7609b247b00..675c0c6ecee 100644
--- a/app/code/Magento/Paypal/Model/System/Config/Backend/Cron.php
+++ b/app/code/Magento/Paypal/Model/System/Config/Backend/Cron.php
@@ -39,7 +39,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -49,7 +49,7 @@ class Cron extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Paypal/view/frontend/hss/js.phtml b/app/code/Magento/Paypal/view/frontend/hss/js.phtml
index 4872e69d749..59ca6558cdd 100644
--- a/app/code/Magento/Paypal/view/frontend/hss/js.phtml
+++ b/app/code/Magento/Paypal/view/frontend/hss/js.phtml
@@ -28,4 +28,3 @@
  */
 ?>
 <div id="checkout-paypaliframe-load" class="authentication"></div>
-
diff --git a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml
index c6a19283424..7f3dda071f2 100644
--- a/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml
+++ b/app/code/Magento/Paypal/view/frontend/layout/paypal_express_review.xml
@@ -52,5 +52,5 @@
                    as="agreements" template="onepage/agreements.phtml"/>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/PaypalUk/Helper/Data.php b/app/code/Magento/PaypalUk/Helper/Data.php
index 8b324df27ee..7bccf210b0b 100644
--- a/app/code/Magento/PaypalUk/Helper/Data.php
+++ b/app/code/Magento/PaypalUk/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\PaypalUk\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Persistent/Block/Form/Remember.php b/app/code/Magento/Persistent/Block/Form/Remember.php
index 2db218eee56..249c6320ff1 100644
--- a/app/code/Magento/Persistent/Block/Form/Remember.php
+++ b/app/code/Magento/Persistent/Block/Form/Remember.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Persistent\Block\Form;
 
-class Remember extends \Magento\Core\Block\Template
+class Remember extends \Magento\View\Block\Template
 {
     /**
      * Persistent data
@@ -49,23 +49,22 @@ class Remember extends \Magento\Core\Block\Template
     protected $mathRandom;
 
     /**
-     * @param \Magento\Persistent\Helper\Data $persistentData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Persistent\Helper\Data $persistentData
      * @param \Magento\Math\Random $mathRandom
      * @param array $data
-     * @param \Magento\Math\Random $mathRandom
      */
     public function __construct(
-        \Magento\Persistent\Helper\Data $persistentData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Persistent\Helper\Data $persistentData,
         \Magento\Math\Random $mathRandom,
         array $data = array()
     ) {
         $this->_persistentData = $persistentData;
         $this->mathRandom = $mathRandom;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Persistent/Block/Header/Additional.php b/app/code/Magento/Persistent/Block/Header/Additional.php
index 2d7ea6fbe0a..9a748b9526c 100644
--- a/app/code/Magento/Persistent/Block/Header/Additional.php
+++ b/app/code/Magento/Persistent/Block/Header/Additional.php
@@ -34,7 +34,7 @@
 
 namespace Magento\Persistent\Block\Header;
 
-class Additional extends \Magento\Core\Block\Html\Link
+class Additional extends \Magento\View\Block\Html\Link
 {
     /**
      * Persistent session
@@ -44,19 +44,19 @@ class Additional extends \Magento\Core\Block\Html\Link
     protected $_persistentSession = null;
 
     /**
-     * @param \Magento\Persistent\Helper\Session $persistentSession
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Persistent\Helper\Session $persistentSession
      * @param array $data
      */
     public function __construct(
-        \Magento\Persistent\Helper\Session $persistentSession,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Persistent\Helper\Session $persistentSession,
         array $data = array()
     ) {
         $this->_persistentSession = $persistentSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Persistent/Controller/Index.php b/app/code/Magento/Persistent/Controller/Index.php
index eb5d2d70c4b..3c688069565 100644
--- a/app/code/Magento/Persistent/Controller/Index.php
+++ b/app/code/Magento/Persistent/Controller/Index.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Persistent\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+class Index extends \Magento\App\Action\Action
 {
     /**
      * Whether clear checkout session when logout
@@ -69,14 +69,14 @@ class Index extends \Magento\Core\Controller\Front\Action
     /**
      * Construct
      *
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Persistent\Model\Observer $persistentObserver
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Session $session,
         \Magento\Persistent\Model\Observer $persistentObserver,
         \Magento\Checkout\Model\Session $checkoutSession,
@@ -156,8 +156,8 @@ class Index extends \Magento\Core\Controller\Front\Action
             $this->_persistentObserver->setQuoteGuest();
         }
 
-        $checkoutUrl = $this->_getRefererUrl();
-        $this->_redirectUrl($checkoutUrl . (strpos($checkoutUrl, '?') ? '&' : '?') . 'register');
+        $checkoutUrl = $this->_redirect->getRefererUrl();
+        $this->getResponse()->setRedirect($checkoutUrl . (strpos($checkoutUrl, '?') ? '&' : '?') . 'register');
     }
 
     /**
diff --git a/app/code/Magento/Persistent/Helper/Data.php b/app/code/Magento/Persistent/Helper/Data.php
index 8d7d92ccedf..f3638e0ac0b 100644
--- a/app/code/Magento/Persistent/Helper/Data.php
+++ b/app/code/Magento/Persistent/Helper/Data.php
@@ -77,21 +77,22 @@ class Data extends \Magento\Core\Helper\Data
     protected $_modulesReader;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Core\Helper\Url $coreUrl
      * @param \Magento\Checkout\Helper\Data $checkoutData
      * @param Session $persistentSession
+     * @param \Magento\Module\Dir\Reader $modulesReader
      * @param \Magento\Escaper $escaper
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Core\Helper\Url $coreUrl,
@@ -221,15 +222,6 @@ class Data extends \Magento\Core\Helper\Data
      */
     public function canProcess($observer)
     {
-        $action = $observer->getEvent()->getAction();
-        $controllerAction = $observer->getEvent()->getControllerAction();
-
-        if ($action instanceof \Magento\Core\Controller\Varien\Action) {
-            return !$action->getFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_START_SESSION);
-        }
-        if ($controllerAction instanceof \Magento\Core\Controller\Varien\Action) {
-            return !$controllerAction->getFlag('', \Magento\Core\Controller\Varien\Action::FLAG_NO_START_SESSION);
-        }
         return true;
     }
 
diff --git a/app/code/Magento/Persistent/Helper/Session.php b/app/code/Magento/Persistent/Helper/Session.php
index d812ed31ae1..011470b2c57 100644
--- a/app/code/Magento/Persistent/Helper/Session.php
+++ b/app/code/Magento/Persistent/Helper/Session.php
@@ -80,9 +80,9 @@ class Session extends \Magento\Core\Helper\Data
     protected $_checkoutSession;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param Data $persistentData
@@ -92,9 +92,9 @@ class Session extends \Magento\Core\Helper\Data
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Persistent\Helper\Data $persistentData,
diff --git a/app/code/Magento/Persistent/Model/Observer.php b/app/code/Magento/Persistent/Model/Observer.php
index 0a34b81d8bf..4ccc784c9fc 100644
--- a/app/code/Magento/Persistent/Model/Observer.php
+++ b/app/code/Magento/Persistent/Model/Observer.php
@@ -231,7 +231,7 @@ class Observer
             return $this;
         }
 
-        /** @var $block \Magento\Core\Block\AbstractBlock */
+        /** @var $block \Magento\View\Block\AbstractBlock */
         $block = $observer->getEvent()->getBlock();
 
         if (!$block) {
@@ -257,7 +257,7 @@ class Observer
     /**
      * Emulate 'welcome' block with persistent data
      *
-     * @param \Magento\Core\Block\AbstractBlock $block
+     * @param \Magento\View\Block\AbstractBlock $block
      * @return \Magento\Persistent\Model\Observer
      */
     public function emulateWelcomeBlock($block)
@@ -284,7 +284,7 @@ class Observer
     /**
      * Emulate 'top links' block with persistent data
      *
-     * @param \Magento\Core\Block\AbstractBlock $block
+     * @param \Magento\View\Block\AbstractBlock $block
      */
     public function emulateTopLinks($block)
     {
@@ -311,9 +311,7 @@ class Observer
             return;
         }
 
-        /** @var $action \Magento\Checkout\Controller\Onepage */
-        $action = $observer->getEvent()->getControllerAction();
-        $actionName = $action->getFullActionName();
+        $actionName = $observer->getEvent()->getRequest()->getFullActionName();
 
         if (in_array($actionName, $stopActions)) {
             return;
@@ -475,7 +473,7 @@ class Observer
             return;
         }
 
-        /** @var $controllerAction \Magento\Core\Controller\Front\Action */
+        /** @var $controllerAction \Magento\App\Action\Action */
         $controllerAction = $observer->getEvent()->getControllerAction();
         if (method_exists($controllerAction, 'redirectLogin')) {
             $this->_session->addNotice(__('To check out, please log in using your email address.'));
diff --git a/app/code/Magento/Persistent/Model/Observer/Session.php b/app/code/Magento/Persistent/Model/Observer/Session.php
index a0f0a31cfa3..9cd0ceb598b 100644
--- a/app/code/Magento/Persistent/Model/Observer/Session.php
+++ b/app/code/Magento/Persistent/Model/Observer/Session.php
@@ -220,14 +220,14 @@ class Session
             return;
         }
 
-        /** @var $controllerAction \Magento\Core\Controller\Varien\Action */
-        $controllerAction = $observer->getEvent()->getControllerAction();
-        if ($controllerAction) {
-            $rememberMeCheckbox = $controllerAction->getRequest()->getPost('persistent_remember_me');
+        /** @var $controllerAction \Magento\App\RequestInterface */
+        $request = $observer->getEvent()->getRequest();
+        if ($request) {
+            $rememberMeCheckbox = $request->getPost('persistent_remember_me');
             $this->_persistentSession->setRememberMeChecked((bool)$rememberMeCheckbox);
             if (
-                $controllerAction->getFullActionName() == 'checkout_onepage_saveBilling'
-                    || $controllerAction->getFullActionName() == 'customer_account_createpost'
+                $request->getFullActionName() == 'checkout_onepage_saveBilling'
+                    || $request->getFullActionName() == 'customer_account_createpost'
             ) {
                 $this->_checkoutSession->setRememberMeChecked((bool)$rememberMeCheckbox);
             }
@@ -248,12 +248,10 @@ class Session
             return;
         }
 
-        /** @var $controllerAction \Magento\Core\Controller\Front\Action */
-        $controllerAction = $observer->getEvent()->getControllerAction();
+        /** @var $request \Magento\App\RequestInterface */
+        $request = $observer->getEvent()->getRequest();
 
-        if ($this->_customerSession->isLoggedIn()
-            || $controllerAction->getFullActionName() == 'customer_account_logout'
-        ) {
+        if ($this->_customerSession->isLoggedIn() || $request->getFullActionName() == 'customer_account_logout') {
             $this->_cookie->renew(
                 \Magento\Persistent\Model\Session::COOKIE_NAME,
                 $this->_persistentData->getLifeTime()
diff --git a/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_index.xml b/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_index.xml
index 1147945ddc7..71a0624c3df 100644
--- a/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_index.xml
+++ b/app/code/Magento/Persistent/view/frontend/layout/checkout_onepage_index.xml
@@ -26,10 +26,10 @@
 <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"/>
+        <block class="Magento\View\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"/>
+        <block class="Magento\View\Block\Template" name="persistent.remember.me.tooltip.billing" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Persistent/view/frontend/layout/customer_account_create.xml b/app/code/Magento/Persistent/view/frontend/layout/customer_account_create.xml
index 8ac15eae415..448a2a52b69 100644
--- a/app/code/Magento/Persistent/view/frontend/layout/customer_account_create.xml
+++ b/app/code/Magento/Persistent/view/frontend/layout/customer_account_create.xml
@@ -26,6 +26,6 @@
 <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"/>
+        <block class="Magento\View\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Persistent/view/frontend/layout/customer_account_login.xml b/app/code/Magento/Persistent/view/frontend/layout/customer_account_login.xml
index 8ac15eae415..448a2a52b69 100644
--- a/app/code/Magento/Persistent/view/frontend/layout/customer_account_login.xml
+++ b/app/code/Magento/Persistent/view/frontend/layout/customer_account_login.xml
@@ -26,6 +26,6 @@
 <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"/>
+        <block class="Magento\View\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Persistent/view/frontend/remember_me_tooltip.phtml b/app/code/Magento/Persistent/view/frontend/remember_me_tooltip.phtml
index 8cefb973f32..918f120f611 100644
--- a/app/code/Magento/Persistent/view/frontend/remember_me_tooltip.phtml
+++ b/app/code/Magento/Persistent/view/frontend/remember_me_tooltip.phtml
@@ -29,7 +29,7 @@
  * "Remember Me" popup template (when click on "What's this?")
  *
  */
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\Block\Template */
 ?>
 <script type="text/javascript">
     (function($) {
diff --git a/app/code/Magento/ProductAlert/Block/Email/AbstractEmail.php b/app/code/Magento/ProductAlert/Block/Email/AbstractEmail.php
index 78c46786fd4..0d125e31ce5 100644
--- a/app/code/Magento/ProductAlert/Block/Email/AbstractEmail.php
+++ b/app/code/Magento/ProductAlert/Block/Email/AbstractEmail.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\ProductAlert\Block\Email;
 
-abstract class AbstractEmail extends \Magento\Core\Block\Template
+abstract class AbstractEmail extends \Magento\View\Block\Template
 {
     /**
      * Product collection array
@@ -49,27 +49,6 @@ abstract class AbstractEmail extends \Magento\Core\Block\Template
      */
     protected $_store;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
-    }
-
     /**
      * Set Store scope
      *
diff --git a/app/code/Magento/ProductAlert/Block/Product/View.php b/app/code/Magento/ProductAlert/Block/Product/View.php
index 68150c9ddeb..00e74527880 100644
--- a/app/code/Magento/ProductAlert/Block/Product/View.php
+++ b/app/code/Magento/ProductAlert/Block/Product/View.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\ProductAlert\Block\Product;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Core\Model\Registry
@@ -51,20 +51,20 @@ class View extends \Magento\Core\Block\Template
     protected $_helper;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\ProductAlert\Helper\Data $helper
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\ProductAlert\Helper\Data $helper,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_registry = $registry;
         $this->_helper = $helper;
     }
diff --git a/app/code/Magento/ProductAlert/Controller/Add.php b/app/code/Magento/ProductAlert/Controller/Add.php
index f024ba1bf5c..74aaa8d6ad2 100644
--- a/app/code/Magento/ProductAlert/Controller/Add.php
+++ b/app/code/Magento/ProductAlert/Controller/Add.php
@@ -33,18 +33,38 @@
  */
 namespace Magento\ProductAlert\Controller;
 
-class Add extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\Context;
+use Magento\App\RequestInterface;
+
+class Add extends \Magento\App\Action\Action
 {
-    public function preDispatch()
-    {
-        parent::preDispatch();
+    /**
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
 
+    /**
+     * @param Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     */
+    public function __construct(
+        \Magento\App\Action\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
+    ) {
+        $this->_storeManager = $storeManager;
+        parent::__construct($context);
+    }
+
+    public function dispatch(RequestInterface $request)
+    {
         if (!$this->_objectManager->get('Magento\Customer\Model\Session')->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
-            if(!$this->_objectManager->get('Magento\Customer\Model\Session')->getBeforeUrl()) {
-                $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeUrl($this->_getRefererUrl());
+            $this->_actionFlag->set('', 'no-dispatch', true);
+            if (!$this->_objectManager->get('Magento\Customer\Model\Session')->getBeforeUrl()) {
+                $this->_objectManager->get('Magento\Customer\Model\Session')
+                    ->setBeforeUrl($this->_redirect->getRefererUrl());
             }
         }
+        return parent::dispatch($request);
     }
 
     public function testObserverAction()
@@ -57,7 +77,7 @@ class Add extends \Magento\Core\Controller\Front\Action
     public function priceAction()
     {
         $session = $this->_objectManager->get('Magento\Catalog\Model\Session');
-        $backUrl    = $this->getRequest()->getParam(\Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED);
+        $backUrl    = $this->getRequest()->getParam(\Magento\App\Action\Action::PARAM_NAME_URL_ENCODED);
         $productId  = (int) $this->getRequest()->getParam('product_id');
         if (!$backUrl || !$productId) {
             $this->_redirect('/');
@@ -68,8 +88,8 @@ class Add extends \Magento\Core\Controller\Front\Action
         if (!$product->getId()) {
             /* @var $product \Magento\Catalog\Model\Product */
             $session->addError(__('There are not enough parameters.'));
-            if ($this->_isUrlInternal($backUrl)) {
-                $this->_redirectUrl($backUrl);
+            if ($this->_isInternal($backUrl)) {
+                $this->getResponse()->setRedirect($backUrl);
             } else {
                 $this->_redirect('/');
             }
@@ -90,14 +110,14 @@ class Add extends \Magento\Core\Controller\Front\Action
         catch (\Exception $e) {
             $session->addException($e, __('Unable to update the alert subscription.'));
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     public function stockAction()
     {
         $session = $this->_objectManager->get('Magento\Catalog\Model\Session');
         /* @var $session \Magento\Catalog\Model\Session */
-        $backUrl    = $this->getRequest()->getParam(\Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED);
+        $backUrl    = $this->getRequest()->getParam(\Magento\App\Action\Action::PARAM_NAME_URL_ENCODED);
         $productId  = (int) $this->getRequest()->getParam('product_id');
         if (!$backUrl || !$productId) {
             $this->_redirect('/');
@@ -107,7 +127,7 @@ class Add extends \Magento\Core\Controller\Front\Action
         if (!$product = $this->_objectManager->create('Magento\Catalog\Model\Product')->load($productId)) {
             /* @var $product \Magento\Catalog\Model\Product */
             $session->addError(__('There are not enough parameters.'));
-            $this->_redirectUrl($backUrl);
+            $this->getResponse()->setRedirect($backUrl);
             return ;
         }
 
@@ -124,6 +144,22 @@ class Add extends \Magento\Core\Controller\Front\Action
         catch (\Exception $e) {
             $session->addException($e, __('Unable to update the alert subscription.'));
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
+    }
+
+    /**
+     * Check if URL is internal
+     *
+     * @param string $url
+     * @return bool
+     */
+    protected function _isInternal($url)
+    {
+        if (strpos($url, 'http') === false) {
+            return false;
+        }
+        $currentStore = $this->_storeManager->getStore();
+        return strpos($url, $currentStore->getBaseUrl()) === 0
+            || strpos($url, $currentStore->getBaseUrl($currentStore::URL_TYPE_LINK, true)) === 0;
     }
 }
diff --git a/app/code/Magento/ProductAlert/Controller/Unsubscribe.php b/app/code/Magento/ProductAlert/Controller/Unsubscribe.php
index 3be21feb952..406218de078 100644
--- a/app/code/Magento/ProductAlert/Controller/Unsubscribe.php
+++ b/app/code/Magento/ProductAlert/Controller/Unsubscribe.php
@@ -34,18 +34,25 @@
  */
 namespace Magento\ProductAlert\Controller;
 
-class Unsubscribe extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Unsubscribe extends \Magento\App\Action\Action
 {
-    public function preDispatch()
+    /**
+     * @param RequestInterface $request
+     * @return mixed
+     */
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         if (!$this->_objectManager->get('Magento\Customer\Model\Session')->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
-            if(!$this->_objectManager->get('Magento\Customer\Model\Session')->getBeforeUrl()) {
-                $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeUrl($this->_getRefererUrl());
+            $this->_actionFlag->set('', 'no-dispatch', true);
+            if (!$this->_objectManager->get('Magento\Customer\Model\Session')->getBeforeUrl()) {
+                $this->_objectManager->get('Magento\Customer\Model\Session')
+                    ->setBeforeUrl($this->_redirect->getRefererUrl());
             }
         }
+        return parent::dispatch($request);
     }
 
     public function priceAction()
@@ -84,7 +91,7 @@ class Unsubscribe extends \Magento\Core\Controller\Front\Action
         catch (\Exception $e) {
             $session->addException($e, __('Unable to update the alert subscription.'));
         }
-        $this->_redirectUrl($product->getProductUrl());
+        $this->getResponse()->setRedirect($product->getProductUrl());
     }
 
     public function priceAllAction()
@@ -140,7 +147,7 @@ class Unsubscribe extends \Magento\Core\Controller\Front\Action
         catch (\Exception $e) {
             $session->addException($e, __('Unable to update the alert subscription.'));
         }
-        $this->_redirectUrl($product->getProductUrl());
+        $this->getResponse()->setRedirect($product->getProductUrl());
     }
 
     public function stockAllAction()
diff --git a/app/code/Magento/ProductAlert/Helper/Data.php b/app/code/Magento/ProductAlert/Helper/Data.php
index 993bdfb520c..2b2c68f40f3 100644
--- a/app/code/Magento/ProductAlert/Helper/Data.php
+++ b/app/code/Magento/ProductAlert/Helper/Data.php
@@ -68,16 +68,16 @@ class Data extends \Magento\Core\Helper\Url
     protected $_session;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Session $session
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -129,15 +129,15 @@ class Data extends \Magento\Core\Helper\Url
     {
         return $this->_getUrl('productalert/add/' . $type, array(
             'product_id'    => $this->getProduct()->getId(),
-            \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
+            \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED => $this->getEncodedUrl()
         ));
     }
 
     /**
      * Create block instance
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
-     * @return \Magento\Core\Block\AbstractBlock
+     * @param string|\Magento\View\Block\AbstractBlock $block
+     * @return \Magento\View\Block\AbstractBlock
      * @throws \Magento\Core\Exception
      */
     public function createBlock($block)
@@ -147,7 +147,7 @@ class Data extends \Magento\Core\Helper\Url
                 $block = $this->_layout->createBlock($block);
             }
         }
-        if (!$block instanceof \Magento\Core\Block\AbstractBlock) {
+        if (!$block instanceof \Magento\View\Block\AbstractBlock) {
             throw new \Magento\Core\Exception(__('Invalid block type: %1', $block));
         }
         return $block;
diff --git a/app/code/Magento/ProductAlert/Model/Email.php b/app/code/Magento/ProductAlert/Model/Email.php
index bd7ec249087..61c1cc7d4a4 100644
--- a/app/code/Magento/ProductAlert/Model/Email.php
+++ b/app/code/Magento/ProductAlert/Model/Email.php
@@ -119,7 +119,7 @@ class Email extends \Magento\Core\Model\AbstractModel
     protected $_appEmulation;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_templateFactory;
 
@@ -131,7 +131,7 @@ class Email extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Core\Model\App\Emulation $appEmulation
-     * @param \Magento\Core\Model\Email\TemplateFactory $templateFactory
+     * @param \Magento\Email\Model\TemplateFactory $templateFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -144,7 +144,7 @@ class Email extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Core\Model\App\Emulation $appEmulation,
-        \Magento\Core\Model\Email\TemplateFactory $templateFactory,
+        \Magento\Email\Model\TemplateFactory $templateFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/ProductAlert/Model/Observer.php b/app/code/Magento/ProductAlert/Model/Observer.php
index 35f2c320790..e70f38bf494 100644
--- a/app/code/Magento/ProductAlert/Model/Observer.php
+++ b/app/code/Magento/ProductAlert/Model/Observer.php
@@ -127,7 +127,7 @@ class Observer
     protected $_translate;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_templateFactory;
 
@@ -146,7 +146,7 @@ class Observer
      * @param \Magento\Core\Model\DateFactory $dateFactory
      * @param \Magento\ProductAlert\Model\Resource\Stock\CollectionFactory $stockColFactory
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Email\TemplateFactory $templateFactory
+     * @param \Magento\Email\Model\TemplateFactory $templateFactory
      * @param \Magento\ProductAlert\Model\EmailFactory $emailFactory
      */
     public function __construct(
@@ -159,7 +159,7 @@ class Observer
         \Magento\Core\Model\DateFactory $dateFactory,
         \Magento\ProductAlert\Model\Resource\Stock\CollectionFactory $stockColFactory,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Email\TemplateFactory $templateFactory,
+        \Magento\Email\Model\TemplateFactory $templateFactory,
         \Magento\ProductAlert\Model\EmailFactory $emailFactory
     ) {
         $this->_taxData = $taxData;
@@ -382,7 +382,7 @@ class Observer
 
             $$this->_translate->setTranslateInline(false);
 
-            /* @var $emailTemplate \Magento\Core\Model\Email\Template */
+            /* @var $emailTemplate \Magento\Email\Model\Template */
             $this->_templateFactory->create()->setDesignConfig(array('area'  => 'backend'))
                 ->sendTransactional(
                     $this->_coreStoreConfig->getConfig(self::XML_PATH_ERROR_TEMPLATE),
diff --git a/app/code/Magento/Rating/Block/Adminhtml/Edit.php b/app/code/Magento/Rating/Block/Adminhtml/Edit.php
index 52c2c97435f..3a233582b5e 100644
--- a/app/code/Magento/Rating/Block/Adminhtml/Edit.php
+++ b/app/code/Magento/Rating/Block/Adminhtml/Edit.php
@@ -46,23 +46,23 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
     protected $_ratingFactory;
     protected $_blockGroup = 'Magento_Rating';
 
-    /**
-     * @param \Magento\Rating\Model\RatingFactory $ratingFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Rating\Model\RatingFactory $ratingFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rating\Model\RatingFactory $ratingFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Rating\Model\RatingFactory $ratingFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_ratingFactory = $ratingFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Form.php b/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Form.php
index 68f53c58483..03ed3e41e37 100644
--- a/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Form.php
+++ b/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Form.php
@@ -29,13 +29,6 @@ namespace Magento\Rating\Block\Adminhtml\Edit\Tab;
 
 class Form extends \Magento\Backend\Block\Widget\Form\Generic
 {
-    /**
-     * Store manager instance
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * System store
      *
@@ -58,32 +51,31 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     protected $_optionFactory;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Rating\Model\Rating\OptionFactory $optionFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Rating\Model\Rating\OptionFactory $optionFactory,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
         $this->_optionFactory = $optionFactory;
         $this->_session = $session;
         $this->_systemStore = $systemStore;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreRegistry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
 
diff --git a/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Options.php b/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Options.php
index b69d2f2fc3b..32cd245a748 100644
--- a/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Options.php
+++ b/app/code/Magento/Rating/Block/Adminhtml/Edit/Tab/Options.php
@@ -35,24 +35,24 @@ class Options extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_optionFactory;
 
-    /**
-     * @param \Magento\Rating\Model\Rating\OptionFactory $optionFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Rating\Model\Rating\OptionFactory $optionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rating\Model\Rating\OptionFactory $optionFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Rating\Model\Rating\OptionFactory $optionFactory,
+        array $data = array()
+    ) {
         $this->_optionFactory = $optionFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
 
diff --git a/app/code/Magento/Rating/Block/Entity/Detailed.php b/app/code/Magento/Rating/Block/Entity/Detailed.php
index e2b5f0ebe87..8514e417ca4 100644
--- a/app/code/Magento/Rating/Block/Entity/Detailed.php
+++ b/app/code/Magento/Rating/Block/Entity/Detailed.php
@@ -33,42 +33,32 @@
  */
 namespace Magento\Rating\Block\Entity;
 
-class Detailed extends \Magento\Core\Block\Template
+class Detailed extends \Magento\View\Block\Template
 {
     /**
      * @var string
      */
     protected $_template = 'detailed.phtml';
 
-    /**
-     * Store list manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Rating\Model\RatingFactory
      */
     protected $_ratingFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Rating\Model\RatingFactory $ratingFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Rating\Model\RatingFactory $ratingFactory,
         array $data = array()
-    ){
-        $this->_storeManager = $storeManager;
+    ) {
         $this->_ratingFactory = $ratingFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Rating/Controller/Adminhtml/Index.php b/app/code/Magento/Rating/Controller/Adminhtml/Index.php
index da9cd113724..835f2ace53f 100644
--- a/app/code/Magento/Rating/Controller/Adminhtml/Index.php
+++ b/app/code/Magento/Rating/Controller/Adminhtml/Index.php
@@ -29,7 +29,9 @@
  */
 namespace Magento\Rating\Controller\Adminhtml;
 
-class Index extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Index extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -39,11 +41,11 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -53,32 +55,32 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
     public function indexAction()
     {
         $this->_initEnityId();
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $this->_setActiveMenu('Magento_Review::catalog_reviews_ratings_ratings');
         $this->_addBreadcrumb(__('Manage Ratings'), __('Manage Ratings'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function editAction()
     {
         $this->_initEnityId();
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $ratingModel = $this->_objectManager->create('Magento\Rating\Model\Rating');
         if ($this->getRequest()->getParam('id')) {
             $ratingModel->load($this->getRequest()->getParam('id'));
         }
 
-        $this->_title($ratingModel->getId() ? $ratingModel->getRatingCode() : __('New Rating'));
+        $this->_title->add($ratingModel->getId() ? $ratingModel->getRatingCode() : __('New Rating'));
 
         $this->_setActiveMenu('Magento_Review::catalog_reviews_ratings_ratings');
         $this->_addBreadcrumb(__('Manage Ratings'), __('Manage Ratings'));
 
-        $this->_addContent($this->getLayout()->createBlock('Magento\Rating\Block\Adminhtml\Edit'))
-            ->_addLeft($this->getLayout()->createBlock('Magento\Rating\Block\Adminhtml\Edit\Tabs'));
-        $this->renderLayout();
+        $this->_addContent($this->_view->getLayout()->createBlock('Magento\Rating\Block\Adminhtml\Edit'))
+            ->_addLeft($this->_view->getLayout()->createBlock('Magento\Rating\Block\Adminhtml\Edit\Tabs'));
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -164,7 +166,7 @@ class Index extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _initEnityId()
     {
-        $this->_title(__('Ratings'));
+        $this->_title->add(__('Ratings'));
 
         $this->_coreRegistry->register(
             'entityId', $this->_objectManager->create('Magento\Rating\Model\Rating\Entity')->getIdByCode('product')
diff --git a/app/code/Magento/Rating/Helper/Data.php b/app/code/Magento/Rating/Helper/Data.php
index 5017fcdfd98..c7a96b9d609 100644
--- a/app/code/Magento/Rating/Helper/Data.php
+++ b/app/code/Magento/Rating/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Rating\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Rating/Model/Resource/Rating.php b/app/code/Magento/Rating/Model/Resource/Rating.php
index d11f9b6b845..c7f415cc053 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating.php
@@ -40,7 +40,7 @@ class Rating extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Store manager
      *
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -60,14 +60,14 @@ class Rating extends \Magento\Core\Model\Resource\Db\AbstractDb
      * @param \Magento\Logger $logger
      * @param \Magento\Rating\Helper\Data $ratingData
      * @param \Magento\App\Resource $resource
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Review\Model\Resource\Review\Summary $reviewSummary
      */
     public function __construct(
         \Magento\Logger $logger,
         \Magento\Rating\Helper\Data $ratingData,
         \Magento\App\Resource $resource,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Review\Model\Resource\Review\Summary $reviewSummary
     ) {
         $this->_ratingData = $ratingData;
diff --git a/app/code/Magento/Reports/Block/Adminhtml/Grid.php b/app/code/Magento/Reports/Block/Adminhtml/Grid.php
index 4078764cf5a..4251f7b28e4 100644
--- a/app/code/Magento/Reports/Block/Adminhtml/Grid.php
+++ b/app/code/Magento/Reports/Block/Adminhtml/Grid.php
@@ -95,33 +95,6 @@ class Grid extends \Magento\Backend\Block\Widget\Grid
      */
     protected $_filterValues;
 
-    /**
-     * Locale instance
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
-        $this->_locale = $locale;
-    }
-
     /**
      * Apply sorting and filtering to collection
      *
diff --git a/app/code/Magento/Reports/Block/Product/AbstractProduct.php b/app/code/Magento/Reports/Block/Product/AbstractProduct.php
index 0ec548d4e41..a323af2d41b 100644
--- a/app/code/Magento/Reports/Block/Product/AbstractProduct.php
+++ b/app/code/Magento/Reports/Block/Product/AbstractProduct.php
@@ -61,46 +61,32 @@ abstract class AbstractProduct extends \Magento\Catalog\Block\Product\AbstractPr
     protected $_indexFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\Product\Visibility $productVisibility
      * @param \Magento\Reports\Model\Product\Index\Factory $indexFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\Product\Visibility $productVisibility,
         \Magento\Reports\Model\Product\Index\Factory $indexFactory,
         array $data = array()
     ) {
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
         $this->_productVisibility = $productVisibility;
         $this->_indexFactory = $indexFactory;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
     }
 
     /**
diff --git a/app/code/Magento/Reports/Helper/Data.php b/app/code/Magento/Reports/Helper/Data.php
index 4b05f9cbb18..63405206a12 100644
--- a/app/code/Magento/Reports/Helper/Data.php
+++ b/app/code/Magento/Reports/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Reports\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const REPORT_PERIOD_TYPE_DAY    = 'day';
     const REPORT_PERIOD_TYPE_MONTH  = 'month';
@@ -41,11 +41,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_itemFactory;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Adminhtml\Model\Report\ItemFactory $itemFactory
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Adminhtml\Model\Report\ItemFactory $itemFactory
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Collection.php b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
index 8872079ed39..64d1977fb9e 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
@@ -84,7 +84,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -109,7 +109,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -129,7 +129,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
         $this->setProductEntityId($product->getEntityIdField());
         $this->setProductEntityTableName($product->getEntityTable());
         $this->setProductEntityTypeId($product->getTypeId());
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat, $coreStoreConfig,
             $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime
         );
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 8bbedf56bf5..0dd5e80667b 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
@@ -57,7 +57,7 @@ abstract class AbstractCollection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -80,7 +80,7 @@ abstract class AbstractCollection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -95,7 +95,7 @@ abstract class AbstractCollection
         \Magento\Stdlib\DateTime $dateTime,
         \Magento\Log\Model\Visitor $logVisitor
     ) {
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat, $coreStoreConfig,
             $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime
         );
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 7adc9928b44..ffdc8b4bbdc 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
@@ -70,7 +70,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\App\Resource $coreResource
+     * @param \Magento\App\Resource $resource
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -97,7 +97,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\App\Resource $coreResource,
+        \Magento\App\Resource $resource,
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -116,7 +116,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\CatalogInventory\Model\Resource\Stock\Item $itemResource
     ) {
-        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $coreResource,
+        parent::__construct($eventManager, $logger, $fetchStrategy, $entityFactory, $eavConfig, $resource,
             $eavEntityFactory, $universalFactory, $storeManager, $catalogData, $catalogProductFlat, $coreStoreConfig,
             $productOptionFactory, $catalogUrl, $locale, $customerSession, $resourceHelper, $dateTime, $product,
             $eventTypeFactory, $productType
diff --git a/app/code/Magento/Review/Block/Customer/ListCustomer.php b/app/code/Magento/Review/Block/Customer/ListCustomer.php
index 40f395d17f6..843db456b5e 100644
--- a/app/code/Magento/Review/Block/Customer/ListCustomer.php
+++ b/app/code/Magento/Review/Block/Customer/ListCustomer.php
@@ -49,31 +49,23 @@ class ListCustomer extends \Magento\Customer\Block\Account\Dashboard
     protected $_collectionFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
      * @param \Magento\Review\Model\Resource\Review\Product\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
         \Magento\Review\Model\Resource\Review\Product\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         $this->_collectionFactory = $collectionFactory;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $customerSession, $subscriberFactory, $data);
+        parent::__construct($context, $coreData, $customerSession, $subscriberFactory, $data);
     }
 
     protected function _initCollection()
@@ -109,7 +101,7 @@ class ListCustomer extends \Magento\Customer\Block\Account\Dashboard
     /**
      * Initializes toolbar
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -175,7 +167,7 @@ class ListCustomer extends \Magento\Customer\Block\Account\Dashboard
     }
 
     /**
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Review/Block/Customer/Recent.php b/app/code/Magento/Review/Block/Customer/Recent.php
index ffb789472d3..2bef95fbf73 100644
--- a/app/code/Magento/Review/Block/Customer/Recent.php
+++ b/app/code/Magento/Review/Block/Customer/Recent.php
@@ -29,7 +29,7 @@ namespace Magento\Review\Block\Customer;
 /**
  * Recent Customer Reviews Block
  */
-class Recent extends \Magento\Core\Block\Template
+class Recent extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -49,40 +49,22 @@ class Recent extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * Filter manager
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Review\Model\Resource\Review\Product\CollectionFactory $collectionFactory
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Filter\FilterManager $filter
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Review\Model\Resource\Review\Product\CollectionFactory $collectionFactory,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Filter\FilterManager $filter,
         array $data = array()
     ) {
         $this->_collection = $collectionFactory->create();
         $this->_customerSession = $customerSession;
-        $this->_storeManager = $storeManager;
-        $this->filter = $filter;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -97,7 +79,7 @@ class Recent extends \Magento\Core\Block\Template
      */
     public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
     {
-        return $this->filter->truncate($value, array(
+        return $this->filterManager->truncate($value, array(
             'length' => $length,
             'etc' => $etc,
             'remainder' => $remainder,
diff --git a/app/code/Magento/Review/Block/Customer/View.php b/app/code/Magento/Review/Block/Customer/View.php
index 5dafcd48a6c..aa674f80220 100644
--- a/app/code/Magento/Review/Block/Customer/View.php
+++ b/app/code/Magento/Review/Block/Customer/View.php
@@ -64,13 +64,12 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Review\Model\ReviewFactory $reviewFactory
@@ -80,13 +79,12 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Review\Model\ReviewFactory $reviewFactory,
@@ -100,17 +98,8 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
         $this->_voteFactory = $voteFactory;
         $this->_ratingFactory = $ratingFactory;
         $this->_customerSession = $customerSession;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
 
diff --git a/app/code/Magento/Review/Block/Form.php b/app/code/Magento/Review/Block/Form.php
index cba3af64479..67e9e2f2b80 100644
--- a/app/code/Magento/Review/Block/Form.php
+++ b/app/code/Magento/Review/Block/Form.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Review\Block;
 
-class Form extends \Magento\Core\Block\Template
+class Form extends \Magento\View\Block\Template
 {
     /**
      * Review data
@@ -57,36 +57,29 @@ class Form extends \Magento\Core\Block\Template
      */
     protected $_ratingFactory;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Review\Model\Session
      */
     protected $_reviewSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Session\Generic $reviewSession
      * @param \Magento\Review\Helper\Data $reviewData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Rating\Model\RatingFactory $ratingFactory
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Session\Generic $reviewSession,
         \Magento\Review\Helper\Data $reviewData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Rating\Model\RatingFactory $ratingFactory,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         $this->_reviewSession = $reviewSession;
@@ -94,8 +87,7 @@ class Form extends \Magento\Core\Block\Template
         $this->_customerSession = $customerSession;
         $this->_productFactory = $productFactory;
         $this->_ratingFactory = $ratingFactory;
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Review/Block/Helper.php b/app/code/Magento/Review/Block/Helper.php
index 84a51af9dc2..8eb65421b13 100644
--- a/app/code/Magento/Review/Block/Helper.php
+++ b/app/code/Magento/Review/Block/Helper.php
@@ -33,40 +33,32 @@
  */
 namespace Magento\Review\Block;
 
-class Helper extends \Magento\Core\Block\Template
+class Helper extends \Magento\View\Block\Template
 {
     protected $_availableTemplates = array(
         'default' => 'helper/summary.phtml',
         'short'   => 'helper/summary_short.phtml'
     );
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Review\Model\ReviewFactory
      */
     protected $_reviewFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Review\Model\ReviewFactory $reviewFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Review\Model\ReviewFactory $reviewFactory,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_reviewFactory = $reviewFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getSummaryHtml($product, $templateType, $displayIfNoReviews)
diff --git a/app/code/Magento/Review/Block/Product/View.php b/app/code/Magento/Review/Block/Product/View.php
index adf3e77ad67..946d7081469 100644
--- a/app/code/Magento/Review/Block/Product/View.php
+++ b/app/code/Magento/Review/Block/Product/View.php
@@ -46,53 +46,45 @@ class View extends \Magento\Catalog\Block\Product\View
     protected $_reviewsColFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Tax\Model\Calculation $taxCalculation
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Stdlib\String $string
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Tax\Model\Calculation $taxCalculation
+     * @param \Magento\Stdlib\String $string
      * @param \Magento\Review\Model\Resource\Review\CollectionFactory $collectionFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Tax\Model\Calculation $taxCalculation,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Stdlib\String $string,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Tax\Model\Calculation $taxCalculation,
+        \Magento\Stdlib\String $string,
         \Magento\Review\Model\Resource\Review\CollectionFactory $collectionFactory,
         array $data = array()
     ) {
         $this->_reviewsColFactory = $collectionFactory;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $productFactory,
-            $locale,
-            $taxCalculation,
-            $coreRegistry,
-            $string,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
+            $productFactory,
+            $taxCalculation,
+            $string,
             $data
         );
     }
diff --git a/app/code/Magento/Review/Block/Product/View/Other.php b/app/code/Magento/Review/Block/Product/View/Other.php
index 43409f53f77..ce3a248e659 100644
--- a/app/code/Magento/Review/Block/Product/View/Other.php
+++ b/app/code/Magento/Review/Block/Product/View/Other.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Review\Block\Product\View;
 
-class Other extends \Magento\Core\Block\Template
+class Other extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Core\Model\Registry
@@ -37,19 +37,19 @@ class Other extends \Magento\Core\Block\Template
     protected $_registry;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_registry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Review/Block/View.php b/app/code/Magento/Review/Block/View.php
index 36e9ab9f4a5..f28615023c4 100644
--- a/app/code/Magento/Review/Block/View.php
+++ b/app/code/Magento/Review/Block/View.php
@@ -54,29 +54,25 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
     protected $_reviewFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Rating\Model\Rating\Option\VoteFactory $voteFactory
      * @param \Magento\Rating\Model\RatingFactory $ratingFactory
      * @param \Magento\Review\Model\ReviewFactory $reviewFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Rating\Model\Rating\Option\VoteFactory $voteFactory,
         \Magento\Rating\Model\RatingFactory $ratingFactory,
@@ -84,19 +80,9 @@ class View extends \Magento\Catalog\Block\Product\AbstractProduct
         array $data = array()
     ) {
         $this->_voteFactory = $voteFactory;
-        $this->_ratingFactory = $ratingFactory;
         $this->_reviewFactory = $reviewFactory;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
diff --git a/app/code/Magento/Review/Controller/Customer.php b/app/code/Magento/Review/Controller/Customer.php
index 962cc181e80..f08728c7fc2 100644
--- a/app/code/Magento/Review/Controller/Customer.php
+++ b/app/code/Magento/Review/Controller/Customer.php
@@ -34,7 +34,10 @@
 
 namespace Magento\Review\Controller;
 
-class Customer extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Customer extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Customer\Model\Session
@@ -42,11 +45,11 @@ class Customer extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession
     ) {
         $this->_customerSession = $customerSession;
@@ -54,42 +57,43 @@ class Customer extends \Magento\Core\Controller\Front\Action
     }
 
     /**
-     * Action predispatch
-     *
      * Check customer authentication for some actions
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
         if (!$this->_customerSession->authenticate($this)) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         }
+        return parent::dispatch($request);
     }
 
     public function indexAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Catalog\Model\Session');
 
-        if ($navigationBlock = $this->getLayout()->getBlock('customer_account_navigation')) {
+        if ($navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation')) {
             $navigationBlock->setActive('review/customer');
         }
-        if ($block = $this->getLayout()->getBlock('review_customer_list')) {
-            $block->setRefererUrl($this->_getRefererUrl());
+        if ($block = $this->_view->getLayout()->getBlock('review_customer_list')) {
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
         }
 
-        $this->getLayout()->getBlock('head')->setTitle(__('My Product Reviews'));
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('My Product Reviews'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function viewAction()
     {
-        $this->loadLayout();
-        if ($navigationBlock = $this->getLayout()->getBlock('customer_account_navigation')) {
+        $this->_view->loadLayout();
+        if ($navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation')) {
             $navigationBlock->setActive('review/customer');
         }
-        $this->getLayout()->getBlock('head')->setTitle(__('Review Details'));
-        $this->renderLayout();
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('Review Details'));
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Review/Controller/Product.php b/app/code/Magento/Review/Controller/Product.php
index e4dabd672c6..34376721cca 100644
--- a/app/code/Magento/Review/Controller/Product.php
+++ b/app/code/Magento/Review/Controller/Product.php
@@ -33,15 +33,11 @@
  */
 namespace Magento\Review\Controller;
 
-class Product extends \Magento\Core\Controller\Front\Action
-{
-    /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
-     */
-    protected $_cookieCheckActions = array('post');
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
 
+class Product extends \Magento\App\Action\Action
+{
     /**
      * Core registry
      *
@@ -54,21 +50,11 @@ class Product extends \Magento\Core\Controller\Front\Action
      */
     protected $_customerSession;
 
-    /**
-     * @var \Magento\UrlInterface
-     */
-    protected $_urlModel;
-
     /**
      * @var \Magento\Review\Model\Session
      */
     protected $_reviewSession;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Catalog\Model\CategoryFactory
      */
@@ -105,11 +91,14 @@ class Product extends \Magento\Core\Controller\Front\Action
     protected $_catalogDesign;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\UrlInterface $urlModel
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Logger $logger
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
@@ -118,13 +107,12 @@ class Product extends \Magento\Core\Controller\Front\Action
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Catalog\Model\Design $catalogDesign
      * @param \Magento\Core\Model\Session\Generic $reviewSession
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\UrlInterface $urlModel,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Logger $logger,
         \Magento\Catalog\Model\ProductFactory $productFactory,
@@ -132,13 +120,13 @@ class Product extends \Magento\Core\Controller\Front\Action
         \Magento\Rating\Model\RatingFactory $ratingFactory,
         \Magento\Core\Model\Session $session,
         \Magento\Catalog\Model\Design $catalogDesign,
-        \Magento\Core\Model\Session\Generic $reviewSession
+        \Magento\Core\Model\Session\Generic $reviewSession,
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
+        $this->_storeManager = $storeManager;
         $this->_coreRegistry = $coreRegistry;
         $this->_customerSession = $customerSession;
-        $this->_urlModel = $urlModel;
         $this->_reviewSession = $reviewSession;
-        $this->_storeManager = $storeManager;
         $this->_categoryFactory = $categoryFactory;
         $this->_logger = $logger;
         $this->_productFactory = $productFactory;
@@ -150,29 +138,35 @@ class Product extends \Magento\Core\Controller\Front\Action
         parent::__construct($context);
     }
 
-    public function preDispatch()
+    /**
+     * Dispatch request
+     *
+     * @param RequestInterface $request
+     * @return mixed
+     */
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         $allowGuest = $this->_objectManager->get('Magento\Review\Helper\Data')->getIsGuestAllowToWrite();
-        if (!$this->getRequest()->isDispatched()) {
-            return;
+        if (!$request->isDispatched()) {
+            return parent::dispatch($request);
         }
 
-        $action = $this->getRequest()->getActionName();
-        if (!$allowGuest && $action == 'post' && $this->getRequest()->isPost()) {
+        if (!$allowGuest && $request->getActionName() == 'post' && $request->isPost()) {
             if (!$this->_customerSession->isLoggedIn()) {
-                $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-                $this->_customerSession->setBeforeAuthUrl($this->_urlModel->getUrl('*/*/*', array('_current' => true)));
+                $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
+                $this->_customerSession->setBeforeAuthUrl($this->_url->getUrl('*/*/*', array('_current' => true)));
                 $this->_reviewSession
-                    ->setFormData($this->getRequest()->getPost())
-                    ->setRedirectUrl($this->_getRefererUrl());
-                $this->_redirectUrl($this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl());
+                    ->setFormData($request->getPost())
+                    ->setRedirectUrl($this->_redirect->getRefererUrl());
+                $this->getResponse()->setRedirect(
+                    $this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl()
+                );
             }
         }
 
-        return $this;
+        return parent::dispatch($request);
     }
+
     /**
      * Initialize and check product
      *
@@ -320,10 +314,10 @@ class Product extends \Magento\Core\Controller\Front\Action
 
         $redirectUrl = $this->_reviewSession->getRedirectUrl(true);
         if ($redirectUrl) {
-            $this->_redirectUrl($redirectUrl);
+            $this->getResponse()->setRedirect($redirectUrl);
             return;
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl());
     }
 
     /**
@@ -344,7 +338,7 @@ class Product extends \Magento\Core\Controller\Front\Action
             $this->_initProductLayout($product);
 
             // update breadcrumbs
-            $breadcrumbsBlock = $this->getLayout()->getBlock('breadcrumbs');
+            $breadcrumbsBlock = $this->_view->getLayout()->getBlock('breadcrumbs');
             if ($breadcrumbsBlock) {
                 $breadcrumbsBlock->addCrumb('product', array(
                     'label'    => $product->getName(),
@@ -354,9 +348,9 @@ class Product extends \Magento\Core\Controller\Front\Action
                 $breadcrumbsBlock->addCrumb('reviews', array('label' => __('Product Reviews')));
             }
 
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } elseif (!$this->getResponse()->isRedirect()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -378,10 +372,9 @@ class Product extends \Magento\Core\Controller\Front\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Review\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages(array('Magento\Review\Model\Session', 'Magento\Catalog\Model\Session'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -390,9 +383,9 @@ class Product extends \Magento\Core\Controller\Front\Action
      */
     protected function _initProductLayout($product)
     {
-        $update = $this->getLayout()->getUpdate();
+        $update = $this->_view->getLayout()->getUpdate();
         $update->addHandle('default');
-        $this->addPageLayoutHandles(
+        $this->_view->addPageLayoutHandles(
             array('id' => $product->getId(), 'sku' => $product->getSku(), 'type' => $product->getTypeId())
         );
 
@@ -400,13 +393,14 @@ class Product extends \Magento\Core\Controller\Front\Action
             $this->_objectManager->get('Magento\Page\Helper\Layout')
                 ->applyHandle($product->getPageLayout());
         }
-        $this->loadLayoutUpdates();
+        $this->_view->loadLayoutUpdates();
 
         if ($product->getPageLayout()) {
             $this->_objectManager->get('Magento\Page\Helper\Layout')
                 ->applyTemplate($product->getPageLayout());
         }
         $update->addUpdate($product->getCustomLayoutUpdate());
-        $this->generateLayoutXml()->generateLayoutBlocks();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
     }
 }
diff --git a/app/code/Magento/Review/Helper/Action/Pager.php b/app/code/Magento/Review/Helper/Action/Pager.php
index a20b596a1cc..75813d38db5 100644
--- a/app/code/Magento/Review/Helper/Action/Pager.php
+++ b/app/code/Magento/Review/Helper/Action/Pager.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Review\Helper\Action;
 
-class Pager extends \Magento\Core\Helper\AbstractHelper
+class Pager extends \Magento\App\Helper\AbstractHelper
 {
     const STORAGE_PREFIX = 'search_result_ids';
 
@@ -52,11 +52,11 @@ class Pager extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Backend\Model\Session $backendSession
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Backend\Model\Session $backendSession,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         $this->_backendSession = $backendSession;
         parent::__construct($context);
diff --git a/app/code/Magento/Review/Helper/Data.php b/app/code/Magento/Review/Helper/Data.php
index 4133b1a655d..ff169bc5d67 100644
--- a/app/code/Magento/Review/Helper/Data.php
+++ b/app/code/Magento/Review/Helper/Data.php
@@ -29,7 +29,7 @@ namespace Magento\Review\Helper;
 /**
  * Default review helper
  */
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_REVIEW_GUETS_ALLOW = 'catalog/review/allow_guest';
 
@@ -53,13 +53,13 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_escaper;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Escaper $escaper
      * @param \Magento\Filter\FilterManager $filter
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Escaper $escaper,
         \Magento\Filter\FilterManager $filter
diff --git a/app/code/Magento/Review/etc/frontend/di.xml b/app/code/Magento/Review/etc/frontend/di.xml
index 6556df779a8..0ce38e26e0a 100644
--- a/app/code/Magento/Review/etc/frontend/di.xml
+++ b/app/code/Magento/Review/etc/frontend/di.xml
@@ -38,6 +38,7 @@
         </param>
     </type>
     <type name="Magento\Review\Controller\Product">
+        <plugin name="sessionInitializer" type="reviewProductInitSession" />
         <param name="reviewSession">
             <instance type="Magento\Review\Model\Session" />
         </param>
@@ -49,4 +50,11 @@
             </value>
         </param>
     </type>
+    <virtualType name="reviewProductInitSession" type="Magento\Core\App\Action\Plugin\Session">
+        <param name="cookieCheckActions">
+            <value>
+                <productReviewPost>post</productReviewPost>
+            </value>
+        </param>
+    </virtualType>
 </config>
diff --git a/app/code/Magento/Review/view/frontend/layout/review_product_list.xml b/app/code/Magento/Review/view/frontend/layout/review_product_list.xml
index ee06566961a..8a1e673fbda 100644
--- a/app/code/Magento/Review/view/frontend/layout/review_product_list.xml
+++ b/app/code/Magento/Review/view/frontend/layout/review_product_list.xml
@@ -53,7 +53,7 @@
             <block class="Magento\Catalog\Block\Product\View" name="product.tierprices" as="tierprices" template="product/view/tierprices.phtml"/>
             <block class="Magento\Review\Block\Product\View\Other" name="product.info.other" as="other" template="Magento_Review::product/view/other.phtml"/>
             <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\View\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 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"/>
diff --git a/app/code/Magento/Rss/App/Action/Plugin/Authentication.php b/app/code/Magento/Rss/App/Action/Plugin/Authentication.php
new file mode 100644
index 00000000000..d75915b84ef
--- /dev/null
+++ b/app/code/Magento/Rss/App/Action/Plugin/Authentication.php
@@ -0,0 +1,123 @@
+<?php
+/**
+ * RSS Authentication plugin
+ *
+ * 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\Rss\App\Action\Plugin;
+
+class Authentication extends \Magento\Backend\App\Action\Plugin\Authentication
+{
+    /**
+     * @var \Magento\HTTP\Authentication
+     */
+    protected $_httpAuthentication;
+
+    /**
+     * @var \Magento\Core\Model\Logger
+     */
+    protected $_logger;
+
+    /**
+     * @var \Magento\AuthorizationInterface
+     */
+    protected $_authorization;
+
+    /**
+     * @var array
+     */
+    protected $_aclResources = array(
+        'authenticate' => 'Magento_Rss::rss',
+        'catalog' => array(
+            'notifystock' => 'Magento_Catalog::products',
+            'review' => 'Magento_Review::reviews_all'
+        ),
+        'order' => 'Magento_Sales::sales_order'
+    );
+
+    /**
+     * @param \Magento\Backend\Model\Auth $auth
+     * @param \Magento\Backend\Model\Session $session
+     * @param \Magento\Backend\Model\Url $url
+     * @param \Magento\App\ResponseInterface $response
+     * @param \Magento\App\ActionFlag $actionFlag
+     * @param \Magento\HTTP\Authentication $httpAuthentication
+     * @param \Magento\Logger $logger
+     * @param \Magento\AuthorizationInterface $authorization
+     */
+    public function __construct(
+        \Magento\Backend\Model\Auth $auth,
+        \Magento\Backend\Model\Session $session,
+        \Magento\Backend\Model\Url $url,
+        \Magento\App\ResponseInterface $response,
+        \Magento\App\ActionFlag $actionFlag,
+        \Magento\HTTP\Authentication $httpAuthentication,
+        \Magento\Logger $logger,
+        \Magento\AuthorizationInterface $authorization
+    ) {
+        $this->_httpAuthentication = $httpAuthentication;
+        $this->_logger = $logger;
+        $this->_authorization = $authorization;
+        parent::__construct($auth, $session, $url, $response, $actionFlag);
+    }
+
+    /**
+     * Replace standard admin login form with HTTP Basic authentication
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        /** @var \Magento\App\RequestInterface $request */
+        $request = $arguments[0];
+        $resource = isset($this->_aclResources[$request->getControllerName()])
+            ? (isset($this->_aclResources[$request->getControllerName()][$request->getActionName()])
+                ? $this->_aclResources[$request->getControllerName()][$request->getActionName()]
+                : $this->_aclResources[$request->getControllerName()])
+            : null;
+        if (!$resource) {
+            return parent::aroundDispatch($arguments, $invocationChain);
+        }
+
+        $session = $this->_auth->getAuthStorage();
+
+        // Try to login using HTTP-authentication
+        if (!$session->isLoggedIn()) {
+            list($login, $password) = $this->_httpAuthentication->getCredentials();
+            try {
+                $this->_auth->login($login, $password);
+            } catch (\Magento\Backend\Model\Auth\Exception $e) {
+                $this->_logger->logException($e);
+            }
+        }
+
+        // Verify if logged in and authorized
+        if (!$session->isLoggedIn() || !$this->_authorization->isAllowed($resource)) {
+            $this->_httpAuthentication->setAuthenticationFailed('RSS Feeds');
+            return null;
+        }
+
+        return parent::aroundDispatch($arguments, $invocationChain);
+    }
+}
diff --git a/app/code/Magento/Rss/Block/AbstractBlock.php b/app/code/Magento/Rss/Block/AbstractBlock.php
index 48362484032..25da8573e46 100644
--- a/app/code/Magento/Rss/Block/AbstractBlock.php
+++ b/app/code/Magento/Rss/Block/AbstractBlock.php
@@ -26,35 +26,27 @@
 
 namespace Magento\Rss\Block;
 
-class AbstractBlock extends \Magento\Core\Block\Template
+class AbstractBlock extends \Magento\View\Block\Template
 {
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -65,8 +57,8 @@ class AbstractBlock extends \Magento\Core\Block\Template
     protected function _getStoreId()
     {
         $storeId =   (int) $this->getRequest()->getParam('store_id');
-        if($storeId == null) {
-           $storeId = $this->_storeManager->getStore()->getId();
+        if ($storeId == null) {
+            $storeId = $this->_storeManager->getStore()->getId();
         }
         return $storeId;
     }
diff --git a/app/code/Magento/Rss/Block/Catalog/AbstractCatalog.php b/app/code/Magento/Rss/Block/Catalog/AbstractCatalog.php
index e313d258f96..ca826facc60 100644
--- a/app/code/Magento/Rss/Block/Catalog/AbstractCatalog.php
+++ b/app/code/Magento/Rss/Block/Catalog/AbstractCatalog.php
@@ -68,30 +68,28 @@ class AbstractCatalog extends \Magento\Rss\Block\AbstractBlock
     protected $_catalogData = null;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
+        \Magento\Catalog\Helper\Data $catalogData,
         array $data = array()
     ) {
         $this->_catalogData = $catalogData;
-        parent::__construct($coreData, $context, $storeManager, $customerSession, $data);
+        parent::__construct($context, $coreData, $customerSession, $data);
     }
 
     /**
      * Return Price Block renderer for specified product type
      *
      * @param string $productTypeId Catalog Product type
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _getPriceBlock($productTypeId)
     {
diff --git a/app/code/Magento/Rss/Block/Catalog/Category.php b/app/code/Magento/Rss/Block/Catalog/Category.php
index 38391c7fb82..4a2716f10c1 100644
--- a/app/code/Magento/Rss/Block/Catalog/Category.php
+++ b/app/code/Magento/Rss/Block/Catalog/Category.php
@@ -57,11 +57,10 @@ class Category extends \Magento\Rss\Block\Catalog\AbstractCatalog
     protected $_collectionFactory;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Model\Layer $catalogLayer
      * @param \Magento\Catalog\Model\Product\Visibility $visibility
      * @param \Magento\Rss\Model\RssFactory $rssFactory
@@ -70,11 +69,10 @@ class Category extends \Magento\Rss\Block\Catalog\AbstractCatalog
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Model\Layer $catalogLayer,
         \Magento\Catalog\Model\Product\Visibility $visibility,
         \Magento\Rss\Model\RssFactory $rssFactory,
@@ -87,7 +85,7 @@ class Category extends \Magento\Rss\Block\Catalog\AbstractCatalog
         $this->_rssFactory = $rssFactory;
         $this->_categoryFactory = $categoryFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($catalogData, $coreData, $context, $storeManager, $customerSession, $data);
+        parent::__construct($context, $coreData, $customerSession, $catalogData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Rss/Block/Catalog/NewCatalog.php b/app/code/Magento/Rss/Block/Catalog/NewCatalog.php
index 48c7ffca0c2..04c8b050c68 100644
--- a/app/code/Magento/Rss/Block/Catalog/NewCatalog.php
+++ b/app/code/Magento/Rss/Block/Catalog/NewCatalog.php
@@ -41,11 +41,6 @@ class NewCatalog extends \Magento\Rss\Block\Catalog\AbstractCatalog
      */
     protected $_productFactory;
 
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * @var \Magento\Catalog\Model\Product\Visibility
      */
@@ -57,37 +52,32 @@ class NewCatalog extends \Magento\Rss\Block\Catalog\AbstractCatalog
     protected $_resourceIterator;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Rss\Model\RssFactory $rssFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Catalog\Model\Product\Visibility $visibility
      * @param \Magento\Core\Model\Resource\Iterator $resourceIterator
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Rss\Model\RssFactory $rssFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Catalog\Model\Product\Visibility $visibility,
         \Magento\Core\Model\Resource\Iterator $resourceIterator,
         array $data = array()
     ) {
         $this->_rssFactory = $rssFactory;
         $this->_productFactory = $productFactory;
-        $this->_locale = $locale;
         $this->_visibility = $visibility;
         $this->_resourceIterator = $resourceIterator;
-        parent::__construct($catalogData, $coreData, $context, $storeManager, $customerSession, $data);
+        parent::__construct($context, $coreData, $customerSession, $catalogData, $data);
     }
 
     protected function _toHtml()
diff --git a/app/code/Magento/Rss/Block/Catalog/Salesrule.php b/app/code/Magento/Rss/Block/Catalog/Salesrule.php
index 2f25dfe16ae..3a240f76a1a 100644
--- a/app/code/Magento/Rss/Block/Catalog/Salesrule.php
+++ b/app/code/Magento/Rss/Block/Catalog/Salesrule.php
@@ -42,18 +42,16 @@ class Salesrule extends \Magento\Rss\Block\AbstractBlock
     protected $_collectionFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Rss\Model\RssFactory $rssFactory
      * @param \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Rss\Model\RssFactory $rssFactory,
         \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory,
@@ -61,7 +59,7 @@ class Salesrule extends \Magento\Rss\Block\AbstractBlock
     ) {
         $this->_rssFactory = $rssFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $customerSession, $data);
+        parent::__construct($context, $coreData, $customerSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Rss/Block/Catalog/Special.php b/app/code/Magento/Rss/Block/Catalog/Special.php
index 0a57b1efc39..e6e2bacc310 100644
--- a/app/code/Magento/Rss/Block/Catalog/Special.php
+++ b/app/code/Magento/Rss/Block/Catalog/Special.php
@@ -54,22 +54,20 @@ class Special extends \Magento\Rss\Block\Catalog\AbstractCatalog
     protected $_resourceIterator;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Rss\Model\RssFactory $rssFactory
      * @param \Magento\Core\Model\Resource\Iterator $resourceIterator
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Customer\Model\Session $customerSession,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Rss\Model\RssFactory $rssFactory,
         \Magento\Core\Model\Resource\Iterator $resourceIterator,
@@ -78,7 +76,7 @@ class Special extends \Magento\Rss\Block\Catalog\AbstractCatalog
         $this->_productFactory = $productFactory;
         $this->_rssFactory = $rssFactory;
         $this->_resourceIterator = $resourceIterator;
-        parent::__construct($catalogData, $coreData, $context, $storeManager, $customerSession, $data);
+        parent::__construct($context, $coreData, $customerSession, $catalogData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Rss/Block/ListBlock.php b/app/code/Magento/Rss/Block/ListBlock.php
index 34384643359..b2285ce6a5a 100644
--- a/app/code/Magento/Rss/Block/ListBlock.php
+++ b/app/code/Magento/Rss/Block/ListBlock.php
@@ -29,17 +29,12 @@
  */
 namespace Magento\Rss\Block;
 
-class ListBlock extends \Magento\Core\Block\Template
+class ListBlock extends \Magento\View\Block\Template
 {
     const XML_PATH_RSS_METHODS = 'rss';
 
     protected $_rssFeeds = array();
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
@@ -51,25 +46,22 @@ class ListBlock extends \Magento\Core\Block\Template
     protected $_categoryFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
         $this->_categoryFactory = $categoryFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -106,7 +98,7 @@ class ListBlock extends \Magento\Core\Block\Template
      * @param string $label
      * @param array $param
      * @param bool $customerGroup
-     * @return  \Magento\Core\Helper\AbstractHelper
+     * @return  \Magento\App\Helper\AbstractHelper
      */
     public function addRssFeed($url, $label, $param = array(), $customerGroup = false)
     {
diff --git a/app/code/Magento/Rss/Block/Order/Details.php b/app/code/Magento/Rss/Block/Order/Details.php
index 5012d2af4f5..3c598e44353 100644
--- a/app/code/Magento/Rss/Block/Order/Details.php
+++ b/app/code/Magento/Rss/Block/Order/Details.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Rss\Block\Order;
 
-class Details extends \Magento\Core\Block\Template
+class Details extends \Magento\View\Block\Template
 {
 
     protected $_template = 'order/details.phtml';
diff --git a/app/code/Magento/Rss/Block/Order/Status.php b/app/code/Magento/Rss/Block/Order/Status.php
index d264201a6e3..af53dbb762b 100644
--- a/app/code/Magento/Rss/Block/Order/Status.php
+++ b/app/code/Magento/Rss/Block/Order/Status.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Rss\Block\Order;
 
-class Status extends \Magento\Core\Block\Template
+class Status extends \Magento\View\Block\Template
 {
     /**
      * Core registry
@@ -49,16 +49,16 @@ class Status extends \Magento\Core\Block\Template
     protected $_orderFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Rss\Model\RssFactory $rssFactory
      * @param \Magento\Rss\Model\Resource\OrderFactory $orderFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Rss\Model\RssFactory $rssFactory,
         \Magento\Rss\Model\Resource\OrderFactory $orderFactory,
@@ -67,7 +67,7 @@ class Status extends \Magento\Core\Block\Template
         $this->_coreRegistry = $registry;
         $this->_rssFactory = $rssFactory;
         $this->_orderFactory = $orderFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Rss/Block/Wishlist.php b/app/code/Magento/Rss/Block/Wishlist.php
index 7c9f7dfa394..09c62d9e293 100644
--- a/app/code/Magento/Rss/Block/Wishlist.php
+++ b/app/code/Magento/Rss/Block/Wishlist.php
@@ -65,13 +65,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
     protected $_rssFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Customer\Model\Session $customerSession
@@ -80,17 +79,14 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
      * @param \Magento\Rss\Model\RssFactory $rssFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Customer\Model\Session $customerSession,
@@ -104,13 +100,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
         $this->_customerFactory = $customerFactory;
         $this->_rssFactory = $rssFactory;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $wishlistData,
             $customerSession,
diff --git a/app/code/Magento/Rss/Controller/Adminhtml/Authenticate.php b/app/code/Magento/Rss/Controller/Adminhtml/Authenticate.php
index 0626a74c085..197de22c551 100644
--- a/app/code/Magento/Rss/Controller/Adminhtml/Authenticate.php
+++ b/app/code/Magento/Rss/Controller/Adminhtml/Authenticate.php
@@ -29,66 +29,16 @@
  */
 namespace Magento\Rss\Controller\Adminhtml;
 
-class Authenticate extends \Magento\Backend\Controller\Adminhtml\Action
-{
-    /**
-     * @var \Magento\Core\Model\Logger
-     */
-    protected $_logger;
+use Magento\Backend\App\Action;
 
+class Authenticate extends \Magento\Backend\App\Action
+{
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param Action\Context $context
      */
-    public function __construct(\Magento\Backend\Controller\Context $context)
+    public function __construct(Action\Context $context)
     {
-        $this->_logger = $context->getLogger();
         parent::__construct($context);
         $this->_objectManager->get('Magento\Backend\Model\Url')->turnOffSecretKey();
     }
-
-    /**
-     * Return required ACL resource for current action
-     * @return string
-     */
-    protected function _getActionAclResource()
-    {
-        return 'Magento_Rss::rss';
-    }
-
-    /**
-     * Replace standard admin login form with HTTP Basic authentication
-     * @return bool|\Magento\Backend\Controller\AbstractAction
-     */
-    protected function _initAuthentication()
-    {
-        $aclResource = $this->_getActionAclResource();
-        if (!$aclResource) {
-            return parent::_initAuthentication();
-        }
-
-        /** @var $auth \Magento\Backend\Model\Auth */
-        $auth = $this->_objectManager->create('Magento\Backend\Model\Auth');
-        $session = $auth->getAuthStorage();
-
-        // Try to login using HTTP-authentication
-        if (!$session->isLoggedIn()) {
-            list($login, $password) = $this->_objectManager->get('Magento\HTTP\Authentication')->getCredentials();
-            try {
-                $auth->login($login, $password);
-            } catch (\Magento\Backend\Model\Auth\Exception $e) {
-                $this->_logger->logException($e);
-            }
-        }
-
-        // Verify if logged in and authorized
-        if (!$session->isLoggedIn()
-            || !$this->_objectManager->get('Magento\AuthorizationInterface')->isAllowed($aclResource)
-        ) {
-            $this->_objectManager->get('Magento\HTTP\Authentication')->setAuthenticationFailed('RSS Feeds');
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
-            return false;
-        }
-
-        return true;
-    }
 }
diff --git a/app/code/Magento/Rss/Controller/Adminhtml/Catalog.php b/app/code/Magento/Rss/Controller/Adminhtml/Catalog.php
index 1a6edf76dad..e0df9fb96f4 100644
--- a/app/code/Magento/Rss/Controller/Adminhtml/Catalog.php
+++ b/app/code/Magento/Rss/Controller/Adminhtml/Catalog.php
@@ -31,29 +31,14 @@ namespace Magento\Rss\Controller\Adminhtml;
 
 class Catalog extends \Magento\Rss\Controller\Adminhtml\Authenticate
 {
-    /**
-     * Return required ACL resource for current action
-     *
-     * @return bool|string
-     */
-    protected function _getActionAclResource()
-    {
-        $acl = array(
-            'notifystock' => 'Magento_Catalog::products',
-            'review' => 'Magento_Review::reviews_all'
-        );
-        $action = $this->getRequest()->getActionName();
-        return isset($acl[$action]) ? $acl[$action] : false;
-    }
-
     /**
      * Notify stock action
      */
     public function notifystockAction()
     {
         $this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -62,7 +47,7 @@ class Catalog extends \Magento\Rss\Controller\Adminhtml\Authenticate
     public function reviewAction()
     {
         $this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Rss/Controller/Adminhtml/Order.php b/app/code/Magento/Rss/Controller/Adminhtml/Order.php
index b11470376fd..f6047e61c4d 100644
--- a/app/code/Magento/Rss/Controller/Adminhtml/Order.php
+++ b/app/code/Magento/Rss/Controller/Adminhtml/Order.php
@@ -31,23 +31,13 @@ namespace Magento\Rss\Controller\Adminhtml;
 
 class Order extends \Magento\Rss\Controller\Adminhtml\Authenticate
 {
-    /**
-     * Return required ACL resource for current action
-     *
-     * @return string
-     */
-    protected function _getActionAclResource()
-    {
-        return 'Magento_Sales::sales_order';
-    }
-
     /**
      * New orders action
      */
     public function newAction()
     {
         $this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Rss/Controller/Catalog.php b/app/code/Magento/Rss/Controller/Catalog.php
index a75bea291bf..c6ac0780e4a 100644
--- a/app/code/Magento/Rss/Controller/Catalog.php
+++ b/app/code/Magento/Rss/Controller/Catalog.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Rss\Controller;
 
-class Catalog extends \Magento\Core\Controller\Front\Action
+class Catalog extends \Magento\App\Action\Action
 {
     /**
      * @var \Magento\Core\Model\Store\Config
@@ -37,11 +37,11 @@ class Catalog extends \Magento\Core\Controller\Front\Action
     protected $_storeConfig;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Store\Config $storeConfig
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Store\Config $storeConfig
     ) {
         $this->_storeConfig = $storeConfig;
@@ -99,7 +99,7 @@ class Catalog extends \Magento\Core\Controller\Front\Action
     protected function _render()
     {
         $this->getResponse()->setHeader('Content-Type', 'text/xml; charset=UTF-8');
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Rss/Controller/Index.php b/app/code/Magento/Rss/Controller/Index.php
index a96c00e2590..815e5945ae2 100644
--- a/app/code/Magento/Rss/Controller/Index.php
+++ b/app/code/Magento/Rss/Controller/Index.php
@@ -26,7 +26,9 @@
 
 namespace Magento\Rss\Controller;
 
-class Index extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+
+class Index extends \Magento\App\Action\Action
 {
     /**
      * Current wishlist
@@ -48,11 +50,11 @@ class Index extends \Magento\Core\Controller\Front\Action
     protected $_storeConfig;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Store\Config $storeConfig
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Store\Config $storeConfig
     ) {
         $this->_storeConfig = $storeConfig;
@@ -61,14 +63,16 @@ class Index extends \Magento\Core\Controller\Front\Action
 
     /**
      * Index action
+     *
+     * @throws NotFoundException
      */
     public function indexAction()
     {
         if ($this->_storeConfig->getConfig('rss/config/active')) {
-            $this->loadLayout();
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->renderLayout();
         } else {
-            $this->norouteAction();
+            throw new NotFoundException();
         }
     }
 
@@ -99,8 +103,8 @@ class Index extends \Magento\Core\Controller\Front\Action
                     && $wishlist->getCustomerId() == $this->_getCustomer()->getId())
             ) {
                 $this->getResponse()->setHeader('Content-Type', 'text/xml; charset=UTF-8');
-                $this->loadLayout(false);
-                $this->renderLayout();
+                $this->_view->loadLayout(false);
+                $this->_view->renderLayout();
                 return;
             }
         }
diff --git a/app/code/Magento/Rss/Controller/Order.php b/app/code/Magento/Rss/Controller/Order.php
index d1095096092..13960009444 100644
--- a/app/code/Magento/Rss/Controller/Order.php
+++ b/app/code/Magento/Rss/Controller/Order.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Rss\Controller;
 
-class Order extends \Magento\Core\Controller\Front\Action
+class Order extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -39,11 +39,11 @@ class Order extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -61,8 +61,8 @@ class Order extends \Magento\Core\Controller\Front\Action
         if (!is_null($order)) {
             $this->_coreRegistry->register('current_order', $order);
             $this->getResponse()->setHeader('Content-type', 'text/xml; charset=UTF-8');
-            $this->loadLayout(false);
-            $this->renderLayout();
+            $this->_view->loadLayout(false);
+            $this->_view->renderLayout();
             return;
         }
 
diff --git a/app/code/Magento/Rss/Helper/Order.php b/app/code/Magento/Rss/Helper/Order.php
index 9026f39c890..e7dae5db186 100644
--- a/app/code/Magento/Rss/Helper/Order.php
+++ b/app/code/Magento/Rss/Helper/Order.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Rss\Helper;
 
-class Order extends \Magento\Core\Helper\AbstractHelper
+class Order extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Core\Model\Store\Config
@@ -44,12 +44,12 @@ class Order extends \Magento\Core\Helper\AbstractHelper
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\Sales\Model\OrderFactory $orderFactory
     ) {
diff --git a/app/code/Magento/Rss/Model/System/Config/Backend/Links.php b/app/code/Magento/Rss/Model/System/Config/Backend/Links.php
index e1ceb536717..56c899aed98 100644
--- a/app/code/Magento/Rss/Model/System/Config/Backend/Links.php
+++ b/app/code/Magento/Rss/Model/System/Config/Backend/Links.php
@@ -40,7 +40,7 @@ class Links extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\App\Cache\TypeListInterface $cacheTypeList
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -50,7 +50,7 @@ class Links extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\App\Cache\TypeListInterface $cacheTypeList,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
@@ -68,7 +68,7 @@ class Links extends \Magento\Core\Model\Config\Value
     protected function _afterSave()
     {
         if ($this->isValueChanged()) {
-            $this->_cacheTypeList->invalidate(\Magento\Core\Block\AbstractBlock::CACHE_GROUP);
+            $this->_cacheTypeList->invalidate(\Magento\View\Block\AbstractBlock::CACHE_GROUP);
         }
     }
 }
diff --git a/app/code/Magento/Rss/etc/adminhtml/di.xml b/app/code/Magento/Rss/etc/adminhtml/di.xml
new file mode 100644
index 00000000000..297c9015947
--- /dev/null
+++ b/app/code/Magento/Rss/etc/adminhtml/di.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)
+ */
+-->
+<config>
+    <type name="Magento\Rss\Controller\Adminhtml\Authenticate">
+        <plugin name="adminAuthentication" type="Magento\Rss\App\Action\Plugin\Authentication"/>
+    </type>
+</config>
diff --git a/app/code/Magento/Rule/Block/Editable.php b/app/code/Magento/Rule/Block/Editable.php
index 31a84265bdb..484b5128ece 100644
--- a/app/code/Magento/Rule/Block/Editable.php
+++ b/app/code/Magento/Rule/Block/Editable.php
@@ -27,7 +27,7 @@
 namespace Magento\Rule\Block;
 
 class Editable
-    extends \Magento\Core\Block\AbstractBlock
+    extends \Magento\View\Block\AbstractBlock
     implements \Magento\Data\Form\Element\Renderer\RendererInterface
 {
     /**
@@ -38,26 +38,16 @@ class Editable
     protected $_coreData;
 
     /**
-     * Filter manager
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Context $context
-     * @param \Magento\Filter\FilterManager $filter
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Context $context,
-        \Magento\Filter\FilterManager $filter,
         array $data = array()
     ) {
         $this->_coreData = $coreData;
-        $this->filter = $filter;
         parent::__construct($context, $data);
     }
 
@@ -89,7 +79,7 @@ class Editable
             if ($this->_translator->isAllowed()) {
                 $html .= $this->escapeHtml($valueName);
             } else {
-                $html .= $this->escapeHtml($this->filter->truncate($valueName, array('length' => 33, 'etc' => '...')));
+                $html .= $this->escapeHtml($this->filterManager->truncate($valueName, array('length' => 33, 'etc' => '...')));
             }
 
             $html .= '</a><span class="element"> ' . $element->getElementHtml();
diff --git a/app/code/Magento/Rule/Block/Newchild.php b/app/code/Magento/Rule/Block/Newchild.php
index eb99333e2b5..02ac9061005 100644
--- a/app/code/Magento/Rule/Block/Newchild.php
+++ b/app/code/Magento/Rule/Block/Newchild.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Rule\Block;
 
-class Newchild extends \Magento\Core\Block\AbstractBlock
+class Newchild extends \Magento\View\Block\AbstractBlock
     implements \Magento\Data\Form\Element\Renderer\RendererInterface
 {
     public function render(\Magento\Data\Form\Element\AbstractElement $element)
diff --git a/app/code/Magento/Rule/Block/Rule.php b/app/code/Magento/Rule/Block/Rule.php
index 7d563fcffb0..3659b7b8621 100644
--- a/app/code/Magento/Rule/Block/Rule.php
+++ b/app/code/Magento/Rule/Block/Rule.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Rule\Block;
 
-class Rule extends \Magento\Core\Block\AbstractBlock
+class Rule extends \Magento\View\Block\AbstractBlock
 {
 
 }
diff --git a/app/code/Magento/Rule/Helper/Data.php b/app/code/Magento/Rule/Helper/Data.php
index a658c50590f..377148a3ad5 100644
--- a/app/code/Magento/Rule/Helper/Data.php
+++ b/app/code/Magento/Rule/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Rule\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
index 7cae051afb9..f0afe1c4215 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/Grid.php
@@ -50,30 +50,28 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_agreementModel;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory
-     * @param \Magento\Sales\Model\Billing\Agreement $agreementModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory
+     * @param \Magento\Sales\Model\Billing\Agreement $agreementModel
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory,
-        \Magento\Sales\Model\Billing\Agreement $agreementModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory,
+        \Magento\Sales\Model\Billing\Agreement $agreementModel,
+        array $data = array()
+    ) {
         $this->_paymentData = $paymentData;
         $this->_agreementFactory = $agreementFactory;
         $this->_agreementModel = $agreementModel;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View.php b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View.php
index 29e0d142361..ab80e19e795 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View.php
@@ -40,20 +40,20 @@ class View extends \Magento\Backend\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Info.php b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Info.php
index 12d4b2466a3..c58dbc5fdfd 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Info.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Info.php
@@ -50,23 +50,23 @@ class Info extends \Magento\Backend\Block\Template
      */
     protected $_customerFactory;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Customer\Model\CustomerFactory $customerFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Customer\Model\CustomerFactory $customerFactory,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_customerFactory = $customerFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Orders.php b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Orders.php
index ae9b1b85bfd..a870799ddf6 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Orders.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Billing/Agreement/View/Tab/Orders.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Sales\Block\Adminhtml\Billing\Agreement\View\Tab;
 
-class Orders extends \Magento\Core\Block\Text\ListText
+class Orders extends \Magento\View\Block\Text\ListText
     implements \Magento\Backend\Block\Widget\Tab\TabInterface
 {
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Creditmemo/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Creditmemo/Grid.php
index bb414e6450b..0f490d411e8 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Creditmemo/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Creditmemo/Grid.php
@@ -43,27 +43,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_creditmemoFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory
-     * @param \Magento\Sales\Model\Resource\Order\Creditmemo\Grid\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory
+     * @param \Magento\Sales\Model\Resource\Order\Creditmemo\Grid\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory,
-        \Magento\Sales\Model\Resource\Order\Creditmemo\Grid\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory,
+        \Magento\Sales\Model\Resource\Order\Creditmemo\Grid\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_creditmemoFactory = $creditmemoFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Agreement.php b/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Agreement.php
index a91b35a808c..4315d23149e 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Agreement.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Agreement.php
@@ -49,39 +49,28 @@ class Agreement
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory
-     * @param \Magento\Sales\Model\Billing\Agreement $agreementModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory
+     * @param \Magento\Sales\Model\Billing\Agreement $agreementModel
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory,
-        \Magento\Sales\Model\Billing\Agreement $agreementModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementFactory,
+        \Magento\Sales\Model\Billing\Agreement $agreementModel,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct(
-            $coreData,
-            $paymentData,
-            $context,
-            $storeManager,
-            $urlModel,
-            $agreementFactory,
-            $agreementModel,
-            $data
-        );
+        parent::__construct($context, $coreData, $urlModel, $paymentData, $agreementFactory, $agreementModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Recurring/Profile.php b/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Recurring/Profile.php
index 82100228ec1..0b32b738475 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Recurring/Profile.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Customer/Edit/Tab/Recurring/Profile.php
@@ -42,39 +42,28 @@ class Profile
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection
-     * @param \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection
+     * @param \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection,
-        \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection,
+        \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct(
-            $coreData,
-            $paymentData,
-            $context,
-            $storeManager,
-            $urlModel,
-            $profileCollection,
-            $recurringProfile,
-            $data
-        );
+        parent::__construct($context, $coreData, $urlModel, $paymentData, $profileCollection, $recurringProfile, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Invoice/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Invoice/Grid.php
index 7e2e8e98456..171a82cf579 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Invoice/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Invoice/Grid.php
@@ -43,27 +43,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_invoiceFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Order\InvoiceFactory $invoiceFactory
-     * @param \Magento\Sales\Model\Resource\Order\Invoice\Grid\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Order\InvoiceFactory $invoiceFactory
+     * @param \Magento\Sales\Model\Resource\Order\Invoice\Grid\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\InvoiceFactory $invoiceFactory,
-        \Magento\Sales\Model\Resource\Order\Invoice\Grid\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Order\InvoiceFactory $invoiceFactory,
+        \Magento\Sales\Model\Resource\Order\Invoice\Grid\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_invoiceFactory = $invoiceFactory;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php b/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php
index 0f72f8e7233..6fa5f43c289 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Items/AbstractItems.php
@@ -65,23 +65,23 @@ class AbstractItems extends \Magento\Backend\Block\Template
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
+     */
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -106,7 +106,7 @@ class AbstractItems extends \Magento\Backend\Block\Template
      * Retrieve item renderer block
      *
      * @param string $type
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      * @throws \RuntimeException
      */
     public function getItemRenderer($type)
@@ -126,7 +126,7 @@ class AbstractItems extends \Magento\Backend\Block\Template
      *
      * @param string $column
      * @param string $compositePart
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getColumnRenderer($column, $compositePart = '')
     {
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Items/Column/DefaultColumn.php b/app/code/Magento/Sales/Block/Adminhtml/Items/Column/DefaultColumn.php
index 1423103c048..aad4ddb678c 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Items/Column/DefaultColumn.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Items/Column/DefaultColumn.php
@@ -41,20 +41,20 @@ class DefaultColumn extends \Magento\Adminhtml\Block\Template
      */
     protected $_optionFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\Product\OptionFactory $optionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\OptionFactory $optionFactory,
+        array $data = array()
+    ) {
         $this->_optionFactory = $optionFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Items/Column/Name.php b/app/code/Magento/Sales/Block/Adminhtml/Items/Column/Name.php
index 1a0c85d96bd..3a08b06e261 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Items/Column/Name.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Items/Column/Name.php
@@ -31,31 +31,6 @@ namespace Magento\Sales\Block\Adminhtml\Items\Column;
  */
 class Name extends \Magento\Sales\Block\Adminhtml\Items\Column\DefaultColumn
 {
-    /**
-     * Core string
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
-    /**
-     * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Filter\FilterManager $filter
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Catalog\Model\Product\OptionFactory $optionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Filter\FilterManager $filter,
-        array $data = array()
-    ) {
-        $this->filter = $filter;
-        parent::__construct($optionFactory, $coreData, $context, $data);
-    }
-
     /**
      * Truncate string
      *
@@ -68,7 +43,7 @@ class Name extends \Magento\Sales\Block\Adminhtml\Items\Column\DefaultColumn
      */
     public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
     {
-        return $this->filter->truncate($value, array(
+        return $this->filterManager->truncate($value, array(
             'length' => $length,
             'etc' => $etc,
             'remainder' => $remainder,
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php b/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php
index 7d309cc6872..62f1a861e18 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/AbstractOrder.php
@@ -42,20 +42,20 @@ class AbstractOrder extends \Magento\Adminhtml\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Address.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Address.php
index 1b118ed2b7e..2f67b1db59b 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Address.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Address.php
@@ -38,20 +38,20 @@ class Address extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Address/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Address/Form.php
index fc9c5150196..6f48f0ad4bd 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Address/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Address/Form.php
@@ -45,36 +45,41 @@ class Form
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Customer\Model\AddressFactory $addressFactory
-     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
-     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Customer\Model\AddressFactory $addressFactory
+     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
+     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Customer\Model\FormFactory $customerFormFactory,
-        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Customer\Model\AddressFactory $addressFactory,
+        \Magento\Customer\Model\FormFactory $customerFormFactory,
+        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct(
-            $addressFactory, $customerFormFactory, $adminhtmlAddresses, $formFactory,
-            $sessionQuote, $orderCreate, $coreData, $context, $data
+        parent::__construct(
+            $context,
+            $coreData,
+            $sessionQuote,
+            $orderCreate,
+            $formFactory,
+            $addressFactory,
+            $customerFormFactory,
+            $adminhtmlAddresses,
+            $data
         );
     }
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Comments/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Comments/View.php
index 7fb87d63161..210171e8a88 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Comments/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Comments/View.php
@@ -42,20 +42,20 @@ class View extends \Magento\Adminhtml\Block\Template
      */
     protected $_salesData = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Sales\Helper\Data $salesData,
+        array $data = array()
+    ) {
         $this->_salesData = $salesData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create.php
index 0ab92824892..d47f24cee54 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create.php
@@ -41,20 +41,20 @@ class Create extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_sessionQuote;
 
-    /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        array $data = array()
+    ) {
         $this->_sessionQuote = $sessionQuote;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/AbstractCreate.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/AbstractCreate.php
index 136078057a0..2204c7df282 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/AbstractCreate.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/AbstractCreate.php
@@ -45,16 +45,16 @@ abstract class AbstractCreate extends \Magento\Backend\Block\Widget
      */
     protected $_orderCreate;
 
-    public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        array $data = array()
+    ) {
         $this->_sessionQuote = $sessionQuote;
         $this->_orderCreate = $orderCreate;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Billing/Method/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Billing/Method/Form.php
index 4fea531412e..4ab31bd7cef 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Billing/Method/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Billing/Method/Form.php
@@ -41,19 +41,19 @@ class Form extends \Magento\Payment\Block\Form\Container
     protected $_sessionQuote;
 
     /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
      * @param array $data
      */
     public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
         array $data = array()
     ) {
         $this->_sessionQuote = $sessionQuote;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Data.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Data.php
index bc6ad105fb7..4a781628b99 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Data.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Data.php
@@ -40,24 +40,24 @@ class Data extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate
      */
     protected $_currencyFactory;
 
-    /**
-     * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Directory\Model\CurrencyFactory $currencyFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Directory\Model\CurrencyFactory $currencyFactory,
+        array $data = array()
+    ) {
         $this->_currencyFactory = $currencyFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form.php
index 70ab2f74d0d..85e0b429c21 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form.php
@@ -41,24 +41,24 @@ class Form extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate
      */
     protected $_customerFormFactory;
 
-    /**
-     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\FormFactory $customerFormFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Customer\Model\FormFactory $customerFormFactory,
+        array $data = array()
+    ) {
         $this->_customerFormFactory = $customerFormFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractForm.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractForm.php
index 826fe3f5870..8a85c7f3b21 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractForm.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractForm.php
@@ -49,24 +49,24 @@ abstract class AbstractForm
      */
     protected $_form;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Data\FormFactory $formFactory,
+        array $data = array()
+    ) {
         $this->_formFactory = $formFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Account.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Account.php
index 7d1f082a730..f66e3168ee5 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Account.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Account.php
@@ -43,29 +43,29 @@ class Account extends \Magento\Sales\Block\Adminhtml\Order\Create\Form\AbstractF
      */
     protected $_customerFormFactory;
 
-    /**
-     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
+     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Customer\Model\FormFactory $customerFormFactory,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Customer\Model\CustomerFactory $customerFactory,
+        \Magento\Customer\Model\FormFactory $customerFormFactory,
+        array $data = array()
+    ) {
         $this->_customerFactory = $customerFactory;
         $this->_customerFormFactory = $customerFormFactory;
-        parent::__construct($formFactory, $sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Address.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Address.php
index d266e918204..d4c7fcf7fd4 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Address.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Form/Address.php
@@ -60,32 +60,32 @@ class Address
      */
     protected $_customerFormFactory;
 
-    /**
-     * @param \Magento\Customer\Model\AddressFactory $addressFactory
-     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
-     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Customer\Model\AddressFactory $addressFactory
+     * @param \Magento\Customer\Model\FormFactory $customerFormFactory
+     * @param \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Customer\Model\AddressFactory $addressFactory,
-        \Magento\Customer\Model\FormFactory $customerFormFactory,
-        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Customer\Model\AddressFactory $addressFactory,
+        \Magento\Customer\Model\FormFactory $customerFormFactory,
+        \Magento\Adminhtml\Helper\Addresses $adminhtmlAddresses,
+        array $data = array()
+    ) {
         $this->_addressFactory = $addressFactory;
         $this->_customerFormFactory = $customerFormFactory;
         $this->_adminhtmlAddresses = $adminhtmlAddresses;
-        parent::__construct($formFactory, $sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage.php
index d6449a662ea..56d2bf809de 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage.php
@@ -41,24 +41,24 @@ class Giftmessage extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCr
      */
     protected $_giftMessageSave;
 
-    /**
-     * @param \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave,
+        array $data = array()
+    ) {
         $this->_giftMessageSave = $giftMessageSave;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage/Form.php
index 0ce354e5cfa..28abeafbe58 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Giftmessage/Form.php
@@ -58,24 +58,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_sessionQuote;
 
-    /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        array $data = array()
+    ) {
         $this->_sessionQuote = $sessionQuote;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php
index ffcc0bb9a87..12718d2f4c9 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Items/Grid.php
@@ -64,33 +64,33 @@ class Grid extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Wishlist\Model\WishlistFactory $wishlistFactory
-     * @param \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Wishlist\Model\WishlistFactory $wishlistFactory
+     * @param \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param \Magento\Tax\Helper\Data $taxData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Wishlist\Model\WishlistFactory $wishlistFactory,
-        \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave,
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Tax\Helper\Data $taxData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Wishlist\Model\WishlistFactory $wishlistFactory,
+        \Magento\Adminhtml\Model\Giftmessage\Save $giftMessageSave,
+        \Magento\Tax\Model\Config $taxConfig,
+        \Magento\Tax\Helper\Data $taxData,
+        array $data = array()
+    ) {
         $this->_wishlistFactory = $wishlistFactory;
         $this->_giftMessageSave = $giftMessageSave;
         $this->_taxConfig = $taxConfig;
         $this->_taxData = $taxData;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     protected function _construct()
@@ -427,7 +427,7 @@ class Grid extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate
      * Get order item extra info block
      *
      * @param \Magento\Sales\Model\Quote\Item $item
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getItemExtraInfo($item)
     {
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Load.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Load.php
index ea339ba48e7..ee4283a7040 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Load.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Load.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sales\Block\Adminhtml\Order\Create;
 
-class Load extends \Magento\Core\Block\Template
+class Load extends \Magento\View\Block\Template
 {
     /**
      * Adminhtml js
@@ -44,19 +44,19 @@ class Load extends \Magento\Core\Block\Template
     protected $_adminhtmlJs = null;
 
     /**
-     * @param \Magento\Adminhtml\Helper\Js $adminhtmlJs
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Adminhtml\Helper\Js $adminhtmlJs
      * @param array $data
      */
     public function __construct(
-        \Magento\Adminhtml\Helper\Js $adminhtmlJs,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Adminhtml\Helper\Js $adminhtmlJs,
         array $data = array()
     ) {
         $this->_adminhtmlJs = $adminhtmlJs;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _toHtml()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Messages.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Messages.php
index 357ffd8e4db..f786140b08a 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Messages.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Messages.php
@@ -38,34 +38,34 @@ class Messages extends \Magento\Adminhtml\Block\Messages
     /**
      * @var \Magento\Adminhtml\Model\Session\Quote
      */
-    protected $_sessionQuote;
+    protected $sessionQuote;
 
     /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Message $message
-     * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
+     * @param \Magento\Message\Factory $messageFactory
+     * @param \Magento\Message\CollectionFactory $collectionFactory
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
      * @param array $data
      */
     public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Message $message,
-        \Magento\Core\Model\Message\CollectionFactory $messageFactory,
+        \Magento\Message\Factory $messageFactory,
+        \Magento\Message\CollectionFactory $collectionFactory,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
         array $data = array()
     ) {
-        $this->_sessionQuote = $sessionQuote;
-        parent::__construct($coreData, $context, $message, $messageFactory, $data);
+        $this->sessionQuote = $sessionQuote;
+        parent::__construct($context, $coreData, $messageFactory, $collectionFactory, $data);
     }
 
     /**
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     protected function _prepareLayout()
     {
-        $this->addMessages($this->_sessionQuote->getMessages(true));
+        $this->addMessages($this->sessionQuote->getMessages(true));
         parent::_prepareLayout();
     }
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Search/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Search/Grid.php
index 0338775e1ae..b3b133a34b8 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Search/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Search/Grid.php
@@ -55,33 +55,31 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_productFactory;
 
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Catalog\Model\Config $catalogConfig
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Catalog\Model\Config $catalogConfig,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\Config $salesConfig,
+        array $data = array()
+    ) {
         $this->_productFactory = $productFactory;
         $this->_catalogConfig = $catalogConfig;
         $this->_sessionQuote = $sessionQuote;
         $this->_salesConfig = $salesConfig;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Shipping/Method/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Shipping/Method/Form.php
index 4df2017d3b5..97c9dbb6a7a 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Shipping/Method/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Shipping/Method/Form.php
@@ -45,24 +45,24 @@ class Form
      */
     protected $_taxData = null;
 
-    /**
-     * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Tax\Helper\Data $taxData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Helper\Data $taxData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Tax\Helper\Data $taxData,
+        array $data = array()
+    ) {
         $this->_taxData = $taxData;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/AbstractSidebar.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/AbstractSidebar.php
index 39e93009ad1..6a629fa498b 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/AbstractSidebar.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/AbstractSidebar.php
@@ -47,23 +47,23 @@ class AbstractSidebar extends \Magento\Sales\Block\Adminhtml\Order\Create\Abstra
      */
     protected $_salesConfig;
 
-    /**
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Model\Config $salesConfig,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
         $this->_salesConfig = $salesConfig;
     }
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pcompared.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pcompared.php
index 7b96ff1e80b..f7bddf65e4a 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pcompared.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pcompared.php
@@ -46,29 +46,29 @@ class Pcompared extends \Magento\Sales\Block\Adminhtml\Order\Create\Sidebar\Abst
      */
     protected $_event;
 
-    /**
-     * @param \Magento\Reports\Model\Resource\Event $event
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Reports\Model\Resource\Event $event
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\Resource\Event $event,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Reports\Model\Resource\Event $event,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_event = $event;
         $this->_productFactory = $productFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesConfig, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pviewed.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pviewed.php
index 8f00cc5af3d..415a389c163 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pviewed.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Pviewed.php
@@ -46,29 +46,29 @@ class Pviewed extends \Magento\Sales\Block\Adminhtml\Order\Create\Sidebar\Abstra
      */
     protected $_eventFactory;
 
-    /**
-     * @param \Magento\Reports\Model\EventFactory $eventFactory
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Reports\Model\EventFactory $eventFactory
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Reports\Model\EventFactory $eventFactory,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Reports\Model\EventFactory $eventFactory,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        array $data = array()
+    ) {
         $this->_eventFactory = $eventFactory;
         $this->_productFactory = $productFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesConfig, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Reorder.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Reorder.php
index e60e675b2c0..5e56fe587e7 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Reorder.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Sidebar/Reorder.php
@@ -47,26 +47,26 @@ class Reorder extends \Magento\Sales\Block\Adminhtml\Order\Create\Sidebar\Abstra
      */
     protected $_ordersFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $ordersFactory
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $ordersFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\CollectionFactory $ordersFactory,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Sales\Model\Resource\Order\CollectionFactory $ordersFactory,
+        array $data = array()
+    ) {
         $this->_ordersFactory = $ordersFactory;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesConfig, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals.php
index 9b3b72e27fc..57b0210dfed 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals.php
@@ -51,27 +51,27 @@ class Totals extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate
      */
     protected $_salesConfig;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Sales\Model\Config $salesConfig,
+        array $data = array()
+    ) {
         $this->_salesData = $salesData;
         $this->_salesConfig = $salesConfig;
-        parent::__construct($sessionQuote, $orderCreate, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Discount.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Discount.php
index e90e8ce8d10..953121a3939 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Discount.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Discount.php
@@ -41,28 +41,28 @@ class Discount extends \Magento\Sales\Block\Adminhtml\Order\Create\Totals\Defaul
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Tax\Model\Config $taxConfig,
+        array $data = array()
+    ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($salesData, $sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesData, $salesConfig, $data);
     }
 
     public function displayBoth()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Grandtotal.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Grandtotal.php
index af595e7afb4..cc78c772a15 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Grandtotal.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Grandtotal.php
@@ -41,28 +41,28 @@ class Grandtotal extends \Magento\Sales\Block\Adminhtml\Order\Create\Totals\Defa
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Tax\Model\Config $taxConfig,
+        array $data = array()
+    ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($salesData, $sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesData, $salesConfig, $data);
     }
 
     public function includeTax()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Shipping.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Shipping.php
index 07e051782bf..e880922bdc8 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Shipping.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Shipping.php
@@ -42,28 +42,28 @@ class Shipping
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Tax\Model\Config $taxConfig,
+        array $data = array()
+    ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($salesData, $sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesData, $salesConfig, $data);
     }
 
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Subtotal.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Subtotal.php
index fa1aca5861e..adc4130d3b2 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Subtotal.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Create/Totals/Subtotal.php
@@ -41,28 +41,28 @@ class Subtotal extends \Magento\Sales\Block\Adminhtml\Order\Create\Totals\Defaul
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
-     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Adminhtml\Model\Session\Quote $sessionQuote
+     * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
-        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Adminhtml\Model\Session\Quote $sessionQuote,
+        \Magento\Sales\Model\AdminOrder\Create $orderCreate,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Tax\Model\Config $taxConfig,
+        array $data = array()
+    ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($salesData, $sessionQuote, $orderCreate, $coreData, $context, $salesConfig, $data);
+        parent::__construct($context, $coreData, $sessionQuote, $orderCreate, $salesData, $salesConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create.php
index 9ac7b065b7b..f78b111896f 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create.php
@@ -39,20 +39,20 @@ class Create extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Adjustments.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Adjustments.php
index 09276f0da24..f215f7e58e8 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Adjustments.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Adjustments.php
@@ -34,20 +34,20 @@ class Adjustments extends \Magento\Adminhtml\Block\Template
      */
     protected $_taxConfig;
 
-    /**
-     * @param \Magento\Tax\Model\Config $taxConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Tax\Model\Config $taxConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Config $taxConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Tax\Model\Config $taxConfig,
+        array $data = array()
+    ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Items.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Items.php
index dc102d6a13a..4f400bb644a 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Items.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/Create/Items.php
@@ -40,24 +40,24 @@ class Items extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems
      */
     protected $_salesData = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Sales\Helper\Data $salesData,
+        array $data = array()
+    ) {
         $this->_salesData = $salesData;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $productFactory, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php
index 95f53817a50..ec495a54640 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View.php
@@ -42,20 +42,20 @@ class View extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View/Comments.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View/Comments.php
index 44f4e418c60..5f16abe9e7d 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View/Comments.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Creditmemo/View/Comments.php
@@ -44,12 +44,12 @@ class Comments extends \Magento\Adminhtml\Block\Text\ListText
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create.php
index 5e18b9a4206..ec74e3fe195 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create.php
@@ -39,20 +39,20 @@ class Create extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Items.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Items.php
index 26a8ed45659..cd199ec4302 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Items.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Items.php
@@ -40,24 +40,24 @@ class Items extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems
      */
     protected $_salesData = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Sales\Helper\Data $salesData,
+        array $data = array()
+    ) {
         $this->_salesData = $salesData;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $productFactory, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Tracking.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Tracking.php
index 989f685f535..bcda1bf125c 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Tracking.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/Create/Tracking.php
@@ -47,23 +47,23 @@ class Tracking extends \Magento\Adminhtml\Block\Template
      */
     protected $_shippingConfig;
 
-    /**
-     * @param \Magento\Shipping\Model\Config $shippingConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Shipping\Model\Config $shippingConfig
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Shipping\Model\Config $shippingConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Shipping\Model\Config $shippingConfig,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_shippingConfig = $shippingConfig;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php
index 2b0fbbcbac0..5e957e1fab7 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View.php
@@ -54,23 +54,23 @@ class View extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_backendSession;
 
-    /**
-     * @param \Magento\Backend\Model\Auth\Session $backendSession
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $backendSession
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Auth\Session $backendSession,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $backendSession,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_backendSession = $backendSession;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View/Comments.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View/Comments.php
index d022228a754..a0025c9c795 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View/Comments.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Invoice/View/Comments.php
@@ -44,12 +44,12 @@ class Comments extends \Magento\Adminhtml\Block\Text\ListText
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Payment.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Payment.php
index 06472bbf98b..6a60a90b201 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Payment.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Payment.php
@@ -42,20 +42,20 @@ class Payment extends \Magento\Adminhtml\Block\Template
      */
     protected $_paymentData = null;
 
-    /**
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Payment\Helper\Data $paymentData,
+        array $data = array()
+    ) {
         $this->_paymentData = $paymentData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create.php
index 6a5ee296de0..c127560b1c9 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create.php
@@ -39,20 +39,20 @@ class Create extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Items.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Items.php
index cb507b61100..9008b47e820 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Items.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Items.php
@@ -38,24 +38,24 @@ class Items extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems
      */
     protected $_salesData = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\ProductFactory $productFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\ProductFactory $productFactory,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Sales\Helper\Data $salesData,
+        array $data = array()
+    ) {
         $this->_salesData = $salesData;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $productFactory, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Tracking.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Tracking.php
index 2680a4bee33..c478ab9c041 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Tracking.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Create/Tracking.php
@@ -47,23 +47,23 @@ class Tracking extends \Magento\Adminhtml\Block\Template
      */
     protected $_shippingConfig;
 
-    /**
-     * @param \Magento\Shipping\Model\Config $shippingConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Shipping\Model\Config $shippingConfig
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Shipping\Model\Config $shippingConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Shipping\Model\Config $shippingConfig,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_shippingConfig = $shippingConfig;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging.php
index 7df64ccb179..25d76a88a0b 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging.php
@@ -44,23 +44,23 @@ class Packaging extends \Magento\Adminhtml\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Usa\Model\Shipping\Carrier\Usps\Source\Size $sourceSizeModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Usa\Model\Shipping\Carrier\Usps\Source\Size $sourceSizeModel
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Usa\Model\Shipping\Carrier\Usps\Source\Size $sourceSizeModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Usa\Model\Shipping\Carrier\Usps\Source\Size $sourceSizeModel,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_sourceSizeModel = $sourceSizeModel;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging/Grid.php
index a82f082f5b3..de32d82c1b3 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/Packaging/Grid.php
@@ -50,23 +50,23 @@ class Grid extends \Magento\Adminhtml\Block\Template
      */
     protected $_shipmentItemFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Sales\Model\Order\Shipment\ItemFactory $shipmentItemFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_shipmentItemFactory = $shipmentItemFactory;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View.php
index 05a1e5611d1..4d5c1e9b073 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View.php
@@ -42,20 +42,20 @@ class View extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Comments.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Comments.php
index d17c363c221..14e62ab052d 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Comments.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Comments.php
@@ -44,12 +44,12 @@ class Comments extends \Magento\Adminhtml\Block\Text\ListText
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Tracking.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Tracking.php
index 5586fa558c8..4ec01e14e36 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Tracking.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Shipment/View/Tracking.php
@@ -47,23 +47,23 @@ class Tracking extends \Magento\Adminhtml\Block\Template
      */
     protected $_shippingConfig;
 
-    /**
-     * @param \Magento\Shipping\Model\Config $shippingConfig
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Shipping\Model\Config $shippingConfig
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Shipping\Model\Config $shippingConfig,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Shipping\Model\Config $shippingConfig,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_shippingConfig = $shippingConfig;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php
index 6f2cf6d6789..443d4cb6f28 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Status/Assign/Form.php
@@ -41,27 +41,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_orderConfig;
 
-    /**
-     * @param \Magento\Sales\Model\Order\Config $orderConfig
-     * @param \Magento\Sales\Model\Resource\Order\Status\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Sales\Model\Order\Config $orderConfig
+     * @param \Magento\Sales\Model\Resource\Order\Status\CollectionFactory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\Config $orderConfig,
-        \Magento\Sales\Model\Resource\Order\Status\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Sales\Model\Order\Config $orderConfig,
+        \Magento\Sales\Model\Resource\Order\Status\CollectionFactory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_orderConfig = $orderConfig;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/Totals/Tax.php b/app/code/Magento/Sales/Block/Adminhtml/Order/Totals/Tax.php
index 94fa4523465..3ca69a76d81 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/Totals/Tax.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/Totals/Tax.php
@@ -51,13 +51,8 @@ class Tax extends \Magento\Tax\Block\Sales\Order\Tax
     protected $_taxOrderFactory;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param \Magento\Tax\Helper\Data $taxHelper
      * @param \Magento\Tax\Model\Calculation $taxCalculation
@@ -65,8 +60,8 @@ class Tax extends \Magento\Tax\Block\Sales\Order\Tax
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Tax\Model\Config $taxConfig,
         \Magento\Tax\Helper\Data $taxHelper,
         \Magento\Tax\Model\Calculation $taxCalculation,
@@ -76,8 +71,7 @@ class Tax extends \Magento\Tax\Block\Sales\Order\Tax
         $this->_taxHelper = $taxHelper;
         $this->_taxCalculation = $taxCalculation;
         $this->_taxOrderFactory = $taxOrderFactory;
-        $this->_storeManager = $context->getStoreManager();
-        parent::__construct($coreData, $context, $taxConfig, $data);
+        parent::__construct($context, $coreData, $taxConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View.php
index 3affddbf457..fca1ea07cd7 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View.php
@@ -52,23 +52,23 @@ class View extends \Magento\Backend\Block\Widget\Form\Container
      */
     protected $_salesConfig;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Sales\Model\Config $salesConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Sales\Model\Config $salesConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Sales\Model\Config $salesConfig,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_salesConfig = $salesConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Giftmessage.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Giftmessage.php
index 433065c6f69..48c77b0b1be 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Giftmessage.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Giftmessage.php
@@ -54,23 +54,23 @@ class Giftmessage extends \Magento\Adminhtml\Block\Widget
      */
     protected $_messageFactory;
 
-    /**
-     * @param \Magento\GiftMessage\Model\MessageFactory $messageFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\GiftMessage\Model\MessageFactory $messageFactory
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\GiftMessage\Model\MessageFactory $messageFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\GiftMessage\Model\MessageFactory $messageFactory,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_messageFactory = $messageFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/History.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/History.php
index 0dee2b79693..95503cd4d96 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/History.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/History.php
@@ -49,23 +49,23 @@ class History extends \Magento\Adminhtml\Block\Template
      */
     protected $_salesData = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Data $salesData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Sales\Helper\Data $salesData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Data $salesData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Sales\Helper\Data $salesData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
         $this->_salesData = $salesData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php
index 38a023d3cc9..b370c769e57 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Info.php
@@ -55,34 +55,31 @@ class Info extends \Magento\Sales\Block\Adminhtml\Order\AbstractOrder
      */
     protected $_eavConfig;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Customer\Model\GroupFactory $groupFactory
-     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Customer\Model\GroupFactory $groupFactory
+     * @param \Magento\Customer\Model\CustomerFactory $customerFactory
+     * @param \Magento\Eav\Model\Config $eavConfig
+     * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Customer\Model\GroupFactory $groupFactory,
-        \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Customer\Model\GroupFactory $groupFactory,
+        \Magento\Customer\Model\CustomerFactory $customerFactory,
+        \Magento\Eav\Model\Config $eavConfig,
+        \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
+        array $data = array()
+    ) {
         $this->_customerFactory = $customerFactory;
         $this->_groupFactory = $groupFactory;
         $this->_eavConfig = $eavConfig;
-        $this->_storeManager = $storeManager;
         $this->_attrDataFactory = $attrDataFactory;
-        parent::__construct($coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Messages.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Messages.php
index 1b16d9cdfd3..4eb45ad5412 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Messages.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Messages.php
@@ -40,31 +40,31 @@ class Messages extends \Magento\Adminhtml\Block\Messages
      *
      * @var \Magento\Core\Model\Registry
      */
-    protected $_coreRegistry = null;
+    protected $coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Message\Factory $messageFactory
+     * @param \Magento\Message\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Message $message
-     * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Message\Factory $messageFactory,
+        \Magento\Message\CollectionFactory $collectionFactory,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Message $message,
-        \Magento\Core\Model\Message\CollectionFactory $messageFactory,
         array $data = array()
     ) {
-        $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $message, $messageFactory, $data);
+        $this->coreRegistry = $registry;
+        parent::__construct($context, $coreData, $messageFactory, $collectionFactory, $data);
     }
 
     protected function _getOrder()
     {
-        return $this->_coreRegistry->registry('sales_order');
+        return $this->coreRegistry->registry('sales_order');
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Creditmemos.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Creditmemos.php
index 133318058db..12aad575db3 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Creditmemos.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Creditmemos.php
@@ -54,30 +54,28 @@ class Creditmemos
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
-     * @param \Magento\Sales\Model\Order\Creditmemo $orderCreditmemo
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
+     * @param \Magento\Sales\Model\Order\Creditmemo $orderCreditmemo
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
-        \Magento\Sales\Model\Order\Creditmemo $orderCreditmemo,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
+        \Magento\Sales\Model\Order\Creditmemo $orderCreditmemo,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_orderCreditmemo = $orderCreditmemo;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/History.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/History.php
index 59ca335157a..5f722420d5d 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/History.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/History.php
@@ -47,20 +47,20 @@ class History
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Invoices.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Invoices.php
index 5cd897248ad..ddf5be61a87 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Invoices.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Invoices.php
@@ -54,30 +54,28 @@ class Invoices
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
-     * @param \Magento\Sales\Model\Order\Invoice $orderInvoice
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
+     * @param \Magento\Sales\Model\Order\Invoice $orderInvoice
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
-        \Magento\Sales\Model\Order\Invoice $orderInvoice,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
+        \Magento\Sales\Model\Order\Invoice $orderInvoice,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_orderInvoice = $orderInvoice;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Shipments.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Shipments.php
index 89768475eb2..c8f4f3123eb 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Shipments.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tab/Shipments.php
@@ -45,27 +45,25 @@ class Shipments
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php
index 3632f9c70a9..bebf0f768b2 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Order/View/Tabs.php
@@ -38,22 +38,22 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Edit/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Edit/Form.php
index e5aee0c6bd6..375c72e90ad 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Edit/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Edit/Form.php
@@ -68,18 +68,18 @@ class Form extends \Magento\Backend\Block\AbstractBlock
      */
     protected $_recurringProfile;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Sales\Model\Recurring\Profile $recurringProfile
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Sales\Model\Recurring\Profile $recurringProfile
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Backend\Block\Context $context,
-        \Magento\Sales\Model\Recurring\Profile $recurringProfile,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Sales\Model\Recurring\Profile $recurringProfile,
+        array $data = array()
+    ) {
         $this->_formFactory = $formFactory;
         $this->_profile = $recurringProfile;
         parent::__construct($context, $data);
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Grid.php
index cc30f4d76f8..a3a0557d99d 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/Grid.php
@@ -51,30 +51,28 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_recurringProfile;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection
-     * @param \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection
+     * @param \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection,
-        \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\Sales\Model\Resource\Recurring\Profile\CollectionFactory $profileCollection,
+        \Magento\Sales\Model\Recurring\ProfileFactory $recurringProfile,
+        array $data = array()
+    ) {
         $this->_paymentData = $paymentData;
         $this->_profileCollection = $profileCollection;
         $this->_recurringProfile = $recurringProfile;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View.php
index ff704fd7b9c..cc36ce42c02 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View.php
@@ -38,20 +38,20 @@ class View extends \Magento\Backend\Block\Widget\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Getawayinfo.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Getawayinfo.php
index c7ab5e8ca06..8d00e2f8cde 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Getawayinfo.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Getawayinfo.php
@@ -42,20 +42,20 @@ class Getawayinfo extends \Magento\Adminhtml\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Info.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Info.php
index ba86127cf36..8f366c50f3b 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Info.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Info.php
@@ -42,20 +42,20 @@ class Info extends \Magento\Adminhtml\Block\Widget
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Items.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Items.php
index 334964897e0..cca8fcc7b3c 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Items.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Items.php
@@ -35,31 +35,6 @@ namespace Magento\Sales\Block\Adminhtml\Recurring\Profile\View;
 
 class Items extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems
 {
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
-    /**
-     * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        array $data = array()
-    ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($productFactory, $coreData, $context, $registry, $data);
-    }
-
     /**
      * Retrieve required options from parent
      */
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Tab/Orders.php b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Tab/Orders.php
index cc245cb5964..d349e7225bc 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Tab/Orders.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Recurring/Profile/View/Tab/Orders.php
@@ -50,30 +50,28 @@ class Orders
      */
     protected $_orderConfig;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $orderCollection
-     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $orderCollection
+     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $orderCollection,
-        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Sales\Model\Resource\Order\Grid\CollectionFactory $orderCollection,
+        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_orderCollection = $orderCollection;
         $this->_orderConfig = $orderConfig;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php b/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
index 483198292ee..119909cd972 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Reorder/Renderer/Action.php
@@ -51,16 +51,16 @@ class Action
      */
     protected $_salesReorder = null;
 
-    /**
-     * @param \Magento\Sales\Helper\Reorder $salesReorder
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Sales\Helper\Reorder $salesReorder
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Helper\Reorder $salesReorder,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Sales\Helper\Reorder $salesReorder,
+        array $data = array()
+    ) {
         $this->_salesReorder = $salesReorder;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form.php b/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form.php
index e74f37b9cc7..67549195b53 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form.php
@@ -40,24 +40,24 @@ class Form extends \Magento\Adminhtml\Block\Report\Filter\Form
      */
     protected $_orderConfig;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
+        array $data = array()
+    ) {
         $this->_orderConfig = $orderConfig;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form/Coupon.php b/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form/Coupon.php
index d9cffa1ab27..43ba18ee490 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form/Coupon.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Report/Filter/Form/Coupon.php
@@ -47,26 +47,26 @@ class Coupon extends \Magento\Sales\Block\Adminhtml\Report\Filter\Form
      */
     protected $_reportRule;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
-     * @param \Magento\SalesRule\Model\Resource\Report\RuleFactory $reportRule
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Sales\Model\Order\ConfigFactory $orderConfig
+     * @param \Magento\SalesRule\Model\Resource\Report\RuleFactory $reportRule
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
-        \Magento\SalesRule\Model\Resource\Report\RuleFactory $reportRule,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Sales\Model\Order\ConfigFactory $orderConfig,
+        \Magento\SalesRule\Model\Resource\Report\RuleFactory $reportRule,
+        array $data = array()
+    ) {
         $this->_reportRule = $reportRule;
-        parent::__construct($registry, $formFactory, $coreData, $context, $orderConfig, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $orderConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Shipment/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Shipment/Grid.php
index 064767b07e0..40897ae3b12 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Shipment/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Shipment/Grid.php
@@ -38,24 +38,22 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Resource\Order\Collection\Factory $collectionFactory,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
 
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail.php b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail.php
index dc8a1978453..d427dc9a4f4 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail.php
@@ -49,20 +49,20 @@ class Detail extends \Magento\Adminhtml\Block\Widget\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail/Grid.php
index 272cfe78ec3..09237015c7a 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Detail/Grid.php
@@ -47,27 +47,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Data\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Data\CollectionFactory $collectionFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\CollectionFactory $collectionFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Data\CollectionFactory $collectionFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_collectionFactory = $collectionFactory;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Grid.php b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Grid.php
index 26b7428a01f..d2c6a46bfb0 100644
--- a/app/code/Magento/Sales/Block/Adminhtml/Transactions/Grid.php
+++ b/app/code/Magento/Sales/Block/Adminhtml/Transactions/Grid.php
@@ -59,33 +59,31 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_collectionFactory;
 
-    /**
-     * @param \Magento\Sales\Model\Order\Payment\Transaction $transaction
-     * @param \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $collectionFactory
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Sales\Model\Order\Payment\Transaction $transaction
+     * @param \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $collectionFactory
+     * @param \Magento\Payment\Helper\Data $paymentData
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Sales\Model\Order\Payment\Transaction $transaction,
-        \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $collectionFactory,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Sales\Model\Order\Payment\Transaction $transaction,
+        \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory $collectionFactory,
+        \Magento\Payment\Helper\Data $paymentData,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_paymentData = $paymentData;
         $this->_transaction = $transaction;
         $this->_collectionFactory = $collectionFactory;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Billing/Agreement/View.php b/app/code/Magento/Sales/Block/Billing/Agreement/View.php
index 20cd583b085..e3b7078a0fc 100644
--- a/app/code/Magento/Sales/Block/Billing/Agreement/View.php
+++ b/app/code/Magento/Sales/Block/Billing/Agreement/View.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Sales\Block\Billing\Agreement;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * Payment methods array
@@ -77,8 +77,8 @@ class View extends \Magento\Core\Block\Template
     protected $_orderConfig;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory
      * @param \Magento\Customer\Model\Session $customerSession
@@ -86,8 +86,8 @@ class View extends \Magento\Core\Block\Template
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory,
         \Magento\Customer\Model\Session $customerSession,
@@ -98,7 +98,7 @@ class View extends \Magento\Core\Block\Template
         $this->_customerSession = $customerSession;
         $this->_orderConfig = $orderConfig;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -163,7 +163,7 @@ class View extends \Magento\Core\Block\Template
     /**
      * Set pager
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Sales/Block/Billing/Agreements.php b/app/code/Magento/Sales/Block/Billing/Agreements.php
index 83b462597d3..f38db14ff44 100644
--- a/app/code/Magento/Sales/Block/Billing/Agreements.php
+++ b/app/code/Magento/Sales/Block/Billing/Agreements.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Sales\Block\Billing;
 
-class Agreements extends \Magento\Core\Block\Template
+class Agreements extends \Magento\View\Block\Template
 {
     /**
      * Payment methods array
@@ -58,28 +58,28 @@ class Agreements extends \Magento\Core\Block\Template
     protected $_agreementCollection;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementCollection
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\Resource\Billing\Agreement\CollectionFactory $agreementCollection,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_agreementCollection = $agreementCollection;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
      * Set Billing Agreement instance
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Sales/Block/Guest/Link.php b/app/code/Magento/Sales/Block/Guest/Link.php
index f7832a39027..029b43619a8 100644
--- a/app/code/Magento/Sales/Block/Guest/Link.php
+++ b/app/code/Magento/Sales/Block/Guest/Link.php
@@ -35,18 +35,18 @@ class Link extends \Magento\Page\Block\Link
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
         $this->_customerSession = $customerSession;
     }
 
diff --git a/app/code/Magento/Sales/Block/Items/AbstractItems.php b/app/code/Magento/Sales/Block/Items/AbstractItems.php
index b1d66354193..d64872e55bd 100644
--- a/app/code/Magento/Sales/Block/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Block/Items/AbstractItems.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Sales\Block\Items;
 
-class AbstractItems extends \Magento\Core\Block\Template
+class AbstractItems extends \Magento\View\Block\Template
 {
     /**
      * Block alias fallback
@@ -59,7 +59,7 @@ class AbstractItems extends \Magento\Core\Block\Template
      * Retrieve item renderer block
      *
      * @param string $type
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      * @throws \RuntimeException
      */
     public function getItemRenderer($type)
@@ -75,10 +75,10 @@ class AbstractItems extends \Magento\Core\Block\Template
     /**
      * Prepare item before output
      *
-     * @param \Magento\Core\Block\AbstractBlock $renderer
+     * @param \Magento\View\Block\AbstractBlock $renderer
      * @return \Magento\Sales\Block\Items\AbstractItems
      */
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         return $this;
     }
diff --git a/app/code/Magento/Sales/Block/Order/Comments.php b/app/code/Magento/Sales/Block/Order/Comments.php
index 551b6250ce0..d16edd3e4bb 100644
--- a/app/code/Magento/Sales/Block/Order/Comments.php
+++ b/app/code/Magento/Sales/Block/Order/Comments.php
@@ -25,22 +25,22 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class Comments extends \Magento\Core\Block\Template
+class Comments extends \Magento\View\Block\Template
 {
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\ResourceFactory $resourceFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\ResourceFactory $resourceFactory,
         array $data = array()
     ) {
         $this->_resourceFactory = $resourceFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Creditmemo.php b/app/code/Magento/Sales/Block/Order/Creditmemo.php
index 6061a0df4e5..bfce082a79a 100644
--- a/app/code/Magento/Sales/Block/Order/Creditmemo.php
+++ b/app/code/Magento/Sales/Block/Order/Creditmemo.php
@@ -46,21 +46,21 @@ class Creditmemo extends \Magento\Sales\Block\Order\Creditmemo\Items
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $registry, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Order/Creditmemo/Items.php b/app/code/Magento/Sales/Block/Order/Creditmemo/Items.php
index ab29b5f68d1..caff09b4016 100644
--- a/app/code/Magento/Sales/Block/Order/Creditmemo/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Creditmemo/Items.php
@@ -39,19 +39,19 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Email/Creditmemo/Items.php b/app/code/Magento/Sales/Block/Order/Email/Creditmemo/Items.php
index 7f6a7df36b6..c616d9cb5c0 100644
--- a/app/code/Magento/Sales/Block/Order/Email/Creditmemo/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Email/Creditmemo/Items.php
@@ -39,10 +39,10 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     /**
      * Prepare item before output
      *
-     * @param \Magento\Core\Block\AbstractBlock $renderer
+     * @param \Magento\View\Block\AbstractBlock $renderer
      * @return \Magento\Sales\Block\Items\AbstractItems
      */
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->getItem()->setOrder($this->getOrder());
         $renderer->getItem()->setSource($this->getCreditmemo());
diff --git a/app/code/Magento/Sales/Block/Order/Email/Invoice/Items.php b/app/code/Magento/Sales/Block/Order/Email/Invoice/Items.php
index a36fcb7f833..19ca544e709 100644
--- a/app/code/Magento/Sales/Block/Order/Email/Invoice/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Email/Invoice/Items.php
@@ -39,10 +39,10 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     /**
      * Prepare item before output
      *
-     * @param \Magento\Core\Block\AbstractBlock $renderer
+     * @param \Magento\View\Block\AbstractBlock $renderer
      * @return \Magento\Sales\Block\Items\AbstractItems
      */
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->getItem()->setOrder($this->getOrder());
         $renderer->getItem()->setSource($this->getInvoice());
diff --git a/app/code/Magento/Sales/Block/Order/Email/Items/DefaultItems.php b/app/code/Magento/Sales/Block/Order/Email/Items/DefaultItems.php
index 1e37fb756d6..f55802e36a1 100644
--- a/app/code/Magento/Sales/Block/Order/Email/Items/DefaultItems.php
+++ b/app/code/Magento/Sales/Block/Order/Email/Items/DefaultItems.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sales\Block\Order\Email\Items;
 
-class DefaultItems extends \Magento\Core\Block\Template
+class DefaultItems extends \Magento\View\Block\Template
 {
     /**
      * Retrieve current order model instance
@@ -85,7 +85,7 @@ class DefaultItems extends \Magento\Core\Block\Template
     /**
      * Return product additional information block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getProductAdditionalInformationBlock()
     {
diff --git a/app/code/Magento/Sales/Block/Order/Email/Items/Order/DefaultOrder.php b/app/code/Magento/Sales/Block/Order/Email/Items/Order/DefaultOrder.php
index eb2651b37cc..7edd9af7113 100644
--- a/app/code/Magento/Sales/Block/Order/Email/Items/Order/DefaultOrder.php
+++ b/app/code/Magento/Sales/Block/Order/Email/Items/Order/DefaultOrder.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sales\Block\Order\Email\Items\Order;
 
-class DefaultOrder extends \Magento\Core\Block\Template
+class DefaultOrder extends \Magento\View\Block\Template
 {
     /**
      * Retrieve current order model instance
@@ -85,7 +85,7 @@ class DefaultOrder extends \Magento\Core\Block\Template
     /**
      * Return product additional information block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getProductAdditionalInformationBlock()
     {
diff --git a/app/code/Magento/Sales/Block/Order/Email/Shipment/Items.php b/app/code/Magento/Sales/Block/Order/Email/Shipment/Items.php
index 1f210a57c59..523f208ca5c 100644
--- a/app/code/Magento/Sales/Block/Order/Email/Shipment/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Email/Shipment/Items.php
@@ -39,10 +39,10 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     /**
      * Prepare item before output
      *
-     * @param \Magento\Core\Block\AbstractBlock $renderer
+     * @param \Magento\View\Block\AbstractBlock $renderer
      * @return \Magento\Sales\Block\Items\AbstractItems
      */
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->getItem()->setOrder($this->getOrder());
         $renderer->getItem()->setSource($this->getShipment());
diff --git a/app/code/Magento/Sales/Block/Order/History.php b/app/code/Magento/Sales/Block/Order/History.php
index a7fe11a3ef7..50cff275683 100644
--- a/app/code/Magento/Sales/Block/Order/History.php
+++ b/app/code/Magento/Sales/Block/Order/History.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class History extends \Magento\Core\Block\Template
+class History extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -52,40 +52,31 @@ class History extends \Magento\Core\Block\Template
     protected $_orderConfig;
 
     /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_coreApp;
-
-    /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\Order\Config $orderConfig
-     * @param \Magento\Core\Model\App $coreApp
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\Order\Config $orderConfig,
-        \Magento\Core\Model\App $coreApp,
         array $data = array()
     ) {
         $this->_orderCollectionFactory = $orderCollectionFactory;
         $this->_customerSession = $customerSession;
         $this->_orderConfig = $orderConfig;
-        $this->_coreApp = $coreApp;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
     {
         parent::_construct();
 
-
         $orders = $this->_orderCollectionFactory->create()
             ->addFieldToSelect('*')
             ->addFieldToFilter('customer_id', $this->_customerSession->getCustomer()->getId())
@@ -94,15 +85,13 @@ class History extends \Magento\Core\Block\Template
 
         $this->setOrders($orders);
 
-        if ($this->_coreApp->getFrontController()->getAction()) {
-            $this->_coreApp->getFrontController()->getAction()->getLayout()->getBlock('root')->setHeaderTitle(
-                __('My Orders')
-            );
+        if ($this->_layout->getBlock('root')) {
+            $this->_layout->getBlock('root')->setHeaderTitle(__('My Orders'));
         }
     }
 
     /**
-     * @return $this|\Magento\Core\Block\AbstractBlock
+     * @return $this|\Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Sales/Block/Order/Info.php b/app/code/Magento/Sales/Block/Order/Info.php
index 2e1c1edeb12..d1a77779afd 100644
--- a/app/code/Magento/Sales/Block/Order/Info.php
+++ b/app/code/Magento/Sales/Block/Order/Info.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class Info extends \Magento\Core\Block\Template
+class Info extends \Magento\View\Block\Template
 {
     protected $_template = 'order/info.phtml';
 
@@ -46,19 +46,19 @@ class Info extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Order/Info/Buttons.php b/app/code/Magento/Sales/Block/Order/Info/Buttons.php
index f399ddf24a4..4934749a5e6 100644
--- a/app/code/Magento/Sales/Block/Order/Info/Buttons.php
+++ b/app/code/Magento/Sales/Block/Order/Info/Buttons.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\Sales\Block\Order\Info;
 
-class Buttons extends \Magento\Core\Block\Template
+class Buttons extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -50,22 +50,22 @@ class Buttons extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Invoice.php b/app/code/Magento/Sales/Block/Order/Invoice.php
index d1dcd523e51..e88783358d7 100644
--- a/app/code/Magento/Sales/Block/Order/Invoice.php
+++ b/app/code/Magento/Sales/Block/Order/Invoice.php
@@ -42,21 +42,21 @@ class Invoice extends \Magento\Sales\Block\Order\Invoice\Items
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $registry, $data);
+        parent::__construct($context, $coreData, $registry, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Order/Invoice/Items.php b/app/code/Magento/Sales/Block/Order/Invoice/Items.php
index 730b224d712..415f10cd6a7 100644
--- a/app/code/Magento/Sales/Block/Order/Invoice/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Invoice/Items.php
@@ -43,19 +43,19 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Item/Renderer/DefaultRenderer.php b/app/code/Magento/Sales/Block/Order/Item/Renderer/DefaultRenderer.php
index 6b44b07343c..92f690775d1 100644
--- a/app/code/Magento/Sales/Block/Order/Item/Renderer/DefaultRenderer.php
+++ b/app/code/Magento/Sales/Block/Order/Item/Renderer/DefaultRenderer.php
@@ -29,15 +29,8 @@ namespace Magento\Sales\Block\Order\Item\Renderer;
 /**
  * Order item render block
  */
-class DefaultRenderer extends \Magento\Core\Block\Template
+class DefaultRenderer extends \Magento\View\Block\Template
 {
-    /**
-     * Filter manager
-     *
-     * @var \Magento\Filter\FilterManager
-     */
-    protected $filter;
-
     /**
      * Magento string lib
      *
@@ -51,26 +44,22 @@ class DefaultRenderer extends \Magento\Core\Block\Template
     protected $_productOptionFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Stdlib\String $string
      * @param \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory
-     * @param \Magento\Filter\FilterManager $filter
-     * @param \Magento\Stdlib\String $string
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Stdlib\String $string,
         \Magento\Catalog\Model\Product\OptionFactory $productOptionFactory,
-        \Magento\Filter\FilterManager $filter,
         array $data = array()
     ) {
         $this->string = $string;
         $this->_productOptionFactory = $productOptionFactory;
-        $this->filter = $filter;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function setItem(\Magento\Object $item)
@@ -179,7 +168,7 @@ class DefaultRenderer extends \Magento\Core\Block\Template
             $truncatedValue = nl2br($truncatedValue);
             return array('value' => $truncatedValue);
         } else {
-            $truncatedValue = $this->filter->truncate($optionValue, array('length' => 55, 'etc' => ''));
+            $truncatedValue = $this->filterManager->truncate($optionValue, array('length' => 55, 'etc' => ''));
             $truncatedValue = nl2br($truncatedValue);
         }
 
@@ -207,7 +196,7 @@ class DefaultRenderer extends \Magento\Core\Block\Template
     /**
      * Return product additional information block
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function getProductAdditionalInformationBlock()
     {
diff --git a/app/code/Magento/Sales/Block/Order/Items.php b/app/code/Magento/Sales/Block/Order/Items.php
index fab9485db6c..c5635f4ed39 100644
--- a/app/code/Magento/Sales/Block/Order/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Items.php
@@ -43,19 +43,19 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Link.php b/app/code/Magento/Sales/Block/Order/Link.php
index 705d7472155..783a125b22e 100644
--- a/app/code/Magento/Sales/Block/Order/Link.php
+++ b/app/code/Magento/Sales/Block/Order/Link.php
@@ -33,20 +33,20 @@ class Link extends \Magento\Page\Block\Link\Current
     protected $_registry;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\App\DefaultPathInterface $defaultPath
+     * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
         \Magento\App\DefaultPathInterface $defaultPath,
+        \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $defaultPath, $data);
+        parent::__construct($context, $coreData, $defaultPath, $data);
         $this->_registry = $registry;
     }
 
diff --git a/app/code/Magento/Sales/Block/Order/PrintOrder/Creditmemo.php b/app/code/Magento/Sales/Block/Order/PrintOrder/Creditmemo.php
index 451275416eb..fdbbbf0dccb 100644
--- a/app/code/Magento/Sales/Block/Order/PrintOrder/Creditmemo.php
+++ b/app/code/Magento/Sales/Block/Order/PrintOrder/Creditmemo.php
@@ -39,19 +39,19 @@ class Creditmemo extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
@@ -99,7 +99,7 @@ class Creditmemo extends \Magento\Sales\Block\Items\AbstractItems
         return $this->_coreRegistry->registry('current_creditmemo');
     }
 
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->setPrintStatus(true);
         return parent::_prepareItem($renderer);
diff --git a/app/code/Magento/Sales/Block/Order/PrintOrder/Invoice.php b/app/code/Magento/Sales/Block/Order/PrintOrder/Invoice.php
index 0109513eb3a..9be5e65d407 100644
--- a/app/code/Magento/Sales/Block/Order/PrintOrder/Invoice.php
+++ b/app/code/Magento/Sales/Block/Order/PrintOrder/Invoice.php
@@ -39,19 +39,19 @@ class Invoice extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
@@ -100,7 +100,7 @@ class Invoice extends \Magento\Sales\Block\Items\AbstractItems
         return $this->_coreRegistry->registry('current_invoice');
     }
 
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->setPrintStatus(true);
         return parent::_prepareItem($renderer);
diff --git a/app/code/Magento/Sales/Block/Order/PrintOrder/Shipment.php b/app/code/Magento/Sales/Block/Order/PrintOrder/Shipment.php
index edca37e2b69..81b3a5720d0 100644
--- a/app/code/Magento/Sales/Block/Order/PrintOrder/Shipment.php
+++ b/app/code/Magento/Sales/Block/Order/PrintOrder/Shipment.php
@@ -53,19 +53,19 @@ class Shipment extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -138,7 +138,7 @@ class Shipment extends \Magento\Sales\Block\Items\AbstractItems
         return $this->_coreRegistry->registry('current_shipment');
     }
 
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->setPrintStatus(true);
 
diff --git a/app/code/Magento/Sales/Block/Order/PrintShipment.php b/app/code/Magento/Sales/Block/Order/PrintShipment.php
index 85473cad805..bff6cf0fa6b 100644
--- a/app/code/Magento/Sales/Block/Order/PrintShipment.php
+++ b/app/code/Magento/Sales/Block/Order/PrintShipment.php
@@ -43,19 +43,19 @@ class PrintShipment extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
@@ -79,7 +79,7 @@ class PrintShipment extends \Magento\Sales\Block\Items\AbstractItems
         return $this->_coreRegistry->registry('current_order');
     }
 
-    protected function _prepareItem(\Magento\Core\Block\AbstractBlock $renderer)
+    protected function _prepareItem(\Magento\View\Block\AbstractBlock $renderer)
     {
         $renderer->setPrintStatus(true);
 
diff --git a/app/code/Magento/Sales/Block/Order/Recent.php b/app/code/Magento/Sales/Block/Order/Recent.php
index 327513c11ae..603339c14d8 100644
--- a/app/code/Magento/Sales/Block/Order/Recent.php
+++ b/app/code/Magento/Sales/Block/Order/Recent.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class Recent extends \Magento\Core\Block\Template
+class Recent extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Sales\Model\Resource\Order\CollectionFactory
@@ -47,16 +47,16 @@ class Recent extends \Magento\Core\Block\Template
     protected $_orderConfig;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\Order\Config $orderConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\Order\Config $orderConfig,
@@ -65,7 +65,7 @@ class Recent extends \Magento\Core\Block\Template
         $this->_orderCollectionFactory = $orderCollectionFactory;
         $this->_customerSession = $customerSession;
         $this->_orderConfig = $orderConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Order/Shipment.php b/app/code/Magento/Sales/Block/Order/Shipment.php
index 4434dce4ba7..5febabbfb3e 100644
--- a/app/code/Magento/Sales/Block/Order/Shipment.php
+++ b/app/code/Magento/Sales/Block/Order/Shipment.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class Shipment extends \Magento\Core\Block\Template
+class Shipment extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -49,22 +49,22 @@ class Shipment extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Order/Shipment/Items.php b/app/code/Magento/Sales/Block/Order/Shipment/Items.php
index d97696458ae..99606bb83bf 100644
--- a/app/code/Magento/Sales/Block/Order/Shipment/Items.php
+++ b/app/code/Magento/Sales/Block/Order/Shipment/Items.php
@@ -43,19 +43,19 @@ class Items extends \Magento\Sales\Block\Items\AbstractItems
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/Totals.php b/app/code/Magento/Sales/Block/Order/Totals.php
index 37c2114eebf..837b3eb68b7 100644
--- a/app/code/Magento/Sales/Block/Order/Totals.php
+++ b/app/code/Magento/Sales/Block/Order/Totals.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class Totals extends \Magento\Core\Block\Template
+class Totals extends \Magento\View\Block\Template
 {
     /**
      * Associated array of totals
@@ -46,19 +46,19 @@ class Totals extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Order/View.php b/app/code/Magento/Sales/Block/Order/View.php
index 0628ff92a8e..aa532d026f9 100644
--- a/app/code/Magento/Sales/Block/Order/View.php
+++ b/app/code/Magento/Sales/Block/Order/View.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Order;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -49,22 +49,22 @@ class View extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_coreRegistry = $registry;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/Sales/Block/Payment/Form/Billing/Agreement.php b/app/code/Magento/Sales/Block/Payment/Form/Billing/Agreement.php
index cf55ca3bf6a..39363c0452c 100644
--- a/app/code/Magento/Sales/Block/Payment/Form/Billing/Agreement.php
+++ b/app/code/Magento/Sales/Block/Payment/Form/Billing/Agreement.php
@@ -42,19 +42,19 @@ class Agreement extends \Magento\Payment\Block\Form
     protected $_agreementFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory,
         array $data = array()
     ) {
         $this->_agreementFactory = $agreementFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Sales/Block/Recurring/Profile/Grid.php b/app/code/Magento/Sales/Block/Recurring/Profile/Grid.php
index 5e59d7df117..b1136de470f 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profile/Grid.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profile/Grid.php
@@ -41,11 +41,6 @@ class Grid extends \Magento\Sales\Block\Recurring\Profiles
      */
     protected $_recurringProfile;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
     /**
      * Profiles collection
      *
@@ -54,25 +49,23 @@ class Grid extends \Magento\Sales\Block\Recurring\Profiles
     protected $_profiles = null;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\Recurring\Profile $profile
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\Recurring\Profile $profile,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
         $this->_recurringProfile = $profile;
         $this->_registry = $registry;
-        $this->_storeManager = $storeManager;
+        parent::__construct($context, $coreData, $data);
+
     }
 
     /**
@@ -137,7 +130,7 @@ class Grid extends \Magento\Sales\Block\Recurring\Profiles
         $profiles = array();
         $store = $this->_storeManager->getStore();
         foreach ($this->_profiles as $profile) {
-            $profile->setStore($store)->setLocale($this->locale);
+            $profile->setStore($store)->setLocale($this->_locale);
             $profiles[] = new \Magento\Object(array(
                 'reference_id' => $profile->getReferenceId(),
                 'reference_id_link_url' => $this->getUrl(
diff --git a/app/code/Magento/Sales/Block/Recurring/Profile/Related/Orders/Grid.php b/app/code/Magento/Sales/Block/Recurring/Profile/Related/Orders/Grid.php
index 309551ceac0..23caafb65c4 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profile/Related/Orders/Grid.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profile/Related/Orders/Grid.php
@@ -41,26 +41,22 @@ class Grid extends \Magento\Sales\Block\Recurring\Profile\View
     protected $_config;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Sales\Model\Resource\Order\Collection $collection
      * @param \Magento\Sales\Model\Order\Config $config
-     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Sales\Model\Resource\Order\Collection $collection,
         \Magento\Sales\Model\Order\Config $config,
-        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
-        parent::__construct($context, $registry, $storeManager, $locale, $coreData, $data);
+        parent::__construct($context, $coreData, $registry, $data);
         $this->_orderCollection = $collection;
         $this->_config = $config;
     }
diff --git a/app/code/Magento/Sales/Block/Recurring/Profile/View.php b/app/code/Magento/Sales/Block/Recurring/Profile/View.php
index cd0d6bf8f9e..388cf363ccf 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profile/View.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profile/View.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Recurring\Profile;
 
-class View extends \Magento\Core\Block\Template
+class View extends \Magento\View\Block\Template
 {
     /**
      * @var \Magento\Sales\Model\Recurring\Profile
@@ -62,16 +62,6 @@ class View extends \Magento\Core\Block\Template
      */
     protected $_registry;
 
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
     /**
      * Path to template file in theme.
      *
@@ -80,25 +70,20 @@ class View extends \Magento\Core\Block\Template
     protected $_template = 'recurring/profile/view/info.phtml';
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
-        parent::__construct($coreData, $context, $data);
         $this->_registry = $registry;
-        $this->_storeManager = $storeManager;
-        $this->_locale = $locale;
+        parent::__construct($context, $coreData, $data);
+
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Recurring/Profile/View/Address.php b/app/code/Magento/Sales/Block/Recurring/Profile/View/Address.php
index b5a307b4d50..b799ff96f25 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profile/View/Address.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profile/View/Address.php
@@ -31,26 +31,21 @@ namespace Magento\Sales\Block\Recurring\Profile\View;
  */
 class Address extends \Magento\Sales\Block\Recurring\Profile\View
 {
-
     /**
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\Order\AddressFactory $addressFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\Order\AddressFactory $addressFactory,
         array $data = array()
     ) {
-        parent::__construct($context, $registry, $storeManager, $locale, $coreData, $data);
+        parent::__construct($context, $coreData, $registry, $data);
         $this->_addressFactory = $addressFactory;
     }
 
diff --git a/app/code/Magento/Sales/Block/Recurring/Profile/View/Item.php b/app/code/Magento/Sales/Block/Recurring/Profile/View/Item.php
index 083cc9ac0a5..3785093d5cf 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profile/View/Item.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profile/View/Item.php
@@ -41,28 +41,24 @@ class Item extends \Magento\Sales\Block\Recurring\Profile\View
     protected $_product;
 
     /**
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Catalog\Model\Product\Option $option
      * @param \Magento\Catalog\Model\Product $product
-     * @param \Magento\Core\Helper\Data $coreData
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Catalog\Model\Product\Option $option,
         \Magento\Catalog\Model\Product $product,
-        \Magento\Core\Helper\Data $coreData,
         array $data = array()
     ) {
         $this->_option = $option;
         $this->_product = $product;
-        parent::__construct($context, $registry, $storeManager, $locale, $coreData, $data);
+        parent::__construct($context, $coreData, $registry, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Recurring/Profiles.php b/app/code/Magento/Sales/Block/Recurring/Profiles.php
index e22544cc343..728deaa35eb 100644
--- a/app/code/Magento/Sales/Block/Recurring/Profiles.php
+++ b/app/code/Magento/Sales/Block/Recurring/Profiles.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Recurring;
 
-class Profiles extends \Magento\Core\Block\Template
+class Profiles extends \Magento\View\Block\Template
 {
 
     /**
diff --git a/app/code/Magento/Sales/Block/Reorder/Sidebar.php b/app/code/Magento/Sales/Block/Reorder/Sidebar.php
index bbd47b98c39..cd826ab68ec 100644
--- a/app/code/Magento/Sales/Block/Reorder/Sidebar.php
+++ b/app/code/Magento/Sales/Block/Reorder/Sidebar.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Block\Reorder;
 
-class Sidebar extends \Magento\Core\Block\Template
+class Sidebar extends \Magento\View\Block\Template
 {
     /**
      * @var string
@@ -46,41 +46,31 @@ class Sidebar extends \Magento\Core\Block\Template
      */
     protected $_orderConfig;
 
-    /**
-     * Store list manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Customer\Model\Session
      */
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory
      * @param \Magento\Sales\Model\Order\Config $orderConfig
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Sales\Model\Resource\Order\CollectionFactory $orderCollectionFactory,
         \Magento\Sales\Model\Order\Config $orderConfig,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_orderCollectionFactory = $orderCollectionFactory;
         $this->_orderConfig = $orderConfig;
-        $this->_storeManager = $storeManager;
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sales/Block/Status/Grid/Column/State.php b/app/code/Magento/Sales/Block/Status/Grid/Column/State.php
index 5617e747da1..3066ab14194 100644
--- a/app/code/Magento/Sales/Block/Status/Grid/Column/State.php
+++ b/app/code/Magento/Sales/Block/Status/Grid/Column/State.php
@@ -33,19 +33,19 @@ class State extends \Magento\Backend\Block\Widget\Grid\Column
      */
     protected $_config;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Order\Config $config
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Sales\Model\Order\Config $config
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Sales\Model\Order\Config $config,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Sales\Model\Order\Config $config,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
 
         $this->_config = $config;
     }
diff --git a/app/code/Magento/Sales/Block/Widget/Guest/Form.php b/app/code/Magento/Sales/Block/Widget/Guest/Form.php
index 33d23fa0822..30468f65764 100644
--- a/app/code/Magento/Sales/Block/Widget/Guest/Form.php
+++ b/app/code/Magento/Sales/Block/Widget/Guest/Form.php
@@ -30,7 +30,7 @@
 namespace Magento\Sales\Block\Widget\Guest;
 
 class Form
-    extends \Magento\Core\Block\Template
+    extends \Magento\View\Block\Template
     implements \Magento\Widget\Block\BlockInterface
 {
     /**
@@ -39,19 +39,19 @@ class Form
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Customer\Model\Session $customerSession,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -71,7 +71,7 @@ class Form
      */
     public function getTypeSelectHtml()
     {
-        $select = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $select = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setData(array(
                 'id'    => 'quick_search_type_id',
                 'class' => 'select guest-select',
diff --git a/app/code/Magento/Sales/Controller/AbstractController.php b/app/code/Magento/Sales/Controller/AbstractController.php
index abd58bf2342..7dcfd917fa9 100644
--- a/app/code/Magento/Sales/Controller/AbstractController.php
+++ b/app/code/Magento/Sales/Controller/AbstractController.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Controller;
 
-abstract class AbstractController extends \Magento\Core\Controller\Front\Action
+abstract class AbstractController extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -39,11 +39,11 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -77,14 +77,14 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
             return;
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Catalog\Model\Session');
 
-        $navigationBlock = $this->getLayout()->getBlock('customer_account_navigation');
+        $navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation');
         if ($navigationBlock) {
             $navigationBlock->setActive('sales/order/history');
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -99,7 +99,7 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
             $orderId = (int) $this->getRequest()->getParam('order_id');
         }
         if (!$orderId) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return false;
         }
 
@@ -189,8 +189,8 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
         if (!$this->_loadValidOrder()) {
             return;
         }
-        $this->loadLayout('print');
-        $this->renderLayout();
+        $this->_view->loadLayout('print');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -212,8 +212,8 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
             if (isset($invoice)) {
                 $this->_coreRegistry->register('current_invoice', $invoice);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             if ($this->_objectManager->get('Magento\Customer\Model\Session')->isLoggedIn()) {
                 $this->_redirect('*/*/history');
@@ -241,8 +241,8 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
             if (isset($shipment)) {
                 $this->_coreRegistry->register('current_shipment', $shipment);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             if ($this->_objectManager->get('Magento\Customer\Model\Session')->isLoggedIn()) {
                 $this->_redirect('*/*/history');
@@ -271,8 +271,8 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
             if (isset($creditmemo)) {
                 $this->_coreRegistry->register('current_creditmemo', $creditmemo);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             if ($this->_objectManager->get('Magento\Customer\Model\Session')->isLoggedIn()) {
                 $this->_redirect('*/*/history');
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Billing/Agreement.php b/app/code/Magento/Sales/Controller/Adminhtml/Billing/Agreement.php
index 2c23216d1be..2d59a3cc159 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Billing/Agreement.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Billing/Agreement.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Billing;
 
-class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
+class Agreement extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -39,11 +39,11 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -56,11 +56,11 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Billing Agreements'));
+        $this->_title->add(__('Billing Agreements'));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_billing_agreement')
-            ->renderLayout();
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_billing_agreement');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -69,8 +69,8 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false)
-            ->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -82,12 +82,12 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
         $agreementModel = $this->_initBillingAgreement();
 
         if ($agreementModel) {
-            $this->_title(__('Billing Agreements'))
-                ->_title(sprintf("#%s", $agreementModel->getReferenceId()));
+            $this->_title->add(__('Billing Agreements'));
+            $this->_title->add(sprintf("#%s", $agreementModel->getReferenceId()));
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_billing_agreement')
-                ->renderLayout();
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_billing_agreement');
+            $this->_view->renderLayout();
             return;
         }
 
@@ -102,8 +102,8 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
     public function ordersGridAction()
     {
         $this->_initBillingAgreement();
-        $this->loadLayout(false)
-            ->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -113,8 +113,8 @@ class Agreement extends \Magento\Backend\Controller\Adminhtml\Action
     public function customerGridAction()
     {
         $this->_initCustomer();
-        $this->loadLayout(false)
-            ->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo.php b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo.php
index c96b3bfd68b..8e25d6ee57a 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo.php
@@ -39,8 +39,8 @@ class Creditmemo extends \Magento\Sales\Controller\Adminhtml\Creditmemo\Abstract
     public function exportCsvAction()
     {
         $fileName   = 'creditmemos.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -49,8 +49,8 @@ class Creditmemo extends \Magento\Sales\Controller\Adminhtml\Creditmemo\Abstract
     public function exportExcelAction()
     {
         $fileName   = 'creditmemos.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 
     /**
@@ -58,7 +58,7 @@ class Creditmemo extends \Magento\Sales\Controller\Adminhtml\Creditmemo\Abstract
      */
     public function indexAction()
     {
-        $this->_title(__('Credit Memos'));
+        $this->_title->add(__('Credit Memos'));
         parent::indexAction();
     }
 }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo.php b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo.php
index 4d035e0ff29..f8d5310a097 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Creditmemo/AbstractCreditmemo.php
@@ -31,8 +31,25 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Creditmemo;
 
-class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
+class AbstractCreditmemo extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     /**
      * Init layout, menu and breadcrumb
      *
@@ -40,8 +57,8 @@ class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_creditmemo')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_creditmemo')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Credit Memos'), __('Credit Memos'));
         return $this;
@@ -53,8 +70,8 @@ class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
     public function indexAction()
     {
         $this->_initAction()
-            ->_addContent($this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo'))
-            ->renderLayout();
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Creditmemo'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -65,7 +82,7 @@ class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
         if ($creditmemoId = $this->getRequest()->getParam('creditmemo_id')) {
             $this->_forward('view', 'order_creditmemo', null, array('come_from' => 'sales_creditmemo'));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -111,7 +128,7 @@ class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
             }
             $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
 
-            return $this->_prepareDownloadResponse('creditmemo' . $date . '.pdf', $pdf->render(), 'application/pdf');
+            return $this->_fileFactory->create('creditmemo' . $date . '.pdf', $pdf->render(), 'application/pdf');
         }
         $this->_redirect('sales/*/');
     }
@@ -126,10 +143,10 @@ class AbstractCreditmemo extends \Magento\Backend\Controller\Adminhtml\Action
                 $pdf = $this->_objectManager->create('Magento\Sales\Model\Order\Pdf\Creditmemo')
                     ->getPdf(array($creditmemo));
                 $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
-                $this->_prepareDownloadResponse('creditmemo' . $date . '.pdf', $pdf->render(), 'application/pdf');
+                return $this->_fileFactory->create('creditmemo' . $date . '.pdf', $pdf->render(), 'application/pdf');
             }
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Invoice.php b/app/code/Magento/Sales/Controller/Adminhtml/Invoice.php
index 8cf5779656e..0dc2a2618e6 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Invoice.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Invoice.php
@@ -39,8 +39,8 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
     public function exportCsvAction()
     {
         $fileName   = 'invoices.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -49,7 +49,7 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
     public function exportExcelAction()
     {
         $fileName   = 'invoices.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice.php b/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice.php
index a1c56f63357..65ddd74d129 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Invoice/AbstractInvoice.php
@@ -32,8 +32,24 @@
 namespace Magento\Sales\Controller\Adminhtml\Invoice;
 
 class AbstractInvoice
-    extends \Magento\Backend\Controller\Adminhtml\Action
+    extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
     /**
      * Init layout, menu and breadcrumb
      *
@@ -41,8 +57,8 @@ class AbstractInvoice
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_invoice')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_invoice')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Invoices'), __('Invoices'));
         return $this;
@@ -53,9 +69,9 @@ class AbstractInvoice
      */
     public function gridAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice\Grid')->toHtml()
         );
     }
 
@@ -64,11 +80,11 @@ class AbstractInvoice
      */
     public function indexAction()
     {
-        $this->_title(__('Invoices'));
+        $this->_title->add(__('Invoices'));
 
         $this->_initAction()
-            ->_addContent($this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice'))
-            ->renderLayout();
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Invoice'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -79,7 +95,7 @@ class AbstractInvoice
         if ($invoiceId = $this->getRequest()->getParam('invoice_id')) {
             $this->_forward('view', 'order_invoice', null, array('come_from'=>'invoice'));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -114,10 +130,10 @@ class AbstractInvoice
             if ($invoice) {
                 $pdf = $this->_objectManager->create('Magento\Sales\Model\Order\Pdf\Invoice')->getPdf(array($invoice));
                 $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
-                $this->_prepareDownloadResponse('invoice' . $date . '.pdf', $pdf->render(), 'application/pdf');
+                return $this->_fileFactory->create('invoice' . $date . '.pdf', $pdf->render(), 'application/pdf');
             }
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -137,7 +153,7 @@ class AbstractInvoice
             }
             $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
 
-            return $this->_prepareDownloadResponse('invoice' . $date . '.pdf', $pdf->render(), 'application/pdf');
+            return $this->_fileFactory->create('invoice' . $date . '.pdf', $pdf->render(), 'application/pdf');
         }
         $this->_redirect('sales/*/');
     }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order.php b/app/code/Magento/Sales/Controller/Adminhtml/Order.php
index bcb3048c40e..185ee1ac0d1 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order.php
@@ -33,7 +33,9 @@
  */
 namespace Magento\Sales\Controller\Adminhtml;
 
-class Order extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Order extends \Magento\Backend\App\Action
 {
     /**
      * Array of actions which can be processed without secret key validation
@@ -50,14 +52,29 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @var \Magento\Core\Model\Translate
+     */
+    protected $_translator;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
+        \Magento\Core\Model\Translate $translator
     ) {
         $this->_coreRegistry = $coreRegistry;
+        $this->_fileFactory = $fileFactory;
+        $this->_translator = $translator;
         parent::__construct($context);
     }
 
@@ -68,8 +85,8 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_order')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_order')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Orders'), __('Orders'));
         return $this;
@@ -88,7 +105,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
         if (!$order->getId()) {
             $this->_getSession()->addError(__('This order no longer exists.'));
             $this->_redirect('sales/*/');
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             return false;
         }
         $this->_coreRegistry->register('sales_order', $order);
@@ -101,8 +118,9 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Orders'));
-        $this->_initAction()->renderLayout();
+        $this->_title->add(__('Orders'));
+        $this->_initAction();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -110,8 +128,8 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -119,13 +137,13 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function viewAction()
     {
-        $this->_title(__('Orders'));
+        $this->_title->add(__('Orders'));
 
         $order = $this->_initOrder();
         if ($order) {
             $this->_initAction();
-            $this->_title(sprintf("#%s", $order->getRealOrderId()));
-            $this->renderLayout();
+            $this->_title->add(sprintf("#%s", $order->getRealOrderId()));
+            $this->_view->renderLayout();
         }
     }
 
@@ -290,8 +308,8 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
                 $order->save();
                 $order->sendOrderUpdateEmail($notify, $comment);
 
-                $this->loadLayout('empty');
-                $this->renderLayout();
+                $this->_view->loadLayout('empty');
+                $this->_view->renderLayout();
             } catch (\Magento\Core\Exception $e) {
                 $response = array(
                     'error'     => true,
@@ -317,7 +335,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_initOrder();
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Invoices')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Invoices')->toHtml()
         );
     }
 
@@ -328,7 +346,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_initOrder();
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Shipments')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Shipments')->toHtml()
         );
     }
 
@@ -339,7 +357,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $this->_initOrder();
         $this->getResponse()->setBody(
-            $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Creditmemos')->toHtml()
+            $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\Creditmemos')->toHtml()
         );
     }
 
@@ -349,7 +367,8 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     public function commentsHistoryAction()
     {
         $this->_initOrder();
-        $html = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\History')->toHtml();
+        $html = $this->_view->getLayout()
+            ->createBlock('Magento\Sales\Block\Adminhtml\Order\View\Tab\History')->toHtml();
         if ($this->_translator->isAllowed()) {
             $this->_translator->processResponseBody($html);
         }
@@ -496,7 +515,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
                 }
             }
             if ($flag) {
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     'invoice' . $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s') . '.pdf',
                     $pdf->render(),
                     'application/pdf'
@@ -534,7 +553,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
                 }
             }
             if ($flag) {
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     'packingslip' . $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s') . '.pdf',
                     $pdf->render(),
                     'application/pdf'
@@ -572,7 +591,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
                 }
             }
             if ($flag) {
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     'creditmemo' . $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s') . '.pdf',
                     $pdf->render(),
                     'application/pdf'
@@ -636,7 +655,7 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
                 }
             }
             if ($flag) {
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     'docs' . $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s') . '.pdf',
                     $pdf->render(),
                     'application/pdf'
@@ -723,11 +742,11 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportCsvAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'orders.csv';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('sales.order.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getCsvFile());
+        $exportBlock = $this->_view->getLayout()->getChildBlock('sales.order.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getCsvFile());
     }
 
     /**
@@ -735,11 +754,11 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportExcelAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $fileName = 'orders.xml';
         /** @var \Magento\Backend\Block\Widget\Grid\ExportInterface $exportBlock  */
-        $exportBlock = $this->getLayout()->getChildBlock('sales.order.grid', 'grid.export');
-        $this->_prepareDownloadResponse($fileName, $exportBlock->getExcelFile($fileName));
+        $exportBlock = $this->_view->getLayout()->getChildBlock('sales.order.grid', 'grid.export');
+        return $this->_fileFactory->create($fileName, $exportBlock->getExcelFile($fileName));
     }
 
     /**
@@ -749,8 +768,8 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
     public function transactionsAction()
     {
         $this->_initOrder();
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -762,14 +781,14 @@ class Order extends \Magento\Backend\Controller\Adminhtml\Action
         $address = $this->_objectManager->create('Magento\Sales\Model\Order\Address')->load($addressId);
         if ($address->getId()) {
             $this->_coreRegistry->register('order_address', $address);
-            $this->loadLayout();
+            $this->_view->loadLayout();
             // Do not display VAT validation button on edit order address form
-            $addressFormContainer = $this->getLayout()->getBlock('sales_order_address.form.container');
+            $addressFormContainer = $this->_view->getLayout()->getBlock('sales_order_address.form.container');
             if ($addressFormContainer) {
                 $addressFormContainer->getChildBlock('form')->setDisplayVatValidationButton(false);
             }
 
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/*/');
         }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php
index 4516a53e762..6a427b22c64 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Create.php
@@ -33,16 +33,22 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Order;
 
-class Create extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Create extends \Magento\Backend\App\Action
 {
     /**
-     * Additional initialization
-     *
+     * @param Action\Context $context
+     * @param \Magento\Catalog\Helper\Product $productHelper
+     * @param \Magento\App\Action\Title $title
      */
-    protected function _construct()
+    public function __construct(
+        Action\Context $context,
+        \Magento\Catalog\Helper\Product $productHelper
+    )
     {
-        // During order creation in the backend admin has ability to add any products to order
-        $this->_objectManager->get('Magento\Catalog\Helper\Product')->setSkipSaleableCheck(true);
+        parent::__construct($context);
+        $productHelper->setSkipSaleableCheck(true);
     }
 
     /**
@@ -334,12 +340,13 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Orders'))->_title(__('New Order'));
+        $this->_title->add(__('Orders'));
+        $this->_title->add(__('New Order'));
         $this->_initSession();
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
-        $this->_setActiveMenu('Magento_Sales::sales_order')
-            ->renderLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_order');
+        $this->_view->renderLayout();
     }
 
 
@@ -349,7 +356,7 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
         $orderId = $this->getRequest()->getParam('order_id');
         $order = $this->_objectManager->create('Magento\Sales\Model\Order')->load($orderId);
         if (!$this->_objectManager->get('Magento\Sales\Helper\Reorder')->canReorder($order)) {
-            return $this->_forward('noRoute');
+            return $this->_forward('noroute');
         }
 
         if ($order->getId()) {
@@ -394,7 +401,7 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
         $asJson= $request->getParam('json');
         $block = $request->getParam('block');
 
-        $update = $this->getLayout()->getUpdate();
+        $update = $this->_view->getLayout()->getUpdate();
         if ($asJson) {
             $update->addHandle('sales_order_create_load_block_json');
         } else {
@@ -411,8 +418,10 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
                 $update->addHandle('sales_order_create_load_block_' . $block);
             }
         }
-        $this->loadLayoutUpdates()->generateLayoutXml()->generateLayoutBlocks();
-        $result = $this->getLayout()->renderElement('content');
+        $this->_view->loadLayoutUpdates();
+        $this->_view->generateLayoutXml();
+        $this->_view->generateLayoutBlocks();
+        $result = $this->_view->getLayout()->renderElement('content');
         if ($request->getParam('as_js_varname')) {
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->setUpdateResult($result);
             $this->_redirect('sales/*/showUpdateResult');
@@ -571,7 +580,7 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
 
         // Render page
         $this->_objectManager->get('Magento\Catalog\Helper\Product\Composite')
-            ->renderConfigureResult($this, $configureResult);
+            ->renderConfigureResult($configureResult);
 
         return $this;
     }
@@ -614,7 +623,7 @@ class Create extends \Magento\Backend\Controller\Adminhtml\Action
 
         // Render page
         $this->_objectManager->get('Magento\Catalog\Helper\Product\Composite')
-            ->renderConfigureResult($this, $configureResult);
+            ->renderConfigureResult($configureResult);
 
         return $this;
     }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo.php
index 1dc4cf18ba4..5039f25a65f 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemo.php
@@ -107,7 +107,7 @@ class Creditmemo
      */
     protected function _initCreditmemo($update = false)
     {
-        $this->_title(__('Credit Memos'));
+        $this->_title->add(__('Credit Memos'));
 
         $creditmemo = false;
         $creditmemoId = $this->getRequest()->getParam('creditmemo_id');
@@ -201,18 +201,18 @@ class Creditmemo
         $creditmemo = $this->_initCreditmemo();
         if ($creditmemo) {
             if ($creditmemo->getInvoice()) {
-                $this->_title(__("View Memo for #%1", $creditmemo->getInvoice()->getIncrementId()));
+                $this->_title->add(__("View Memo for #%1", $creditmemo->getInvoice()->getIncrementId()));
             } else {
-                $this->_title(__("View Memo"));
+                $this->_title->add(__("View Memo"));
             }
 
-            $this->loadLayout();
-            $this->getLayout()->getBlock('sales_creditmemo_view')
+            $this->_view->loadLayout();
+            $this->_view->getLayout()->getBlock('sales_creditmemo_view')
                 ->updateBackButtonUrl($this->getRequest()->getParam('come_from'));
-            $this->_setActiveMenu('Magento_Sales::sales_creditmemo')
-                ->renderLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_creditmemo');
+            $this->_view->renderLayout();
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -234,20 +234,20 @@ class Creditmemo
     {
         if ($creditmemo = $this->_initCreditmemo()) {
             if ($creditmemo->getInvoice()) {
-                $this->_title(__("New Memo for #%1", $creditmemo->getInvoice()->getIncrementId()));
+                $this->_title->add(__("New Memo for #%1", $creditmemo->getInvoice()->getIncrementId()));
             } else {
-                $this->_title(__("New Memo"));
+                $this->_title->add(__("New Memo"));
             }
 
             if ($comment = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getCommentText(true)) {
                 $creditmemo->setCommentText($comment);
             }
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_order')
-                ->renderLayout();
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_order');
+            $this->_view->renderLayout();
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -258,8 +258,8 @@ class Creditmemo
     {
         try {
             $creditmemo = $this->_initCreditmemo(true);
-            $this->loadLayout();
-            $response = $this->getLayout()->getBlock('order_items')->toHtml();
+            $this->_view->loadLayout();
+            $response = $this->_view->getLayout()->getBlock('order_items')->toHtml();
         } catch (\Magento\Core\Exception $e) {
             $response = array(
                 'error'     => true,
@@ -333,7 +333,7 @@ class Creditmemo
                 $this->_redirect('sales/order/view', array('order_id' => $creditmemo->getOrderId()));
                 return;
             } else {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
         } catch (\Magento\Core\Exception $e) {
@@ -364,7 +364,7 @@ class Creditmemo
             }
             $this->_redirect('sales/*/view', array('creditmemo_id'=>$creditmemo->getId()));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -386,7 +386,7 @@ class Creditmemo
             }
             $this->_redirect('sales/*/view', array('creditmemo_id'=>$creditmemo->getId()));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -413,8 +413,8 @@ class Creditmemo
             $comment->save();
             $creditmemo->sendUpdateEmail(!empty($data['is_customer_notified']), $data['comment']);
 
-            $this->loadLayout();
-            $response = $this->getLayout()->getBlock('creditmemo_comments')->toHtml();
+            $this->_view->loadLayout();
+            $response = $this->_view->getLayout()->getBlock('creditmemo_comments')->toHtml();
         } catch (\Magento\Core\Exception $e) {
             $response = array(
                 'error'     => true,
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Edit.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Edit.php
index a821af1b504..50c0d283af2 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Edit.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Edit.php
@@ -67,12 +67,13 @@ class Edit extends \Magento\Sales\Controller\Adminhtml\Order\Create
      */
     public function indexAction()
     {
-        $this->_title(__('Orders'))->_title(__('Edit Order'));
-        $this->loadLayout();
+        $this->_title->add(__('Orders'));
+        $this->_title->add(__('Edit Order'));
+        $this->_view->loadLayout();
 
         $this->_initSession()
-            ->_setActiveMenu('Magento_Sales::sales_order')
-            ->renderLayout();
+            ->_setActiveMenu('Magento_Sales::sales_order');
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice.php
index 05f55d07f0c..0a90b039382 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Invoice.php
@@ -43,15 +43,22 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Action\Title
+     */
+    protected $_title;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($context);
+        parent::__construct($context, $fileFactory);
     }
 
     /**
@@ -76,7 +83,7 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
      */
     protected function _initInvoice($update = false)
     {
-        $this->_title(__('Invoices'));
+        $this->_title->add(__('Invoices'));
 
         $invoice = false;
         $invoiceId = $this->getRequest()->getParam('invoice_id');
@@ -167,15 +174,15 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
     {
         $invoice = $this->_initInvoice();
         if ($invoice) {
-            $this->_title(sprintf("#%s", $invoice->getIncrementId()));
+            $this->_title->add(sprintf("#%s", $invoice->getIncrementId()));
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_order');
-            $this->getLayout()->getBlock('sales_invoice_view')
+            $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_order');
+            $this->_view->getLayout()->getBlock('sales_invoice_view')
                 ->updateBackButtonUrl($this->getRequest()->getParam('come_from'));
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -198,16 +205,16 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
     {
         $invoice = $this->_initInvoice();
         if ($invoice) {
-            $this->_title(__('New Invoice'));
+            $this->_title->add(__('New Invoice'));
 
             $comment = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getCommentText(true);
             if ($comment) {
                 $invoice->setCommentText($comment);
             }
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_order')
-                ->renderLayout();
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_order');
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/order/view', array('order_id'=>$this->getRequest()->getParam('order_id')));
         }
@@ -225,8 +232,8 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
             $invoiceRawCommentText = $invoiceRawData['comment_text'];
             $invoice->setCommentText($invoiceRawCommentText);
 
-            $this->loadLayout();
-            $response = $this->getLayout()->getBlock('order_items')->toHtml();
+            $this->_view->loadLayout();
+            $response = $this->_view->getLayout()->getBlock('order_items')->toHtml();
         } catch (\Magento\Core\Exception $e) {
             $response = array(
                 'error'     => true,
@@ -356,7 +363,7 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
             }
             $this->_redirect('sales/*/view', array('invoice_id'=>$invoice->getId()));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -378,7 +385,7 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
             }
             $this->_redirect('sales/*/view', array('invoice_id' => $invoice->getId()));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -400,7 +407,7 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
             }
             $this->_redirect('sales/*/view', array('invoice_id' => $invoice->getId()));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -421,8 +428,8 @@ class Invoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoic
             $invoice->sendUpdateEmail(!empty($data['is_customer_notified']), $data['comment']);
             $invoice->save();
 
-            $this->loadLayout();
-            $response = $this->getLayout()->getBlock('invoice_comments')->toHtml();
+            $this->_view->loadLayout();
+            $response = $this->_view->getLayout()->getBlock('invoice_comments')->toHtml();
         } catch (\Magento\Core\Exception $e) {
             $response = array(
                 'error'     => true,
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Shipment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Shipment.php
index a63326e3c96..4df921a9704 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Shipment.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Shipment.php
@@ -43,15 +43,23 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($context);
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context, $fileFactory);
     }
 
     /**
@@ -75,7 +83,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
      */
     protected function _initShipment()
     {
-        $this->_title(__('Shipments'));
+        $this->_title->add(__('Shipments'));
 
         $shipment = false;
         $shipmentId = $this->getRequest()->getParam('shipment_id');
@@ -151,14 +159,14 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     {
         $shipment = $this->_initShipment();
         if ($shipment) {
-            $this->_title("#" . $shipment->getIncrementId());
-            $this->loadLayout();
-            $this->getLayout()->getBlock('sales_shipment_view')
+            $this->_title->add("#" . $shipment->getIncrementId());
+            $this->_view->loadLayout();
+            $this->_view->getLayout()->getBlock('sales_shipment_view')
                 ->updateBackButtonUrl($this->getRequest()->getParam('come_from'));
-            $this->_setActiveMenu('Magento_Sales::sales_order')
-                ->renderLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_order');
+            $this->_view->renderLayout();
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -180,16 +188,16 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     {
         $shipment = $this->_initShipment();
         if ($shipment) {
-            $this->_title(__('New Shipment'));
+            $this->_title->add(__('New Shipment'));
 
             $comment = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getCommentText(true);
             if ($comment) {
                 $shipment->setCommentText($comment);
             }
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_order')
-                ->renderLayout();
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_order');
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/order/view', array('order_id' => $this->getRequest()->getParam('order_id')));
         }
@@ -211,7 +219,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
         try {
             $shipment = $this->_initShipment();
             if (!$shipment) {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
 
@@ -330,8 +338,8 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
                 $shipment->addTrack($track)
                     ->save();
 
-                $this->loadLayout();
-                $response = $this->getLayout()->getBlock('shipment_tracking')->toHtml();
+                $this->_view->loadLayout();
+                $response = $this->_view->getLayout()->getBlock('shipment_tracking')->toHtml();
             } else {
                 $response = array(
                     'error'     => true,
@@ -367,8 +375,8 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
                 if ($this->_initShipment()) {
                     $track->delete();
 
-                    $this->loadLayout();
-                    $response = $this->getLayout()->getBlock('shipment_tracking')->toHtml();
+                    $this->_view->loadLayout();
+                    $response = $this->_view->getLayout()->getBlock('shipment_tracking')->toHtml();
                 } else {
                     $response = array(
                         'error'     => true,
@@ -454,8 +462,8 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
             $shipment->sendUpdateEmail(!empty($data['is_customer_notified']), $data['comment']);
             $shipment->save();
 
-            $this->loadLayout(false);
-            $response = $this->getLayout()->getBlock('shipment_comments')->toHtml();
+            $this->_view->loadLayout(false);
+            $response = $this->_view->getLayout()->getBlock('shipment_comments')->toHtml();
         } catch (\Magento\Core\Exception $e) {
             $response = array(
                 'error'     => true,
@@ -572,7 +580,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
                     $pdfContent = $pdf->render();
                 }
 
-                return $this->_prepareDownloadResponse(
+                return $this->_fileFactory->create(
                     'ShippingLabel(' . $shipment->getIncrementId() . ').pdf',
                     $pdfContent,
                     'application/pdf'
@@ -601,13 +609,13 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
 
         if ($shipment) {
             $pdf = $this->_objectManager->create('Magento\Sales\Model\Order\Pdf\Shipment\Packaging')->getPdf($shipment);
-            $this->_prepareDownloadResponse(
+            return $this->_fileFactory->create(
                 'packingslip' . $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s') . '.pdf',
                 $pdf->render(),
                 'application/pdf'
             );
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -654,7 +662,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
 
         if (!empty($labelsContent)) {
             $outputPdf = $this->_combineLabelsPdf($labelsContent);
-            $this->_prepareDownloadResponse('ShippingLabels.pdf', $outputPdf->render(), 'application/pdf');
+            $this->_fileFactory->create('ShippingLabels.pdf', $outputPdf->render(), 'application/pdf');
             return;
         }
 
@@ -734,7 +742,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     {
         $this->_initShipment();
         return $this->getResponse()->setBody(
-            $this->getLayout()
+            $this->_view->getLayout()
                 ->createBlock('Magento\Sales\Block\Adminhtml\Order\Shipment\Packaging\Grid')
                 ->setIndex($this->getRequest()->getParam('index'))
                 ->toHtml()
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status.php
index 3cc88cfed64..d943c7d9e4e 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Status.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Status.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Order;
 
-class Status extends \Magento\Backend\Controller\Adminhtml\Action
+class Status extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +43,11 @@ class Status extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -75,8 +75,10 @@ class Status extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Order Status'));
-        $this->loadLayout()->_setActiveMenu('Magento_Sales::system_order_statuses')->renderLayout();
+        $this->_title->add(__('Order Status'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::system_order_statuses');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -90,10 +92,11 @@ class Status extends \Magento\Backend\Controller\Adminhtml\Action
                 ->setData($data);
             $this->_coreRegistry->register('current_status', $status);
         }
-        $this->_title(__('Order Status'))->_title(__('Create New Order Status'));
-        $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::system_order_statuses')
-                ->renderLayout();
+        $this->_title->add(__('Order Status'));
+        $this->_title->add(__('Create New Order Status'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::system_order_statuses');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -104,10 +107,11 @@ class Status extends \Magento\Backend\Controller\Adminhtml\Action
         $status = $this->_initStatus();
         if ($status) {
             $this->_coreRegistry->register('current_status', $status);
-            $this->_title(__('Order Status'))->_title(__('Edit Order Status'));
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::system_order_statuses')
-                ->renderLayout();
+            $this->_title->add(__('Order Status'));
+            $this->_title->add(__('Edit Order Status'));
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::system_order_statuses');
+            $this->_view->renderLayout();
         } else {
             $this->_getSession()->addError(
                 __('We can\'t find this order status.')
@@ -181,10 +185,11 @@ class Status extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function assignAction()
     {
-        $this->_title(__('Order Status'))->_title(__('Assign Order Status to State'));
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::system_order_statuses')
-            ->renderLayout();
+        $this->_title->add(__('Order Status'));
+        $this->_title->add(__('Assign Order Status to State'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::system_order_statuses');
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage.php
index 111f0a7fa96..5a31069c3ff 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/View/Giftmessage.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Order\View;
 
-class Giftmessage extends \Magento\Backend\Controller\Adminhtml\Action
+class Giftmessage extends \Magento\Backend\App\Action
 {
     public function saveAction()
     {
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Recurring/Profile.php b/app/code/Magento/Sales/Controller/Adminhtml/Recurring/Profile.php
index 94e36507b95..0e6f98c7436 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Recurring/Profile.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Recurring/Profile.php
@@ -31,7 +31,9 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Recurring;
 
-class Profile extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\App\Action\NotFoundException;
+
+class Profile extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -41,11 +43,11 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -57,10 +59,10 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Recurring Billing Profiles'))
-            ->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_recurring_profile')
-            ->renderLayout();
+        $this->_title->add(__('Recurring Billing Profiles'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_recurring_profile');
+        $this->_view->renderLayout();
         return $this;
     }
 
@@ -70,12 +72,12 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
     public function viewAction()
     {
         try {
-            $this->_title(__('Recurring Billing Profiles'));
+            $this->_title->add(__('Recurring Billing Profiles'));
             $profile = $this->_initProfile();
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Sales::sales_recurring_profile')
-                ->_title(__('Profile #%1', $profile->getReferenceId()))
-                ->renderLayout();
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Sales::sales_recurring_profile');
+            $this->_title->add(__('Profile #%1', $profile->getReferenceId()));
+            $this->_view->renderLayout();
             return;
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
@@ -91,7 +93,7 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
     public function gridAction()
     {
         try {
-            $this->loadLayout()->renderLayout();
+            $this->_view->loadLayout()->renderLayout();
             return;
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
@@ -103,15 +105,17 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
 
     /**
      * Profile orders ajax grid
+     *
+     * @throws NotFoundException
      */
     public function ordersAction()
     {
         try {
             $this->_initProfile();
-            $this->loadLayout()->renderLayout();
+            $this->_view->loadLayout()->renderLayout();
         } catch (\Exception $e) {
             $this->_objectManager->get('Magento\Logger')->logException($e);
-            $this->norouteAction();
+            throw new NotFoundException();
         }
     }
 
@@ -184,8 +188,8 @@ class Profile extends \Magento\Backend\Controller\Adminhtml\Action
     public function customerGridAction()
     {
         $this->_initCustomer();
-        $this->loadLayout(false)
-            ->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Shipment.php b/app/code/Magento/Sales/Controller/Adminhtml/Shipment.php
index 5231462ee59..5ec56277eee 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Shipment.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Shipment.php
@@ -39,8 +39,8 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     public function exportCsvAction()
     {
         $fileName   = 'shipments.csv';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getCsvFile());
     }
 
     /**
@@ -49,7 +49,7 @@ class Shipment extends \Magento\Sales\Controller\Adminhtml\Shipment\AbstractShip
     public function exportExcelAction()
     {
         $fileName   = 'shipments.xml';
-        $grid       = $this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment\Grid');
-        $this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
+        $grid       = $this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment\Grid');
+        return $this->_fileFactory->create($fileName, $grid->getExcelFile($fileName));
     }
 }
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Shipment/AbstractShipment.php b/app/code/Magento/Sales/Controller/Adminhtml/Shipment/AbstractShipment.php
index bd066fd5df6..0ed1470ba8d 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Shipment/AbstractShipment.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Shipment/AbstractShipment.php
@@ -31,8 +31,24 @@
  */
 namespace Magento\Sales\Controller\Adminhtml\Shipment;
 
-class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
+class AbstractShipment extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
     /**
      * Init layout, menu and breadcrumb
      *
@@ -40,8 +56,8 @@ class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_shipment')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_shipment')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Shipments'), __('Shipments'));
         return $this;
@@ -52,11 +68,11 @@ class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Shipments'));
+        $this->_title->add(__('Shipments'));
 
         $this->_initAction()
-            ->_addContent($this->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment'))
-            ->renderLayout();
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Sales\Block\Adminhtml\Shipment'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -67,7 +83,7 @@ class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
         if ($shipmentId = $this->getRequest()->getParam('shipment_id')) {
             $this->_forward('view', 'order_shipment', null, array('come_from'=>'shipment'));
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -86,7 +102,7 @@ class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
                 $pdf->pages = array_merge ($pdf->pages, $pages->pages);
             }
             $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
-            return $this->_prepareDownloadResponse('packingslip' . $date . '.pdf', $pdf->render(), 'application/pdf');
+            return $this->_fileFactory->create('packingslip' . $date . '.pdf', $pdf->render(), 'application/pdf');
         }
         $this->_redirect('sales/*/');
     }
@@ -101,10 +117,10 @@ class AbstractShipment extends \Magento\Backend\Controller\Adminhtml\Action
                 $pdf = $this->_objectManager->create('Magento\Sales\Model\Order\Pdf\Shipment')
                     ->getPdf(array($shipment));
                 $date = $this->_objectManager->get('Magento\Core\Model\Date')->date('Y-m-d_H-i-s');
-                $this->_prepareDownloadResponse('packingslip' . $date . '.pdf', $pdf->render(), 'application/pdf');
+                $this->_fileFactory->create('packingslip' . $date . '.pdf', $pdf->render(), 'application/pdf');
             }
         } else {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php
index d0447eb1fb8..3e5a3bdeb0e 100644
--- a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php
+++ b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php
@@ -31,7 +31,9 @@
  */
 namespace Magento\Sales\Controller\Adminhtml;
 
-class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Transactions extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -41,11 +43,11 @@ class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -66,7 +68,7 @@ class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
         if (!$txn->getId()) {
             $this->_getSession()->addError(__('Please correct the transaction ID and try again.'));
             $this->_redirect('sales/*/');
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             return false;
         }
         $orderId = $this->getRequest()->getParam('order_id');
@@ -82,11 +84,11 @@ class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Transactions'));
+        $this->_title->add(__('Transactions'));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_transactions')
-            ->renderLayout();
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_transactions');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -94,8 +96,8 @@ class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -107,12 +109,12 @@ class Transactions extends \Magento\Backend\Controller\Adminhtml\Action
         if (!$txn) {
             return;
         }
-        $this->_title(__('Transactions'))
-             ->_title(sprintf("#%s", $txn->getTxnId()));
+        $this->_title->add(__('Transactions'));
+        $this->_title->add(sprintf("#%s", $txn->getTxnId()));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sales::sales_transactions')
-            ->renderLayout();
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sales::sales_transactions');
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sales/Controller/Billing/Agreement.php b/app/code/Magento/Sales/Controller/Billing/Agreement.php
index 050f959ceb7..53b92572e27 100644
--- a/app/code/Magento/Sales/Controller/Billing/Agreement.php
+++ b/app/code/Magento/Sales/Controller/Billing/Agreement.php
@@ -29,7 +29,10 @@
  */
 namespace Magento\Sales\Controller\Billing;
 
-class Agreement extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Agreement extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -39,15 +42,23 @@ class Agreement extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\App\Action\Title
+     */
+    protected $_title;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Action\Title $title
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Action\Title $title
     ) {
         $this->_coreRegistry = $coreRegistry;
         parent::__construct($context);
+        $this->_title = $title;
     }
 
     /**
@@ -56,26 +67,28 @@ class Agreement extends \Magento\Core\Controller\Front\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Billing Agreements'));
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->renderLayout();
+        $this->_title->add(__('Billing Agreements'));
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $this->_view->renderLayout();
     }
 
+
     /**
-     * Action predispatch
-     *
      * Check customer authentication
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-        if (!$this->getRequest()->isDispatched()) {
-            return;
+        if (!$request->isDispatched()) {
+            return parent::dispatch($request);
         }
         if (!$this->_getSession()->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
+            $this->_actionFlag->set('', 'no-dispatch', true);
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -87,15 +100,15 @@ class Agreement extends \Magento\Core\Controller\Front\Action
         if (!$agreement = $this->_initAgreement()) {
             return;
         }
-        $this->_title(__('Billing Agreements'))
-            ->_title(__('Billing Agreement # %1', $agreement->getReferenceId()));
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $navigationBlock = $this->getLayout()->getBlock('customer_account_navigation');
+        $this->_title->add(__('Billing Agreements'));
+        $this->_title->add(__('Billing Agreement # %1', $agreement->getReferenceId()));
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation');
         if ($navigationBlock) {
             $navigationBlock->setActive('sales/billing_agreement/');
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -116,7 +129,7 @@ class Agreement extends \Magento\Core\Controller\Front\Action
                     ->setCancelUrl($this->_objectManager->create('Magento\Core\Model\Url')
                         ->getUrl('*/*/cancelWizard', array('payment_method' => $paymentCode)));
 
-                $this->_redirectUrl($agreement->initToken());
+                $this->getResponse()->setRedirect($agreement->initToken());
                 return $this;
             } catch (\Magento\Core\Exception $e) {
                 $this->_getSession()->addError($e->getMessage());
diff --git a/app/code/Magento/Sales/Controller/Download.php b/app/code/Magento/Sales/Controller/Download.php
index 0e786bf34d8..dad4241ca3b 100644
--- a/app/code/Magento/Sales/Controller/Download.php
+++ b/app/code/Magento/Sales/Controller/Download.php
@@ -33,8 +33,25 @@
  */
 namespace Magento\Sales\Controller;
 
-class Download extends \Magento\Core\Controller\Front\Action
+class Download extends \Magento\App\Action\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileResponseFactory;
+
+    /**
+     * @param \Magento\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileResponseFactory
+     */
+    public function __construct(
+        \Magento\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileResponseFactory
+    ) {
+        $this->_fileResponseFactory = $fileResponseFactory;
+        parent::__construct($context);
+    }
+
     /**
      * Custom options downloader
      *
@@ -58,12 +75,12 @@ class Download extends \Magento\Core\Controller\Front\Action
                     throw new \Exception();
                 }
             }
-            $this->_prepareDownloadResponse($info['title'], array(
+            $this->_fileResponseFactory->create($info['title'], array(
                'value' => $filePath,
                'type'  => 'filename'
             ));
         } catch (\Exception $e) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -112,7 +129,7 @@ class Download extends \Magento\Core\Controller\Front\Action
             ->load($this->getRequest()->getParam('id'));
 
         if (!$recurringProfile->getId()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
 
         $orderItemInfo = $recurringProfile->getData('order_item_info');
@@ -120,30 +137,30 @@ class Download extends \Magento\Core\Controller\Front\Action
             $request = unserialize($orderItemInfo['info_buyRequest']);
 
             if ($request['product'] != $orderItemInfo['product_id']) {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
 
             $optionId = $this->getRequest()->getParam('option_id');
             if (!isset($request['options'][$optionId])) {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
             // Check if the product exists
             $product = $this->_objectManager->create('Magento\Catalog\Model\Product')->load($request['product']);
             if (!$product || !$product->getId()) {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
             // Try to load the option
             $option = $product->getOptionById($optionId);
             if (!$option || !$option->getId() || $option->getType() != 'file') {
-                $this->_forward('noRoute');
+                $this->_forward('noroute');
                 return;
             }
             $this->_downloadFileAction($request['options'][$this->getRequest()->getParam('option_id')]);
         } catch (\Exception $e) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
     }
 
@@ -157,7 +174,7 @@ class Download extends \Magento\Core\Controller\Front\Action
         $option = $this->_objectManager->create('Magento\Sales\Model\Quote\Item\Option')->load($quoteItemOptionId);
 
         if (!$option->getId()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return;
         }
 
@@ -176,7 +193,7 @@ class Download extends \Magento\Core\Controller\Front\Action
         if (!$productOption || !$productOption->getId()
             || $productOption->getProductId() != $option->getProductId() || $productOption->getType() != 'file'
         ) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return;
         }
 
@@ -184,7 +201,7 @@ class Download extends \Magento\Core\Controller\Front\Action
             $info = unserialize($option->getValue());
             $this->_downloadFileAction($info);
         } catch (\Exception $e) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
         exit(0);
     }
diff --git a/app/code/Magento/Sales/Controller/Guest.php b/app/code/Magento/Sales/Controller/Guest.php
index 8f630c51cc4..9c4fce3583d 100644
--- a/app/code/Magento/Sales/Controller/Guest.php
+++ b/app/code/Magento/Sales/Controller/Guest.php
@@ -63,9 +63,9 @@ class Guest extends \Magento\Sales\Controller\AbstractController
             return;
         }
 
-        $this->loadLayout();
-        $this->_objectManager->get('Magento\Sales\Helper\Guest')->getBreadcrumbs($this);
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_objectManager->get('Magento\Sales\Helper\Guest')->getBreadcrumbs();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -77,10 +77,10 @@ class Guest extends \Magento\Sales\Controller\AbstractController
             $this->_redirect('customer/account/');
             return;
         }
-        $this->loadLayout();
-        $this->getLayout()->getBlock('head')->setTitle(__('Orders and Returns'));
-        $this->_objectManager->get('Magento\Sales\Helper\Guest')->getBreadcrumbs($this);
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('Orders and Returns'));
+        $this->_objectManager->get('Magento\Sales\Helper\Guest')->getBreadcrumbs();
+        $this->_view->renderLayout();
     }
 
     public function printInvoiceAction()
@@ -101,8 +101,8 @@ class Guest extends \Magento\Sales\Controller\AbstractController
             if (isset($invoice)) {
                 $this->_coreRegistry->register('current_invoice', $invoice);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/guest/form');
         }
@@ -125,8 +125,8 @@ class Guest extends \Magento\Sales\Controller\AbstractController
             if (isset($shipment)) {
                 $this->_coreRegistry->register('current_shipment', $shipment);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/guest/form');
         }
@@ -150,8 +150,8 @@ class Guest extends \Magento\Sales\Controller\AbstractController
             if (isset($creditmemo)) {
                 $this->_coreRegistry->register('current_creditmemo', $creditmemo);
             }
-            $this->loadLayout('print');
-            $this->renderLayout();
+            $this->_view->loadLayout('print');
+            $this->_view->renderLayout();
         } else {
             $this->_redirect('sales/guest/form');
         }
diff --git a/app/code/Magento/Sales/Controller/Order.php b/app/code/Magento/Sales/Controller/Order.php
index 43fa5b52c72..6ead3cd7485 100644
--- a/app/code/Magento/Sales/Controller/Order.php
+++ b/app/code/Magento/Sales/Controller/Order.php
@@ -29,21 +29,25 @@
  */
 namespace Magento\Sales\Controller;
 
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
 class Order extends \Magento\Sales\Controller\AbstractController
 {
     /**
-     * Action predispatch
-     *
      * Check customer authentication for some actions
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
         $loginUrl = $this->_objectManager->get('Magento\Customer\Helper\Data')->getLoginUrl();
 
         if (!$this->_objectManager->get('Magento\Customer\Model\Session')->authenticate($this, $loginUrl)) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -51,15 +55,15 @@ class Order extends \Magento\Sales\Controller\AbstractController
      */
     public function historyAction()
     {
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Catalog\Model\Session');
 
-        $this->getLayout()->getBlock('head')->setTitle(__('My Orders'));
+        $this->_view->getLayout()->getBlock('head')->setTitle(__('My Orders'));
 
-        $block = $this->getLayout()->getBlock('customer.account.link.back');
+        $block = $this->_view->getLayout()->getBlock('customer.account.link.back');
         if ($block) {
-            $block->setRefererUrl($this->_getRefererUrl());
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
         }
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 }
diff --git a/app/code/Magento/Sales/Controller/Recurring/Profile.php b/app/code/Magento/Sales/Controller/Recurring/Profile.php
index 74cff74a97e..596cec0f59d 100644
--- a/app/code/Magento/Sales/Controller/Recurring/Profile.php
+++ b/app/code/Magento/Sales/Controller/Recurring/Profile.php
@@ -29,7 +29,10 @@
  */
 namespace Magento\Sales\Controller\Recurring;
 
-class Profile extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Profile extends \Magento\App\Action\Action
 {
     /**
      *
@@ -45,31 +48,42 @@ class Profile extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\App\Action\Title
+     */
+    protected $_title;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Action\Title $title
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Action\Title $title
     ) {
         $this->_coreRegistry = $coreRegistry;
         parent::__construct($context);
+        $this->_title = $title;
     }
 
     /**
      * Make sure customer is logged in and put it into registry
+     *
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-        if (!$this->getRequest()->isDispatched()) {
-            return;
+        if (!$request->isDispatched()) {
+            return parent::dispatch($request);
         }
         $this->_session = $this->_objectManager->get('Magento\Customer\Model\Session');
         if (!$this->_session->authenticate($this)) {
-            $this->setFlag('', 'no-dispatch', true);
+            $this->_actionFlag->set('', 'no-dispatch', true);
         }
         $this->_coreRegistry->register('current_customer', $this->_session->getCustomer());
+        return parent::dispatch($request);
     }
 
     /**
@@ -77,10 +91,10 @@ class Profile extends \Magento\Core\Controller\Front\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Recurring Billing Profiles'));
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->renderLayout();
+        $this->_title->add(__('Recurring Billing Profiles'));
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -162,14 +176,15 @@ class Profile extends \Magento\Core\Controller\Front\Action
     {
         try {
             $profile = $this->_initProfile();
-            $this->_title(__('Recurring Billing Profiles'))->_title(__('Profile #%1', $profile->getReferenceId()));
-            $this->loadLayout();
-            $this->_initLayoutMessages('Magento\Customer\Model\Session');
-            $navigationBlock = $this->getLayout()->getBlock('customer_account_navigation');
+            $this->_title->add(__('Recurring Billing Profiles'));
+            $this->_title->add(__('Profile #%1', $profile->getReferenceId()));
+            $this->_view->loadLayout();
+            $this->_view->getLayout()->initMessages('Magento\Customer\Model\Session');
+            $navigationBlock = $this->_view->getLayout()->getBlock('customer_account_navigation');
             if ($navigationBlock) {
                 $navigationBlock->setActive('sales/recurring_profile/');
             }
-            $this->renderLayout();
+            $this->_view->renderLayout();
             return;
         } catch (\Magento\Core\Exception $e) {
             $this->_session->addError($e->getMessage());
diff --git a/app/code/Magento/Sales/Helper/Admin.php b/app/code/Magento/Sales/Helper/Admin.php
index aa04a32ed6f..47d1aea6e19 100644
--- a/app/code/Magento/Sales/Helper/Admin.php
+++ b/app/code/Magento/Sales/Helper/Admin.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Sales\Helper;
 
-class Admin extends \Magento\Core\Helper\AbstractHelper
+class Admin extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Sales\Model\Config
@@ -34,18 +34,18 @@ class Admin extends \Magento\Core\Helper\AbstractHelper
     protected $_salesConfig;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Sales\Model\Config $salesConfig
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Helper\Context $context,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\App\Helper\Context $context,
         \Magento\Sales\Model\Config $salesConfig
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Sales/Helper/Guest.php b/app/code/Magento/Sales/Helper/Guest.php
index 6d26213988c..8bea985d11c 100644
--- a/app/code/Magento/Sales/Helper/Guest.php
+++ b/app/code/Magento/Sales/Helper/Guest.php
@@ -57,20 +57,10 @@ class Guest extends \Magento\Core\Helper\Data
      */
     protected $_coreCookie;
 
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_coreApp;
-
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\Session
      */
-    protected $_coreSession;
+    protected $_session;
 
     /**
      * @var \Magento\Sales\Model\OrderFactory
@@ -78,39 +68,39 @@ class Guest extends \Magento\Core\Helper\Data
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Cookie $coreCookie
-     * @param \Magento\Core\Model\App $coreApp
      * @param \Magento\Core\Model\Session $coreSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
+     * @param \Magento\App\ViewInterface $view
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Model\Cookie $coreCookie,
-        \Magento\Core\Model\App $coreApp,
         \Magento\Core\Model\Session $coreSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
+        \Magento\App\ViewInterface $view,
         $dbCompatibleMode = true
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_customerSession = $customerSession;
         $this->_coreCookie = $coreCookie;
-        $this->_coreApp = $coreApp;
-        $this->_coreSession = $coreSession;
+        $this->_session = $coreSession;
         $this->_orderFactory = $orderFactory;
+        $this->_view = $view;
         parent::__construct(
             $context,
             $coreStoreConfig,
@@ -129,18 +119,18 @@ class Guest extends \Magento\Core\Helper\Data
     public function loadValidOrder()
     {
         if ($this->_customerSession->isLoggedIn()) {
-            $this->_coreApp->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/order/history'));
+            $this->_app->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/order/history'));
             return false;
         }
 
-        $post = $this->_coreApp->getRequest()->getPost();
+        $post = $this->_app->getRequest()->getPost();
         $errors = false;
 
         /** @var $order \Magento\Sales\Model\Order */
         $order = $this->_orderFactory->create();
 
         if (empty($post) && !$this->_coreCookie->get($this->_cookieName)) {
-            $this->_coreApp->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/guest/form'));
+            $this->_app->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/guest/form'));
             return false;
         } elseif (!empty($post) && isset($post['oar_order_id']) && isset($post['oar_type'])) {
             $type           = $post['oar_type'];
@@ -194,21 +184,19 @@ class Guest extends \Magento\Core\Helper\Data
             return true;
         }
 
-        $this->_coreSession->addError(
+        $this->_session->addError(
             __('You entered incorrect data. Please try again.')
         );
-        $this->_coreApp->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/guest/form'));
+        $this->_app->getResponse()->setRedirect($this->_urlBuilder->getUrl('sales/guest/form'));
         return false;
     }
 
     /**
      * Get Breadcrumbs for current controller action
-     *
-     * @param  \Magento\Core\Controller\Front\Action $controller
      */
-    public function getBreadcrumbs($controller)
+    public function getBreadcrumbs()
     {
-        $breadcrumbs = $controller->getLayout()->getBlock('breadcrumbs');
+        $breadcrumbs = $this->_view->getLayout()->getBlock('breadcrumbs');
         $breadcrumbs->addCrumb(
             'home',
             array(
diff --git a/app/code/Magento/Sales/Helper/Reorder.php b/app/code/Magento/Sales/Helper/Reorder.php
index 3f6fa04683c..cce18fe35e9 100644
--- a/app/code/Magento/Sales/Helper/Reorder.php
+++ b/app/code/Magento/Sales/Helper/Reorder.php
@@ -39,18 +39,18 @@ class Reorder extends \Magento\Core\Helper\Data
     protected $_customerSession;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\App\State $appState
      * @param \Magento\Customer\Model\Session $customerSession
      * @param bool $dbCompatibleMode
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\App\State $appState,
         \Magento\Customer\Model\Session $customerSession,
diff --git a/app/code/Magento/Sales/Model/Email/Template.php b/app/code/Magento/Sales/Model/Email/Template.php
index 26b8a1db2de..0afe2e529f5 100644
--- a/app/code/Magento/Sales/Model/Email/Template.php
+++ b/app/code/Magento/Sales/Model/Email/Template.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Sales\Model\Email;
 
-class Template extends \Magento\Core\Model\Email\Template
+class Template extends \Magento\Email\Model\Template
 {
     /**
      * @param string $template
diff --git a/app/code/Magento/Sales/Model/Order.php b/app/code/Magento/Sales/Model/Order.php
index ff892f85f59..9aebb0b9d6e 100644
--- a/app/code/Magento/Sales/Model/Order.php
+++ b/app/code/Magento/Sales/Model/Order.php
@@ -416,13 +416,6 @@ class Order extends \Magento\Sales\Model\AbstractModel
      */
     protected $_paymentData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Core store config
      *
@@ -451,12 +444,12 @@ class Order extends \Magento\Sales\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\MailerFactory
+     * @var \Magento\Email\Model\Template\MailerFactory
      */
     protected $_templateMailerFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
@@ -506,8 +499,6 @@ class Order extends \Magento\Sales\Model\AbstractModel
     protected $_carrierFactory;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
@@ -516,20 +507,20 @@ class Order extends \Magento\Sales\Model\AbstractModel
      * @param \Magento\Core\Model\LocaleInterface $coreLocale
      * @param \Magento\Stdlib\DateTime $dateTime
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Sales\Model\ResourceFactory $resourceFactory
-     * @param \Magento\Sales\Model\Order\Config $orderConfig
+     * @param ResourceFactory $resourceFactory
+     * @param Order\Config $orderConfig
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
-     * @param \Magento\Sales\Model\Resource\Order\Item\CollectionFactory $orderItemCollFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $templateMailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
+     * @param Resource\Order\Item\CollectionFactory $orderItemCollFactory
      * @param \Magento\Catalog\Model\Product\Visibility $productVisibility
      * @param \Magento\Tax\Model\Calculation $taxCalculation
-     * @param \Magento\Sales\Model\Service\OrderFactory $serviceOrderFactory
+     * @param Service\OrderFactory $serviceOrderFactory
      * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Sales\Model\Order\Status\HistoryFactory $orderHistoryFactory
+     * @param Order\Status\HistoryFactory $orderHistoryFactory
      * @param \Magento\Tax\Model\Resource\Sales\Order\Tax\CollectionFactory $orderTaxCollFactory
-     * @param \Magento\Sales\Model\CarrierFactory $carrierFactory
+     * @param CarrierFactory $carrierFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -537,7 +528,6 @@ class Order extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
@@ -549,8 +539,8 @@ class Order extends \Magento\Sales\Model\AbstractModel
         \Magento\Sales\Model\ResourceFactory $resourceFactory,
         \Magento\Sales\Model\Order\Config $orderConfig,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $templateMailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
         \Magento\Sales\Model\Resource\Order\Item\CollectionFactory $orderItemCollFactory,
         \Magento\Catalog\Model\Product\Visibility $productVisibility,
         \Magento\Tax\Model\Calculation $taxCalculation,
@@ -564,7 +554,6 @@ class Order extends \Magento\Sales\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_paymentData = $paymentData;
         $this->_salesData = $salesData;
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Sales/Model/Order/Address.php b/app/code/Magento/Sales/Model/Order/Address.php
index 2678eef123c..600a32d43ed 100644
--- a/app/code/Magento/Sales/Model/Order/Address.php
+++ b/app/code/Magento/Sales/Model/Order/Address.php
@@ -91,7 +91,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_orderFactory;
 
     /**
-     * @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 +106,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -121,7 +119,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
         array $data = array()
     ) {
         parent::__construct(
-            $eventManager,
             $directoryData,
             $context,
             $registry,
diff --git a/app/code/Magento/Sales/Model/Order/Creditmemo.php b/app/code/Magento/Sales/Model/Order/Creditmemo.php
index 91408d289e2..72324f31eef 100644
--- a/app/code/Magento/Sales/Model/Order/Creditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Creditmemo.php
@@ -179,13 +179,6 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
      */
     protected $_paymentData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Core store config
      *
@@ -229,32 +222,32 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
     protected $_commentCollFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\MailerFactory
+     * @var \Magento\Email\Model\Template\MailerFactory
      */
     protected $_templateMailerFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\LocaleInterface $coreLocale
-     * @param \Magento\Sales\Model\Order\Creditmemo\Config $creditmemoConfig
+     * @param \Magento\Stdlib\DateTime $dateTime
+     * @param Creditmemo\Config $creditmemoConfig
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Sales\Model\Resource\Order\Creditmemo\Item\CollectionFactory $cmItemCollFactory
      * @param \Magento\Core\Model\CalculatorFactory $calculatorFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Sales\Model\Order\Creditmemo\CommentFactory $commentFactory
+     * @param Creditmemo\CommentFactory $commentFactory
      * @param \Magento\Sales\Model\Resource\Order\Creditmemo\Comment\CollectionFactory $commentCollFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $templateMailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -262,7 +255,6 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
@@ -277,13 +269,12 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\Order\Creditmemo\CommentFactory $commentFactory,
         \Magento\Sales\Model\Resource\Order\Creditmemo\Comment\CollectionFactory $commentCollFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $templateMailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_paymentData = $paymentData;
         $this->_salesData = $salesData;
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Sales/Model/Order/Invoice.php b/app/code/Magento/Sales/Model/Order/Invoice.php
index 25e21dccd3f..f94e8af9426 100644
--- a/app/code/Magento/Sales/Model/Order/Invoice.php
+++ b/app/code/Magento/Sales/Model/Order/Invoice.php
@@ -185,13 +185,6 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
      */
     protected $_paymentData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Core store config
      *
@@ -235,32 +228,32 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
     protected $_commentCollFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\MailerFactory
+     * @var \Magento\Email\Model\Template\MailerFactory
      */
     protected $_templateMailerFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\LocaleInterface $coreLocale
-     * @param \Magento\Sales\Model\Order\Invoice\Config $invoiceConfig
+     * @param \Magento\Stdlib\DateTime $dateTime
+     * @param Invoice\Config $invoiceConfig
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Sales\Model\Resource\OrderFactory $orderResourceFactory
      * @param \Magento\Core\Model\CalculatorFactory $calculatorFactory
      * @param \Magento\Sales\Model\Resource\Order\Invoice\Item\CollectionFactory $invoiceItemCollFactory
-     * @param \Magento\Sales\Model\Order\Invoice\CommentFactory $invoiceCommentFactory
+     * @param Invoice\CommentFactory $invoiceCommentFactory
      * @param \Magento\Sales\Model\Resource\Order\Invoice\Comment\CollectionFactory $commentCollFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $templateMailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -268,7 +261,6 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
@@ -283,13 +275,12 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
         \Magento\Sales\Model\Resource\Order\Invoice\Item\CollectionFactory $invoiceItemCollFactory,
         \Magento\Sales\Model\Order\Invoice\CommentFactory $invoiceCommentFactory,
         \Magento\Sales\Model\Resource\Order\Invoice\Comment\CollectionFactory $commentCollFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $templateMailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_paymentData = $paymentData;
         $this->_salesData = $salesData;
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Sales/Model/Order/Item.php b/app/code/Magento/Sales/Model/Order/Item.php
index e24de1cdf3e..432ea182582 100644
--- a/app/code/Magento/Sales/Model/Order/Item.php
+++ b/app/code/Magento/Sales/Model/Order/Item.php
@@ -218,13 +218,6 @@ class Item extends \Magento\Core\Model\AbstractModel
     protected $_parentItem  = null;
     protected $_children    = array();
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Sales\Model\OrderFactory
      */
@@ -236,7 +229,6 @@ class Item extends \Magento\Core\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @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 +238,6 @@ class Item extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\OrderFactory $orderFactory,
@@ -255,7 +246,6 @@ class Item extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_orderFactory = $orderFactory;
         $this->_productFactory = $productFactory;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
diff --git a/app/code/Magento/Sales/Model/Order/Payment.php b/app/code/Magento/Sales/Model/Order/Payment.php
index 3fc93e3b8fa..98308de75bb 100644
--- a/app/code/Magento/Sales/Model/Order/Payment.php
+++ b/app/code/Magento/Sales/Model/Order/Payment.php
@@ -184,13 +184,6 @@ class Payment extends \Magento\Payment\Model\Info
      */
     protected $_transactionAdditionalInfo = array();
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Sales\Model\Service\Order
      */
@@ -217,7 +210,6 @@ class Payment extends \Magento\Payment\Model\Info
     protected $_storeManager;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -232,7 +224,6 @@ class Payment extends \Magento\Payment\Model\Info
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -246,7 +237,6 @@ class Payment extends \Magento\Payment\Model\Info
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_serviceOrderFactory = $serviceOrderFactory;
         $this->_transactionFactory = $transactionFactory;
         $this->_transactionCollFactory = $transactionCollFactory;
diff --git a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
index 98282ab5a12..c38def57172 100644
--- a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
+++ b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
@@ -145,13 +145,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      */
     protected $_orderWebsiteId = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Sales\Model\Order\PaymentFactory
      */
@@ -168,7 +161,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     protected $_dateFactory;
 
     /**
-     * @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 +171,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\Order\PaymentFactory $paymentFactory,
@@ -189,7 +180,6 @@ class Transaction extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_paymentFactory = $paymentFactory;
         $this->_orderFactory = $orderFactory;
         $this->_dateFactory = $dateFactory;
diff --git a/app/code/Magento/Sales/Model/Order/Shipment.php b/app/code/Magento/Sales/Model/Order/Shipment.php
index 4f3c69a50f6..8d5a87f4693 100644
--- a/app/code/Magento/Sales/Model/Order/Shipment.php
+++ b/app/code/Magento/Sales/Model/Order/Shipment.php
@@ -137,12 +137,12 @@ class Shipment extends \Magento\Sales\Model\AbstractModel
     protected $_commentCollFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\MailerFactory
+     * @var \Magento\Email\Model\Template\MailerFactory
      */
     protected $_templateMailerFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
@@ -159,8 +159,8 @@ class Shipment extends \Magento\Sales\Model\AbstractModel
      * @param \Magento\Sales\Model\Resource\Order\Shipment\Track\CollectionFactory $trackCollFactory
      * @param \Magento\Sales\Model\Order\Shipment\CommentFactory $commentFactory
      * @param \Magento\Sales\Model\Resource\Order\Shipment\Comment\CollectionFactory $commentCollFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $templateMailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -180,8 +180,8 @@ class Shipment extends \Magento\Sales\Model\AbstractModel
         \Magento\Sales\Model\Resource\Order\Shipment\Track\CollectionFactory $trackCollFactory,
         \Magento\Sales\Model\Order\Shipment\CommentFactory $commentFactory,
         \Magento\Sales\Model\Resource\Order\Shipment\Comment\CollectionFactory $commentCollFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $templateMailerFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $templateMailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -532,7 +532,7 @@ class Shipment extends \Magento\Sales\Model\AbstractModel
             $customerName = $order->getCustomerName();
         }
 
-        /** @var $mailer \Magento\Core\Model\Email\Template\Mailer */
+        /** @var $mailer \Magento\Email\Model\Template\Mailer */
         $mailer = $this->_templateMailerFactory->create();
         if ($notifyCustomer) {
             $emailInfo = $this->_emailInfoFactory->create();
diff --git a/app/code/Magento/Sales/Model/Order/Status.php b/app/code/Magento/Sales/Model/Order/Status.php
index dc072cf05b1..9261b707924 100644
--- a/app/code/Magento/Sales/Model/Order/Status.php
+++ b/app/code/Magento/Sales/Model/Order/Status.php
@@ -99,7 +99,7 @@ class Status extends \Magento\Core\Model\AbstractModel
             $this->_getResource()->unassignState($this->getStatus(), $state);
             $this->_getResource()->commit();
             $params = array('status' => $this->getStatus(), 'state' => $state);
-            $this->_eventDispatcher->dispatch('sales_order_status_unassign', $params);
+            $this->_eventManager->dispatch('sales_order_status_unassign', $params);
         } catch (\Exception $e) {
             $this->_getResource()->rollBack();
             throw $e;
diff --git a/app/code/Magento/Sales/Model/Quote.php b/app/code/Magento/Sales/Model/Quote.php
index e09e442f1f7..ed219119323 100644
--- a/app/code/Magento/Sales/Model/Quote.php
+++ b/app/code/Magento/Sales/Model/Quote.php
@@ -207,13 +207,6 @@ class Quote extends \Magento\Core\Model\AbstractModel
      */
     protected $_salesData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Core store config
      *
@@ -257,9 +250,9 @@ class Quote extends \Magento\Core\Model\AbstractModel
     protected $_quoteItemFactory;
 
     /**
-     * @var \Magento\Core\Model\Message
+     * @var \Magento\Message\Factory
      */
-    protected $_message;
+    protected $messageFactory;
 
     /**
      * @var \Magento\Sales\Model\Status\ListFactory
@@ -305,7 +298,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Customer\Model\GroupFactory $customerGroupFactory
      * @param \Magento\Sales\Model\Resource\Quote\Item\CollectionFactory $quoteItemCollFactory
      * @param \Magento\Sales\Model\Quote\ItemFactory $quoteItemFactory
-     * @param \Magento\Core\Model\Message $message
+     * @param \Magento\Message\Factory $messageFactory
      * @param \Magento\Sales\Model\Status\ListFactory $statusListFactory
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Sales\Model\Quote\PaymentFactory $quotePaymentFactory
@@ -319,7 +312,6 @@ class Quote extends \Magento\Core\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Core\Model\Context $context,
@@ -332,7 +324,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
         \Magento\Customer\Model\GroupFactory $customerGroupFactory,
         \Magento\Sales\Model\Resource\Quote\Item\CollectionFactory $quoteItemCollFactory,
         \Magento\Sales\Model\Quote\ItemFactory $quoteItemFactory,
-        \Magento\Core\Model\Message $message,
+        \Magento\Message\Factory $messageFactory,
         \Magento\Sales\Model\Status\ListFactory $statusListFactory,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Sales\Model\Quote\PaymentFactory $quotePaymentFactory,
@@ -343,7 +335,6 @@ class Quote extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_salesData = $salesData;
         $this->_catalogProduct = $catalogProduct;
         $this->_coreStoreConfig = $coreStoreConfig;
@@ -354,7 +345,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
         $this->_customerGroupFactory = $customerGroupFactory;
         $this->_quoteItemCollFactory = $quoteItemCollFactory;
         $this->_quoteItemFactory = $quoteItemFactory;
-        $this->_message = $message;
+        $this->messageFactory = $messageFactory;
         $this->_statusListFactory = $statusListFactory;
         $this->_productFactory = $productFactory;
         $this->_quotePaymentFactory = $quotePaymentFactory;
@@ -1661,7 +1652,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
         }
 
         if (is_string($message)) {
-            $message = $this->_message->error($message);
+            $message = $this->messageFactory->error($message);
         }
 
         $messages[$index] = $message;
@@ -1693,8 +1684,8 @@ class Quote extends \Magento\Core\Model\AbstractModel
     {
         $errors = array();
         foreach ($this->getMessages() as $message) {
-            /* @var $error \Magento\Core\Model\Message\AbstractMessage */
-            if ($message->getType() == \Magento\Core\Model\Message::ERROR) {
+            /* @var $error \Magento\Message\AbstractMessage */
+            if ($message->getType() == \Magento\Message\Factory::ERROR) {
                 array_push($errors, $message);
             }
         }
@@ -1836,7 +1827,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
         }
 
         $message = $messages[$type];
-        if ($message instanceof \Magento\Core\Model\Message\AbstractMessage) {
+        if ($message instanceof \Magento\Message\AbstractMessage) {
             $message = $message->getText();
         } elseif (!is_string($message)) {
             return $this;
diff --git a/app/code/Magento/Sales/Model/Quote/Address.php b/app/code/Magento/Sales/Model/Quote/Address.php
index f1cd3e161a5..659949e3a44 100644
--- a/app/code/Magento/Sales/Model/Quote/Address.php
+++ b/app/code/Magento/Sales/Model/Quote/Address.php
@@ -250,12 +250,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_addressTotalFactory;
 
     /**
-     * @var \Magento\Object\Copy
-     */
-    protected $_objectCopyService;
-
-    /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -265,23 +259,22 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @param \Magento\Directory\Model\CountryFactory $countryFactory
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Customer\Model\AddressFactory $addressFactory
-     * @param \Magento\Sales\Model\Quote\Address\ItemFactory $addressItemFactory
+     * @param Address\ItemFactory $addressItemFactory
      * @param \Magento\Sales\Model\Resource\Quote\Address\Item\CollectionFactory $itemCollFactory
-     * @param \Magento\Sales\Model\Quote\Address\RateFactory $addressRateFactory
+     * @param Address\RateFactory $addressRateFactory
      * @param \Magento\Shipping\Model\ShippingFactory $shippingFactory
      * @param \Magento\Sales\Model\Resource\Quote\Address\Rate\CollectionFactory $rateCollFactory
      * @param \Magento\Shipping\Model\Rate\RequestFactory $rateRequestFactory
-     * @param \Magento\Sales\Model\Quote\Address\Total\CollectorFactory $totalCollectorFactory
-     * @param \Magento\Sales\Model\Quote\Address\TotalFactory $addressTotalFactory
+     * @param Address\Total\CollectorFactory $totalCollectorFactory
+     * @param Address\TotalFactory $addressTotalFactory
      * @param \Magento\Object\Copy $objectCopyService
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -316,7 +309,6 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
         $this->_addressTotalFactory = $addressTotalFactory;
         $this->_objectCopyService = $objectCopyService;
         parent::__construct(
-            $eventManager,
             $directoryData,
             $context,
             $registry,
diff --git a/app/code/Magento/Sales/Model/Quote/Item.php b/app/code/Magento/Sales/Model/Quote/Item.php
index 95199f73772..74a5d7ea70b 100644
--- a/app/code/Magento/Sales/Model/Quote/Item.php
+++ b/app/code/Magento/Sales/Model/Quote/Item.php
@@ -190,13 +190,6 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
      */
     protected $_errorInfos;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\Core\Model\LocaleInterface
      */
@@ -208,7 +201,6 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
     protected $_itemOptionFactory;
 
     /**
-     * @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 +214,6 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Catalog\Model\ProductFactory $productFactory,
@@ -233,7 +224,6 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_errorInfos = $statusListFactory->create();
         $this->_locale = $locale;
         $this->_itemOptionFactory = $itemOptionFactory;
diff --git a/app/code/Magento/Sales/Model/Quote/Payment.php b/app/code/Magento/Sales/Model/Quote/Payment.php
index 296a061d490..2554dff3dc5 100644
--- a/app/code/Magento/Sales/Model/Quote/Payment.php
+++ b/app/code/Magento/Sales/Model/Quote/Payment.php
@@ -77,37 +77,6 @@ class Payment extends \Magento\Payment\Model\Info
 
     protected $_quote;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
-    /**
-     * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\Payment\Helper\Data $paymentData
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Encryption\EncryptorInterface $encryptor
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
-        \Magento\Payment\Helper\Data $paymentData,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Encryption\EncryptorInterface $encryptor,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_eventManager = $eventManager;
-        parent::__construct($paymentData, $context, $registry, $encryptor, $resource, $resourceCollection, $data);
-    }
-
     /**
      * Initialize resource model
      */
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_index.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_index.xml
index ea64a7c7d22..e172280e9d9 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_index.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_index.xml
@@ -111,7 +111,7 @@
                     <block class="Magento\Adminhtml\Block\Template" name="gift_options" template="Magento_Sales::order/giftoptions.phtml">
                         <block class="Magento\Sales\Block\Adminhtml\Order\Create\Giftmessage" template="order/create/giftmessage.phtml" name="giftmessage"/>
                     </block>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
             </block>
         </block>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_data.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_data.xml
index 0e97b9c64d7..fe3896f2619 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_data.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_data.xml
@@ -62,7 +62,7 @@
             <block class="Magento\Adminhtml\Block\Template" name="gift_options" template="Magento_Sales::order/giftoptions.phtml">
                 <block class="Magento\Sales\Block\Adminhtml\Order\Create\Giftmessage" template="order/create/giftmessage.phtml" name="giftmessage"/>
             </block>
-            <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+            <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
         </block>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_items.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_items.xml
index 342847b839d..48ba2ab37f3 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_items.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_create_load_block_items.xml
@@ -32,6 +32,6 @@
                 </block>
             </block>
         </block>
-        <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+        <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_new.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_new.xml
index 88e5265a8b0..7f1d7025dc5 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_new.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_new.xml
@@ -34,7 +34,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                     <block class="Magento\Sales\Block\Adminhtml\Order\Totalbar" name="order_totalbar" template="order/totalbar.phtml"/>
                     <block class="Magento\Sales\Block\Adminhtml\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
                         <block class="Magento\Sales\Block\Adminhtml\Order\Creditmemo\Create\Adjustments" name="adjustments" template="order/creditmemo/create/totals/adjustments.phtml"/>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_updateqty.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_updateqty.xml
index 15553f15632..9ea4985b568 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_updateqty.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_updateqty.xml
@@ -29,7 +29,7 @@
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-        <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+        <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
         <block class="Magento\Sales\Block\Adminhtml\Order\Totalbar" name="order_totalbar" template="order/totalbar.phtml"/>
         <block class="Magento\Sales\Block\Adminhtml\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
             <block class="Magento\Sales\Block\Adminhtml\Order\Creditmemo\Create\Adjustments" name="adjustments" template="order/creditmemo/create/totals/adjustments.phtml"/>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_view.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_view.xml
index 590a3663a4d..00bcfbd0837 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_view.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_creditmemo_view.xml
@@ -34,7 +34,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Comments\View" name="order_comments" template="order/comments/view.phtml">
                     <action method="setParentType">
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_new.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_new.xml
index d61ec84080c..ab9d01d5f65 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_new.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_new.xml
@@ -34,7 +34,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                     <block class="Magento\Sales\Block\Adminhtml\Order\Totalbar" name="order_totalbar" template="order/totalbar.phtml"/>
                     <block class="Magento\Sales\Block\Adminhtml\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
                         <block class="Magento\Sales\Block\Adminhtml\Order\Totals\Tax" name="tax" template="order/totals/tax.phtml"/>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_updateqty.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_updateqty.xml
index 4ea586a7b16..bb65f6231a0 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_updateqty.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_updateqty.xml
@@ -29,7 +29,7 @@
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
         <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-        <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+        <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
         <block class="Magento\Sales\Block\Adminhtml\Order\Totalbar" name="order_totalbar" template="order/totalbar.phtml"/>
         <block class="Magento\Sales\Block\Adminhtml\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
             <block class="Magento\Sales\Block\Adminhtml\Order\Totals\Tax" name="tax" template="order/totals/tax.phtml"/>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_view.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_view.xml
index 91256831620..ce540e07842 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_view.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_invoice_view.xml
@@ -34,7 +34,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Comments\View" name="order_comments" template="order/comments/view.phtml">
                     <action method="setParentType">
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_new.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_new.xml
index b315840b7fe..c27ac017764 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_new.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_new.xml
@@ -41,7 +41,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Renderer\DefaultRenderer" as="default" template="order/shipment/create/items/renderer/default.phtml"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Shipment\Packaging" name="shipment_packaging" template="order/shipment/packaging/popup.phtml"/>
             </block>
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_view.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_view.xml
index 68771ba3130..a53d752e8ee 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_view.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_shipment_view.xml
@@ -41,7 +41,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Renderer\DefaultRenderer" as="default" template="order/shipment/view/items/renderer/default.phtml"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Invoice\Create\Tracking" name="invoice_tracking" template="order/shipment/create/tracking.phtml"/>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Comments\View" name="order_comments" template="order/comments/view.phtml">
diff --git a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_view.xml b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_view.xml
index a796f65243e..641aa08275a 100644
--- a/app/code/Magento/Sales/view/adminhtml/layout/sales_order_view.xml
+++ b/app/code/Magento/Sales/view/adminhtml/layout/sales_order_view.xml
@@ -49,7 +49,7 @@
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Qty" name="column_qty" template="items/column/qty.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name" name="column_name" template="items/column/name.phtml" group="column"/>
                     <block class="Magento\Sales\Block\Adminhtml\Items\Column\Name\Grouped" name="column_name_grouped" template="items/column/name.phtml" group="column"/>
-                    <block class="Magento\Core\Block\Text\ListText" name="order_item_extra_info"/>
+                    <block class="Magento\View\Block\Text\ListText" name="order_item_extra_info"/>
                 </block>
                 <block class="Magento\Sales\Block\Adminhtml\Order\Payment" name="order_payment"/>
                 <block class="Magento\Sales\Block\Adminhtml\Order\View\History" name="order_history" template="order/view/history.phtml"/>
diff --git a/app/code/Magento/Sales/view/email/shipment_new.html b/app/code/Magento/Sales/view/email/shipment_new.html
index 268002c805a..7516bff4297 100644
--- a/app/code/Magento/Sales/view/email/shipment_new.html
+++ b/app/code/Magento/Sales/view/email/shipment_new.html
@@ -13,7 +13,7 @@
 "var order.shipping_address.format('html')":"Shipping Address",
 "var order.shipping_description":"Shipping Description",
 "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
-"block type='Magento\Core\Block\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
+"block type='Magento\View\Block\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
 "var comment":"Shipment Comment"}
 @-->
 <!--@styles
@@ -96,7 +96,7 @@ body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif;
                     </table>
                     <br/>
                     {{layout handle="sales_email_order_shipment_items" shipment=$shipment order=$order}}
-                    {{block type='Magento\Core\Block\Template' area='frontend' template='Magento_Sales::email/shipment/track.phtml' shipment=$shipment order=$order}}
+                    {{block type='Magento\View\Block\Template' area='frontend' template='Magento_Sales::email/shipment/track.phtml' shipment=$shipment order=$order}}
                     <p style="font-size:12px; margin:0 10px 10px 0">{{var comment}}</p>
                 </td>
             </tr>
diff --git a/app/code/Magento/Sales/view/email/shipment_new_guest.html b/app/code/Magento/Sales/view/email/shipment_new_guest.html
index 6375e735d87..c9744c4f556 100644
--- a/app/code/Magento/Sales/view/email/shipment_new_guest.html
+++ b/app/code/Magento/Sales/view/email/shipment_new_guest.html
@@ -12,7 +12,7 @@
 "var order.shipping_address.format('html')":"Shipping Address",
 "var order.shipping_description":"Shipping Description",
 "layout handle=\"sales_email_order_shipment_items\" shipment=$shipment order=$order":"Shipment Items Grid",
-"block type='Magento\Core\Block\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
+"block type='Magento\View\Block\Template' area='frontend' template='email/shipment/track.phtml' shipment=$shipment order=$order":"Shipment Track Details",
 "var comment":"Shipment Comment"}
 @-->
 <!--@styles
@@ -94,7 +94,7 @@ body,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif;
                     </table>
                     <br/>
                     {{layout handle="sales_email_order_shipment_items" shipment=$shipment order=$order}}
-                    {{block type='Magento\Core\Block\Template' area='frontend' template='Magento_Sales::email/shipment/track.phtml' shipment=$shipment order=$order}}
+                    {{block type='Magento\View\Block\Template' area='frontend' template='Magento_Sales::email/shipment/track.phtml' shipment=$shipment order=$order}}
                     <p style="font-size:12px; margin:0 10px 10px 0">{{var comment}}</p>
                 </td>
             </tr>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml
index ee81d2f1fd5..56dab0aeb58 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_creditmemo_items.xml
@@ -35,5 +35,5 @@
             <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
         </block>
     </block>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml
index 460f70256df..f4b71a1e02a 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_invoice_items.xml
@@ -35,5 +35,5 @@
             <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
         </block>
     </block>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_items.xml
index be51800c3cc..d9319b2aa69 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_items.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_items.xml
@@ -39,5 +39,5 @@
             </block>
         </block>
     </block>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_shipment_items.xml b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_shipment_items.xml
index 4832ea1604f..65af8bae6d3 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_email_order_shipment_items.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_email_order_shipment_items.xml
@@ -27,5 +27,5 @@
     <block class="Magento\Sales\Block\Order\Email\Shipment\Items" name="items" template="email/shipment/items.phtml">
         <block class="Magento\Sales\Block\Order\Email\Items\DefaultItems" as="default" template="email/items/shipment/default.phtml"/>
     </block>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml
index 65eca5ac25f..9e3b76ec779 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_creditmemo.xml
@@ -45,5 +45,5 @@
         </block>
     </referenceContainer>
     <update handle="sales_order_info_links"/>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml
index 483fcf55d56..2a043a9834c 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_invoice.xml
@@ -45,5 +45,5 @@
         </block>
     </referenceContainer>
     <update handle="sales_order_info_links"/>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_print.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_print.xml
index 26800320ee7..4a7d0a4b1c0 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_print.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_print.xml
@@ -41,5 +41,5 @@
             </block>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml
index ff1495acf1f..fc90247dbe2 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_printcreditmemo.xml
@@ -37,5 +37,5 @@
             </block>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml
index 9ec6691978c..242df26c379 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_printinvoice.xml
@@ -37,5 +37,5 @@
             </block>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_printshipment.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_printshipment.xml
index 4804aed2ab7..e99fb03cb3a 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_printshipment.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_printshipment.xml
@@ -29,5 +29,5 @@
             <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/shipment/items/renderer/default.phtml"/>
         </block>
     </referenceContainer>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml
index e3d20d51e69..aa77b807dc9 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_shipment.xml
@@ -37,5 +37,5 @@
         </block>
     </referenceContainer>
     <update handle="sales_order_info_links"/>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml b/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml
index 3bdaf1b391c..128fbaa9601 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_order_view.xml
@@ -44,5 +44,5 @@
         </block>
     </referenceContainer>
     <update handle="sales_order_info_links"/>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <block class="Magento\View\Block\Template" name="additional.product.info" template="Magento_Core::template.phtml"/>
 </layout>
diff --git a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_view__tabs.xml b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_view__tabs.xml
index 69193005494..c733d4f48f7 100644
--- a/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_view__tabs.xml
+++ b/app/code/Magento/Sales/view/frontend/layout/sales_recurring_profile_view__tabs.xml
@@ -34,7 +34,7 @@
             <action method="setShouldPrepareInfoTabs">
                 <argument name="value" xsi:type="string">1</argument>
             </action>
-            <block class="Magento\Core\Block\Text" as="profile_info" name="sales.recurring.profile.view.tab.profile" group="info_tabs">
+            <block class="Magento\View\Block\Text" as="profile_info" name="sales.recurring.profile.view.tab.profile" group="info_tabs">
                 <action method="setViewLabel">
                     <argument translate="true" name="value" xsi:type="string">Profile Information</argument>
                 </action>
@@ -43,7 +43,7 @@
                 </action>
             </block>
             <!-- not implemented
-            <block class="Magento\Core\Block\Text" as="history" name="sales.recurring.profile.view.tab.history">
+            <block class="Magento\View\Block\Text" as="history" name="sales.recurring.profile.view.tab.history">
                 <action method="addToParentGroup">
                     <argument name="value" xsi:type="string">info_tabs</argument>
                 </action>
@@ -55,7 +55,7 @@
                 </action>
             </block>
             -->
-            <block class="Magento\Core\Block\Text" as="related_orders" name="sales.recurring.profile.view.tab.orders" group="info_tabs">
+            <block class="Magento\View\Block\Text" as="related_orders" name="sales.recurring.profile.view.tab.orders" group="info_tabs">
                 <action method="setViewLabel">
                     <argument translate="true" name="value" xsi:type="string">Related Orders</argument>
                 </action>
@@ -64,7 +64,7 @@
                 </action>
             </block>
             <!-- not implemented
-            <block class="Magento\Core\Block\Text" as="vendor_info" name="sales.recurring.profile.view.tab.vendor">
+            <block class="Magento\View\Block\Text" as="vendor_info" name="sales.recurring.profile.view.tab.vendor">
                 <action method="addToParentGroup">
                     <argument name="value" xsi:type="string">info_tabs</argument>
                 </action>
diff --git a/app/code/Magento/Sales/view/frontend/recurring/grid.phtml b/app/code/Magento/Sales/view/frontend/recurring/grid.phtml
index dadad046132..e3dc07b9509 100644
--- a/app/code/Magento/Sales/view/frontend/recurring/grid.phtml
+++ b/app/code/Magento/Sales/view/frontend/recurring/grid.phtml
@@ -24,7 +24,7 @@
  */
 ?>
 
-<?php /* @var $this \Magento\Core\Block\Template */ ?>
+<?php /* @var $this \Magento\View\Block\Template */ ?>
 <div <?php echo $this->getGridHtmlClass() ? ' class="' . $this->getGridHtmlClass() . '"' : '' ?><?php echo $this->getGridHtmlCss() ? ' style="' . $this->getGridHtmlCss() . '"' : '' ?>>
 
     <?php if ($caption = $this->getGridCaption()): ?>
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit.php
index ad87f52d5b0..448a9a6bf63 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php
index 514c8ce38b0..bfe2ff3655b 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php
@@ -47,30 +47,30 @@ class Actions
      */
     protected $_sourceYesno;
 
-    /**
-     * @param \Magento\Backend\Model\Config\Source\Yesno $sourceYesno
-     * @param \Magento\Rule\Block\Actions $ruleActions
-     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Backend\Model\Config\Source\Yesno $sourceYesno
+     * @param \Magento\Rule\Block\Actions $ruleActions
+     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Backend\Model\Config\Source\Yesno $sourceYesno,
-        \Magento\Rule\Block\Actions $ruleActions,
-        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Backend\Model\Config\Source\Yesno $sourceYesno,
+        \Magento\Rule\Block\Actions $ruleActions,
+        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
+        array $data = array()
+    ) {
         $this->_rendererFieldset = $rendererFieldset;
         $this->_ruleActions = $ruleActions;
         $this->_sourceYesno = $sourceYesno;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Conditions.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Conditions.php
index 0cf0c968e63..d098332594b 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Conditions.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Conditions.php
@@ -42,27 +42,27 @@ class Conditions
      */
     protected $_conditions;
 
-    /**
-     * @param \Magento\Rule\Block\Conditions $conditions
-     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Rule\Block\Conditions $conditions
+     * @param \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Rule\Block\Conditions $conditions,
-        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Rule\Block\Conditions $conditions,
+        \Magento\Backend\Block\Widget\Form\Renderer\Fieldset $rendererFieldset,
+        array $data = array()
+    ) {
         $this->_rendererFieldset = $rendererFieldset;
         $this->_conditions = $conditions;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons.php
index db45eaec6f7..b0e2330e902 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons.php
@@ -46,11 +46,11 @@ class Coupons
 
     /**
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Form.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Form.php
index 651cf4d5d5c..dd44dee5bae 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Form.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Form.php
@@ -44,24 +44,24 @@ class Form
      */
     protected $_salesRuleCoupon = null;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\SalesRule\Helper\Coupon $salesRuleCoupon
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\SalesRule\Helper\Coupon $salesRuleCoupon
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\SalesRule\Helper\Coupon $salesRuleCoupon,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\SalesRule\Helper\Coupon $salesRuleCoupon,
+        array $data = array()
+    ) {
         $this->_salesRuleCoupon = $salesRuleCoupon;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Grid.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Grid.php
index e6946a597ee..8914ddee440 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Grid.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Grid.php
@@ -48,27 +48,25 @@ class Grid extends \Magento\Adminhtml\Block\Widget\Grid
      */
     protected $_salesRuleCoupon;
 
-    /**
-     * @param \Magento\SalesRule\Model\Resource\Coupon\CollectionFactory $salesRuleCoupon
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\SalesRule\Model\Resource\Coupon\CollectionFactory $salesRuleCoupon
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\SalesRule\Model\Resource\Coupon\CollectionFactory $salesRuleCoupon,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\SalesRule\Model\Resource\Coupon\CollectionFactory $salesRuleCoupon,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_salesRuleCoupon = $salesRuleCoupon;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Labels.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Labels.php
index ddfca9b85f3..711950c7a96 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Labels.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Labels.php
@@ -31,30 +31,22 @@ class Labels
     implements \Magento\Backend\Block\Widget\Tab\TabInterface
 {
     /**
-     * Store manager instance
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-    
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
     public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
         \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
-        parent::__construct($coreRegistry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main.php
index 349b0a53de9..7cb3453463c 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main.php
@@ -37,13 +37,6 @@ class Main
     extends \Magento\Backend\Block\Widget\Form\Generic
     implements \Magento\Backend\Block\Widget\Tab\TabInterface
 {
-    /**
-     * Store manager instance
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\System\Store
      */
@@ -60,30 +53,29 @@ class Main
     protected $_salesRule;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\SalesRule\Model\RuleFactory $salesRule
      * @param \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
         \Magento\SalesRule\Model\RuleFactory $salesRule,
         \Magento\Customer\Model\Resource\Group\CollectionFactory $customerGroup,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         array $data = array()
     ) {
-        $this->_storeManager = $context->getStoreManager();
         $this->_systemStore = $systemStore;
         $this->_customerGroup = $customerGroup;
         $this->_salesRule = $salesRule;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main/Renderer/Checkbox.php b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main/Renderer/Checkbox.php
index 9f6aee1ea66..0d989ff35c6 100644
--- a/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main/Renderer/Checkbox.php
+++ b/app/code/Magento/SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main/Renderer/Checkbox.php
@@ -42,16 +42,16 @@ class Checkbox
      */
     protected $_elementFactory;
 
-    /**
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Backend\Block\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Context $context
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Backend\Block\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Context $context,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        array $data = array()
+    ) {
         $this->_elementFactory = $elementFactory;
         parent::__construct($context, $data);
     }
diff --git a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php
index 887d8847b79..0a3d7b0305f 100644
--- a/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php
+++ b/app/code/Magento/SalesRule/Controller/Adminhtml/Promo/Quote.php
@@ -26,7 +26,7 @@
 
 namespace Magento\SalesRule\Controller\Adminhtml\Promo;
 
-class Quote extends \Magento\Backend\Controller\Adminhtml\Action
+class Quote extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -36,20 +36,36 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @var \Magento\Core\Filter\Date
+     */
+    protected $_dateFilter;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     * @param \Magento\Core\Filter\Date $dateFilter
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Response\Http\FileFactory $fileFactory,
+        \Magento\Core\Filter\Date $dateFilter
     ) {
-        $this->_coreRegistry = $coreRegistry;
         parent::__construct($context);
+        $this->_coreRegistry = $coreRegistry;
+        $this->_fileFactory = $fileFactory;
+        $this->_dateFilter = $dateFilter;
     }
 
     protected function _initRule()
     {
-        $this->_title(__('Cart Price Rules'));
+        $this->_title->add(__('Cart Price Rules'));
 
         $this->_coreRegistry->register('current_promo_quote_rule', $this->_objectManager->create('Magento\SalesRule\Model\Rule'));
         $id = (int)$this->getRequest()->getParam('id');
@@ -65,8 +81,8 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
 
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_SalesRule::promo_quote')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_SalesRule::promo_quote')
             ->_addBreadcrumb(__('Promotions'), __('Promotions'))
         ;
         return $this;
@@ -74,11 +90,11 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Cart Price Rules'));
+        $this->_title->add(__('Cart Price Rules'));
 
         $this->_initAction()
-            ->_addBreadcrumb(__('Catalog'), __('Catalog'))
-            ->renderLayout();
+            ->_addBreadcrumb(__('Catalog'), __('Catalog'));
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -101,7 +117,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($model->getRuleId() ? $model->getName() : __('New Cart Price Rule'));
+        $this->_title->add($model->getRuleId() ? $model->getName() : __('New Cart Price Rule'));
 
         // set entered data if was error when we do save
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getPageData(true);
@@ -114,16 +130,16 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_coreRegistry->register('current_promo_quote_rule', $model);
 
-        $this->_initAction()->getLayout()->getBlock('promo_quote_edit')
+        $this->_initAction();
+        $this->_view->getLayout()->getBlock('promo_quote_edit')
             ->setData('action', $this->getUrl('sales_rule/*/save'));
 
-        $this
-            ->_addBreadcrumb(
+        $this->_addBreadcrumb(
                 $id ? __('Edit Rule')
                     : __('New Rule'),
                 $id ? __('Edit Rule')
-                    : __('New Rule'))
-            ->renderLayout();
+                    : __('New Rule'));
+        $this->_view->renderLayout();
 
     }
 
@@ -141,7 +157,9 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
                     'adminhtml_controller_salesrule_prepare_save',
                     array('request' => $this->getRequest()));
                 $data = $this->getRequest()->getPost();
-                $data = $this->_filterDates($data, array('from_date', 'to_date'));
+                $inputFilter = new \Zend_Filter_Input(
+                    array('from_date' => $this->_dateFilter, 'to_date' => $this->_dateFilter), array(), $data);
+                $data = $inputFilter->getUnescaped();
                 $id = $this->getRequest()->getParam('rule_id');
                 if ($id) {
                     $model->load($id);
@@ -290,7 +308,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
     public function applyRulesAction()
     {
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -299,7 +317,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
     public function couponsGridAction()
     {
         $this->_initRule();
-        $this->loadLayout()->renderLayout();
+        $this->_view->loadLayout()->renderLayout();
     }
 
     /**
@@ -313,10 +331,10 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
         $rule = $this->_coreRegistry->registry('current_promo_quote_rule');
         if ($rule->getId()) {
             $fileName = 'coupon_codes.xml';
-            $content = $this->getLayout()
+            $content = $this->_view->getLayout()
                 ->createBlock('Magento\SalesRule\Block\Adminhtml\Promo\Quote\Edit\Tab\Coupons\Grid')
                 ->getExcelFile($fileName);
-            $this->_prepareDownloadResponse($fileName, $content);
+            return $this->_fileFactory->create($fileName, $content);
         } else {
             $this->_redirect('sales_rule/*/detail', array('_current' => true));
             return;
@@ -334,10 +352,10 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
         $rule = $this->_coreRegistry->registry('current_promo_quote_rule');
         if ($rule->getId()) {
             $fileName = 'coupon_codes.csv';
-            $content = $this->getLayout()
+            $content = $this->_view->getLayout()
                 ->createBlock('Magento\SalesRule\Block\Adminhtml\Promo\Quote\Edit\Tab\Coupons\Grid')
                 ->getCsvFile();
-            $this->_prepareDownloadResponse($fileName, $content);
+            return $this->_fileFactory->create($fileName, $content);
         } else {
             $this->_redirect('sales_rule/*/detail', array('_current' => true));
             return;
@@ -353,7 +371,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
         $rule = $this->_coreRegistry->registry('current_promo_quote_rule');
 
         if (!$rule->getId()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
 
         $codesIds = $this->getRequest()->getParam('ids');
@@ -375,7 +393,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
     public function generateAction()
     {
         if (!$this->getRequest()->isAjax()) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return;
         }
         $result = array();
@@ -390,7 +408,8 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
             try {
                 $data = $this->getRequest()->getParams();
                 if (!empty($data['to_date'])) {
-                    $data = array_merge($data, $this->_filterDates($data, array('to_date')));
+                    $inputFilter = new \Zend_Filter_Input(array('to_date' => $this->_dateFilter), array(), $data);
+                    $data = $inputFilter->getUnescaped();
                 }
 
                 /** @var $generator \Magento\SalesRule\Model\Coupon\Massgenerator */
@@ -402,8 +421,8 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
                     $generator->generatePool();
                     $generated = $generator->getGeneratedCount();
                     $this->_getSession()->addSuccess(__('%1 coupon(s) have been generated.', $generated));
-                    $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
-                    $result['messages']  = $this->getLayout()->getMessagesBlock()->getGroupedHtml();
+                    $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
+                    $result['messages']  = $this->_view->getLayout()->getMessagesBlock()->getGroupedHtml();
                 }
             } catch (\Magento\Core\Exception $e) {
                 $result['error'] = $e->getMessage();
@@ -421,7 +440,7 @@ class Quote extends \Magento\Backend\Controller\Adminhtml\Action
     public function chooserAction()
     {
         $uniqId = $this->getRequest()->getParam('uniq_id');
-        $chooserBlock = $this->getLayout()
+        $chooserBlock = $this->_view->getLayout()
             ->createBlock('Magento\CatalogRule\Block\Adminhtml\Promo\Widget\Chooser', '', array('data' => array('id' => $uniqId)));
         $this->getResponse()->setBody($chooserBlock->toHtml());
     }
diff --git a/app/code/Magento/SalesRule/Helper/Coupon.php b/app/code/Magento/SalesRule/Helper/Coupon.php
index 2207d03e440..f4626b3811d 100644
--- a/app/code/Magento/SalesRule/Helper/Coupon.php
+++ b/app/code/Magento/SalesRule/Helper/Coupon.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\SalesRule\Helper;
 
-class Coupon extends \Magento\Core\Helper\AbstractHelper
+class Coupon extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Constants which defines all possible coupon codes formats
@@ -69,12 +69,12 @@ class Coupon extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param array $couponParameters
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         array $couponParameters
     ) {
diff --git a/app/code/Magento/SalesRule/Helper/Data.php b/app/code/Magento/SalesRule/Helper/Data.php
index 362f438ce27..29d8ea29692 100644
--- a/app/code/Magento/SalesRule/Helper/Data.php
+++ b/app/code/Magento/SalesRule/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\SalesRule\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Set store and base price which will be used during discount calculation to item object
diff --git a/app/code/Magento/SalesRule/Model/Plugin/QuoteConfigProductAttributes.php b/app/code/Magento/SalesRule/Model/Plugin/QuoteConfigProductAttributes.php
index f43debbe9bb..ac626c8b0b5 100644
--- a/app/code/Magento/SalesRule/Model/Plugin/QuoteConfigProductAttributes.php
+++ b/app/code/Magento/SalesRule/Model/Plugin/QuoteConfigProductAttributes.php
@@ -31,18 +31,18 @@ class QuoteConfigProductAttributes
     /** @var \Magento\Customer\Model\Session */
     protected $_customerSession;
 
-    /** @var \Magento\Core\Model\StoreManager */
+    /** @var \Magento\Core\Model\StoreManagerInterface */
     protected $_storeManager;
 
     /**
      * @param \Magento\SalesRule\Model\Resource\Rule $ruleResource
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\SalesRule\Model\Resource\Rule $ruleResource,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\StoreManager $storeManager
+        \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_ruleResource = $ruleResource;
         $this->_customerSession = $customerSession;
diff --git a/app/code/Magento/SalesRule/Model/Rule.php b/app/code/Magento/SalesRule/Model/Rule.php
index a75c144cb94..357fce529ad 100644
--- a/app/code/Magento/SalesRule/Model/Rule.php
+++ b/app/code/Magento/SalesRule/Model/Rule.php
@@ -177,13 +177,6 @@ class Rule extends \Magento\Rule\Model\AbstractModel
      */
     protected $_validatedAddresses = array();
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\SalesRule\Model\CouponFactory
      */
@@ -215,7 +208,6 @@ class Rule extends \Magento\Rule\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Data\FormFactory $formFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -231,7 +223,6 @@ class Rule extends \Magento\Rule\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Data\FormFactory $formFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -246,7 +237,6 @@ class Rule extends \Magento\Rule\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_couponFactory = $couponFactory;
         $this->_codegenFactory = $codegenFactory;
         $this->_condCombineFactory = $condCombineFactory;
diff --git a/app/code/Magento/SalesRule/Model/Validator.php b/app/code/Magento/SalesRule/Model/Validator.php
index 217433cadc9..73d6478997e 100644
--- a/app/code/Magento/SalesRule/Model/Validator.php
+++ b/app/code/Magento/SalesRule/Model/Validator.php
@@ -84,13 +84,6 @@ class Validator extends \Magento\Core\Model\AbstractModel
      */
     protected $_taxData = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * @var \Magento\SalesRule\Model\Resource\Rule\CollectionFactory
      */
@@ -113,7 +106,6 @@ 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\Event\ManagerInterface $eventManager
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -126,7 +118,6 @@ 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\Event\ManagerInterface $eventManager,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
@@ -138,7 +129,6 @@ class Validator extends \Magento\Core\Model\AbstractModel
     ) {
         $this->_usageFactory = $usageFactory;
         $this->_collectionFactory = $collectionFactory;
-        $this->_eventManager = $eventManager;
         $this->_taxData = $taxData;
         $this->_couponFactory = $couponFactory;
         $this->_customerFactory = $customerFactory;
diff --git a/app/code/Magento/Sendfriend/Block/Send.php b/app/code/Magento/Sendfriend/Block/Send.php
index b6fb70bf192..e643eba74d5 100644
--- a/app/code/Magento/Sendfriend/Block/Send.php
+++ b/app/code/Magento/Sendfriend/Block/Send.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sendfriend\Block;
 
-class Send extends \Magento\Core\Block\Template
+class Send extends \Magento\View\Block\Template
 {
     /**
      * Sendfriend data
@@ -56,25 +56,25 @@ class Send extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sendfriend\Helper\Data $sendfriendData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sendfriend\Helper\Data $sendfriendData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_customerSession = $customerSession;
         $this->_coreRegistry = $registry;
         $this->_sendfriendData = $sendfriendData;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Sendfriend/Controller/Product.php b/app/code/Magento/Sendfriend/Controller/Product.php
index 3c70dc469fc..3e8047fefd1 100644
--- a/app/code/Magento/Sendfriend/Controller/Product.php
+++ b/app/code/Magento/Sendfriend/Controller/Product.php
@@ -33,7 +33,10 @@
  */
 namespace Magento\Sendfriend\Controller;
 
-class Product extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
+class Product extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -43,51 +46,57 @@ class Product extends \Magento\Core\Controller\Front\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_formKeyValidator;
+
+    /**
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
     ) {
         $this->_coreRegistry = $coreRegistry;
+        $this->_formKeyValidator = $formKeyValidator;
         parent::__construct($context);
     }
 
     /**
-     * Predispatch: check is enable module
+     * Check if module is enabled
      * If allow only for customer - redirect to login page
      *
-     * @return \Magento\Sendfriend\Controller\Product
+     * @param RequestInterface $request
+     * @return mixed
+     * @throws \Magento\App\Action\NotFoundException
      */
-    public function preDispatch()
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         /* @var $helper \Magento\Sendfriend\Helper\Data */
         $helper = $this->_objectManager->get('Magento\Sendfriend\Helper\Data');
         /* @var $session \Magento\Customer\Model\Session */
         $session = $this->_objectManager->get('Magento\Customer\Model\Session');
 
         if (!$helper->isEnabled()) {
-            $this->norouteAction();
-            return $this;
+            throw new NotFoundException();
         }
 
         if (!$helper->isAllowForGuest() && !$session->authenticate($this)) {
-            $this->setFlag('', self::FLAG_NO_DISPATCH, true);
+            $this->_actionFlag->set('', self::FLAG_NO_DISPATCH, true);
             if ($this->getRequest()->getActionName() == 'sendemail') {
                 $session->setBeforeAuthUrl($this->_objectManager
-                        ->create('Magento\Core\Model\Url')
-                        ->getUrl('*/*/send', array(
-                            '_current' => true
-                        )));
+                    ->create('Magento\Core\Model\Url')
+                    ->getUrl('*/*/send', array(
+                        '_current' => true
+                    )));
                 $this->_objectManager->get('Magento\Catalog\Model\Session')
-                    ->setSendfriendFormData($this->getRequest()->getPost());
+                    ->setSendfriendFormData($request->getPost());
             }
         }
-
-        return $this;
+        return parent::dispatch($request);
     }
 
     /**
@@ -148,7 +157,7 @@ class Product extends \Magento\Core\Controller\Front\Action
         $model      = $this->_initSendToFriendModel();
 
         if (!$product) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return;
         }
         /* @var $session \Magento\Catalog\Model\Session */
@@ -160,20 +169,20 @@ class Product extends \Magento\Core\Controller\Front\Action
             );
         }
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages('Magento\Catalog\Model\Session');
 
         $this->_eventManager->dispatch('sendfriend_product', array('product' => $product));
         $data = $catalogSession->getSendfriendFormData();
         if ($data) {
             $catalogSession->setSendfriendFormData(true);
-            $block = $this->getLayout()->getBlock('sendfriend.send');
+            $block = $this->_view->getLayout()->getBlock('sendfriend.send');
             if ($block) {
                 $block->setFormData($data);
             }
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -182,7 +191,7 @@ class Product extends \Magento\Core\Controller\Front\Action
      */
     public function sendmailAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             return $this->_redirect('*/*/send', array('_current' => true));
         }
 
@@ -191,7 +200,7 @@ class Product extends \Magento\Core\Controller\Front\Action
         $data       = $this->getRequest()->getPost();
 
         if (!$product || !$data) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return;
         }
 
@@ -214,7 +223,8 @@ class Product extends \Magento\Core\Controller\Front\Action
             if ($validate === true) {
                 $model->send();
                 $catalogSession->addSuccess(__('The link to a friend was sent.'));
-                $this->_redirectSuccess($product->getProductUrl());
+                $url = $product->getProductUrl();
+                $this->getResponse()->setRedirect($this->_redirect->success($url));
                 return;
             }
             else {
@@ -235,10 +245,9 @@ class Product extends \Magento\Core\Controller\Front\Action
         // save form data
         $catalogSession->setSendfriendFormData($data);
 
-        $this->_redirectError(
-            $this->_objectManager
-                ->create('Magento\Core\Model\Url')
-                ->getUrl('*/*/send', array('_current' => true))
-        );
+        $url = $this->_objectManager
+            ->create('Magento\Core\Model\Url')
+            ->getUrl('*/*/send', array('_current' => true));
+        $this->getResponse()->setRedirect($this->_redirect->error($url));
     }
 }
diff --git a/app/code/Magento/Sendfriend/Helper/Data.php b/app/code/Magento/Sendfriend/Helper/Data.php
index 0abff90891a..f385a0e7175 100644
--- a/app/code/Magento/Sendfriend/Helper/Data.php
+++ b/app/code/Magento/Sendfriend/Helper/Data.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Sendfriend\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const XML_PATH_ENABLED          = 'sendfriend/email/enabled';
     const XML_PATH_ALLOW_FOR_GUEST  = 'sendfriend/email/allow_guest';
@@ -56,11 +56,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Sendfriend/Model/Sendfriend.php b/app/code/Magento/Sendfriend/Model/Sendfriend.php
index d38fd027750..705600f5b4f 100644
--- a/app/code/Magento/Sendfriend/Model/Sendfriend.php
+++ b/app/code/Magento/Sendfriend/Model/Sendfriend.php
@@ -99,7 +99,7 @@ class Sendfriend extends \Magento\Core\Model\AbstractModel
     protected $_catalogImage = null;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_templateFactory;
 
@@ -115,7 +115,7 @@ class Sendfriend extends \Magento\Core\Model\AbstractModel
 
     /**
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Email\TemplateFactory $templateFactory
+     * @param \Magento\Email\Model\TemplateFactory $templateFactory
      * @param \Magento\Core\Model\Translate $translate
      * @param \Magento\Catalog\Helper\Image $catalogImage
      * @param \Magento\Sendfriend\Helper\Data $sendfriendData
@@ -128,7 +128,7 @@ class Sendfriend extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Email\TemplateFactory $templateFactory,
+        \Magento\Email\Model\TemplateFactory $templateFactory,
         \Magento\Core\Model\Translate $translate,
         \Magento\Catalog\Helper\Image $catalogImage,
         \Magento\Sendfriend\Helper\Data $sendfriendData,
@@ -179,7 +179,7 @@ class Sendfriend extends \Magento\Core\Model\AbstractModel
         $translate = $this->_translate;
         $translate->setTranslateInline(false);
 
-        /* @var $mailTemplate \Magento\Core\Model\Email\Template */
+        /* @var $mailTemplate \Magento\Email\Model\Template */
         $mailTemplate = $this->_templateFactory->create();
 
         $message = nl2br(htmlspecialchars($this->getSender()->getMessage()));
diff --git a/app/code/Magento/Shipping/Block/Tracking/Ajax.php b/app/code/Magento/Shipping/Block/Tracking/Ajax.php
index 81bb5990e22..1e077be4cfe 100644
--- a/app/code/Magento/Shipping/Block/Tracking/Ajax.php
+++ b/app/code/Magento/Shipping/Block/Tracking/Ajax.php
@@ -26,7 +26,7 @@
 
 namespace Magento\Shipping\Block\Tracking;
 
-class Ajax extends \Magento\Core\Block\Template
+class Ajax extends \Magento\View\Block\Template
 {
 
 }
diff --git a/app/code/Magento/Shipping/Block/Tracking/Popup.php b/app/code/Magento/Shipping/Block/Tracking/Popup.php
index 05e171a187e..768f21fcea8 100644
--- a/app/code/Magento/Shipping/Block/Tracking/Popup.php
+++ b/app/code/Magento/Shipping/Block/Tracking/Popup.php
@@ -26,39 +26,29 @@
 
 namespace Magento\Shipping\Block\Tracking;
 
-class Popup extends \Magento\Core\Block\Template
+class Popup extends \Magento\View\Block\Template
 {
     /**
      * Core registry
      *
      * @var \Magento\Core\Model\Registry
      */
-    protected $_coreRegistry;
-
-    /**
-     * Core registry
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
+    protected $_registry;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\LocaleInterface $locale
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\LocaleInterface $locale,
         array $data = array()
     ) {
-        $this->_coreRegistry = $registry;
-        $this->_locale = $locale;
-        parent::__construct($coreData, $context, $data);
+        $this->_registry = $registry;
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -69,7 +59,7 @@ class Popup extends \Magento\Core\Block\Template
     public function getTrackingInfo()
     {
         /* @var $info \Magento\Shipping\Model\Info */
-        $info = $this->_coreRegistry->registry('current_shipping_info');
+        $info = $this->_registry->registry('current_shipping_info');
 
         return $info->getTrackingInfo();
     }
diff --git a/app/code/Magento/Shipping/Controller/Tracking.php b/app/code/Magento/Shipping/Controller/Tracking.php
index 092658e2677..7f867f318de 100644
--- a/app/code/Magento/Shipping/Controller/Tracking.php
+++ b/app/code/Magento/Shipping/Controller/Tracking.php
@@ -34,7 +34,9 @@
 
 namespace Magento\Shipping\Controller;
 
-class Tracking extends \Magento\Core\Controller\Front\Action
+use Magento\App\Action\NotFoundException;
+
+class Tracking extends \Magento\App\Action\Action
 {
     /**
      * Core registry
@@ -54,14 +56,14 @@ class Tracking extends \Magento\Core\Controller\Front\Action
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Shipping\Model\InfoFactory $shippingInfoFactory
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Shipping\Model\InfoFactory $shippingInfoFactory,
@@ -85,8 +87,8 @@ class Tracking extends \Magento\Core\Controller\Front\Action
             $response = '';
             $tracks = $order->getTracksCollection();
 
-            $block = $this->_objectManager->create('Magento\Core\Block\Template');
-            $block->setType('Magento\Core\Block\Template')
+            $block = $this->_objectManager->create('Magento\View\Block\Template');
+            $block->setType('Magento\View\Block\Template')
                 ->setTemplate('order/trackinginfo.phtml');
 
             foreach ($tracks as $track) {
@@ -102,17 +104,18 @@ class Tracking extends \Magento\Core\Controller\Front\Action
     /**
      * Popup action
      * Shows tracking info if it's present, otherwise redirects to 404
+     *
+     * @throws NotFoundException
      */
     public function popupAction()
     {
         $shippingInfoModel = $this->_shippingInfoFactory->create()->loadByHash($this->getRequest()->getParam('hash'));
         $this->_coreRegistry->register('current_shipping_info', $shippingInfoModel);
         if (count($shippingInfoModel->getTrackingInfo()) == 0) {
-            $this->norouteAction();
-            return;
+            throw new NotFoundException();
         }
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
 
diff --git a/app/code/Magento/Shipping/Helper/Data.php b/app/code/Magento/Shipping/Helper/Data.php
index c44210defeb..a66382ed643 100644
--- a/app/code/Magento/Shipping/Helper/Data.php
+++ b/app/code/Magento/Shipping/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Shipping\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Allowed hash keys
@@ -59,13 +59,13 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
diff --git a/app/code/Magento/Shipping/Model/Config/Backend/Tablerate.php b/app/code/Magento/Shipping/Model/Config/Backend/Tablerate.php
index 05a25a27d43..2787709e6bc 100644
--- a/app/code/Magento/Shipping/Model/Config/Backend/Tablerate.php
+++ b/app/code/Magento/Shipping/Model/Config/Backend/Tablerate.php
@@ -44,7 +44,7 @@ class Tablerate extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Shipping\Model\Resource\Carrier\TablerateFactory $tablerateFactory
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -54,7 +54,7 @@ class Tablerate extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Shipping\Model\Resource\Carrier\TablerateFactory $tablerateFactory,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Shipping/view/frontend/layout/shipping_tracking_popup.xml b/app/code/Magento/Shipping/view/frontend/layout/shipping_tracking_popup.xml
index 9d08f3e45c1..5dcef9aa067 100644
--- a/app/code/Magento/Shipping/view/frontend/layout/shipping_tracking_popup.xml
+++ b/app/code/Magento/Shipping/view/frontend/layout/shipping_tracking_popup.xml
@@ -24,11 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <referenceBlock name="root">
-        <action method="setTemplate">
-            <argument name="template" xsi:type="string">popup.phtml</argument>
-        </action>
-    </referenceBlock>
+    <update handle="page_empty" />
     <referenceContainer name="content">
         <block class="Magento\Shipping\Block\Tracking\Popup" name="shipping.tracking.popup" template="tracking/popup.phtml"/>
     </referenceContainer>
diff --git a/app/code/Magento/Shipping/view/frontend/tracking/popup.phtml b/app/code/Magento/Shipping/view/frontend/tracking/popup.phtml
index 66b76bc2434..b94144e3d8a 100644
--- a/app/code/Magento/Shipping/view/frontend/tracking/popup.phtml
+++ b/app/code/Magento/Shipping/view/frontend/tracking/popup.phtml
@@ -19,159 +19,156 @@
  * 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\Shipping\Block\Tracking\Popup */ ?>
 <?php $_results = $this->getTrackingInfo(); ?>
-<div class="page-title title-buttons">
-    <h1><?php echo __('Tracking Information'); ?></h1>
-    <button class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo __('Close Window') ?></span></span></button>
-</div>
-<?php if(sizeof($_results)>0): ?>
-<?php foreach($_results as $shipid => $_result): ?>
-    <?php if($shipid): ?>
-    <h2 class="sub-title"><?php echo __('Shipment #').$shipid; ?></h2>
-    <?php endif; ?>
-    <?php if(sizeof($_result)>0): ?>
-        <?php $rowCount = sizeof($_result); $counter = 1; ?>
-        <?php $_id = 0; foreach($_result as $track): ?>
-            <table class="tracking-table-popup data-table" id="tracking-table-popup-<?php echo $_id ?>">
-                <col width="15%" />
-                <col />
-                <tbody>
-                <?php if(is_object($track)): ?>
-                    <tr>
-                        <th class="label"><?php echo __('Tracking Number:'); ?></th>
-                        <td class="value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
-                    </tr>
-                    <?php if ($track->getCarrierTitle()): ?>
-                    <tr>
-                        <th class="label"><?php echo __('Carrier:'); ?></th>
-                        <td class="value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
-                    </tr>
-                    <?php endif; ?>
-                    <?php if($track->getErrorMessage()): ?>
-                    <tr>
-                        <th class="label"><?php echo __('Error:'); ?></th>
-                        <td class="error"><?php echo __('Tracking information is 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="label"><?php echo __('Info:'); ?></th>
-                        <td class="value"><?php echo $track->getTrackSummary(); ?></td>
-                    </tr>
-                    <?php elseif($track->getUrl()): ?>
-                    <tr>
-                        <th class="label"><?php echo __('Track:'); ?></th>
-                        <td class="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()): ?>
+<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="label"><?php echo __('Status:'); ?></th>
-                            <td class="value"><?php echo $track->getStatus(); ?></td>
+                            <th class="col label"><?php echo __('Tracking Number:'); ?></th>
+                            <td class="col value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
                         </tr>
-                        <?php endif; ?>
-
-                        <?php if ($track->getDeliverydate()): ?>
+                        <?php if ($track->getCarrierTitle()): ?>
                         <tr>
-                            <th class="label"><?php echo __('Delivered on:'); ?></th>
-                            <td class="value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
+                            <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->getSignedby()): ?>
+                        <?php if($track->getErrorMessage()): ?>
                         <tr>
-                            <th class="label"><?php echo __('Signed by:'); ?></th>
-                            <td class="value"><?php echo $track->getSignedby(); ?></td>
+                            <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 endif; ?>
-
-                        <?php if ($track->getDeliveryLocation()): ?>
+                        <?php elseif($track->getTrackSummary()): ?>
                         <tr>
-                            <th class="label"><?php echo __('Delivered to:'); ?></th>
-                            <td class="value"><?php echo $track->getDeliveryLocation(); ?></td>
+                            <th class="col label"><?php echo __('Info:'); ?></th>
+                            <td class="col value"><?php echo $track->getTrackSummary(); ?></td>
                         </tr>
-                        <?php endif; ?>
-
-                        <?php if ($track->getShippedDate()): ?>
+                        <?php elseif($track->getUrl()): ?>
                         <tr>
-                            <th class="label"><?php echo __('Shipped or billed on:'); ?></th>
-                            <td class="value"><?php echo $track->getShippedDate(); ?></td>
+                            <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 endif; ?>
+                        <?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->getService()): ?>
-                        <tr>
-                            <th class="label"><?php echo __('Service Type:'); ?></th>
-                            <td class="value"><?php echo $track->getService(); ?></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->getWeight()): ?>
-                        <tr>
-                            <th class="label"><?php echo __('Weight:'); ?></th>
-                            <td class="value"><?php echo $track->getWeight(); ?></td>
-                        </tr>
+                            <?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 endif; ?>
-                <?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
-                    <!--if the tracking is custom value-->
-                    <tr>
-                        <th class="label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : __('N/A')); ?>:</th>
-                        <td class="value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
-                    </tr>
-                <?php endif; ?>
-                </tbody>
-            </table>
-            <script type="text/javascript">(function($) {$('#tracking-table-popup-<?php echo $_id++ ?>').decorate('table')})(jQuery)</script>
-            <?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
-                <br />
-                <table class="data-table" id="track-history-table-<?php echo $track->getTracking(); ?>">
-                    <col />
-                    <col width="1" />
-                    <col width="1" />
-                    <col />
-                    <thead>
+                    <?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
+                        <?php /* if the tracking is custom value */ ?>
                         <tr>
-                            <th><?php echo __('Location') ?></th>
-                            <th><?php echo __('Date') ?></th>
-                            <th><?php echo __('Local Time') ?></th>
-                            <th><?php echo __('Description') ?></th>
+                            <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>
-                   </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><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
-                            <td><span class="nobr"><?php echo $_detailDate ?></span></td>
-                            <td><span class="nobr"><?php echo $_detailTime ?></span></td>
-                            <td><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
-                        </tr>
-                   <?php endforeach; ?>
-                   </tbody>
+                    <?php endif; ?>
+                    </tbody>
                 </table>
-                <script type="text/javascript">(function($) {$('#track-history-table-<?php echo $track->getTracking(); ?>').decorate('table')})(jQuery)</script>
-            <?php endif; ?>
-            <div class="divider"></div>
-            <?php if($counter!=$rowCount): ?>
-            <?php endif; ?>
-            <?php $counter++; ?>
-        <!--end for each tracking information-->
-        <?php endforeach; ?>
+                <?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++; ?>
+            <?php /* 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><?php echo __('There is no tracking available for this shipment.'); ?></p>
+        <p class="empty"><?php echo __('There is no tracking available.'); ?></p>
     <?php endif; ?>
-
-<?php endforeach; ?>
-<?php else: ?>
-    <p><?php echo __('There is no tracking available.'); ?></p>
-<?php endif; ?>
-<div class="buttons-set">
-    <button type="button" title="<?php echo __('Close Window') ?>" class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo __('Close Window') ?></span></span></button>
-</div>
+    <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/code/Magento/Sitemap/Controller/Adminhtml/Sitemap.php b/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap.php
index 13931fb8b44..faf3fc14353 100644
--- a/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap.php
+++ b/app/code/Magento/Sitemap/Controller/Adminhtml/Sitemap.php
@@ -30,7 +30,9 @@
  */
 namespace Magento\Sitemap\Controller\Adminhtml;
 
-class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Sitemap extends  \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -40,11 +42,11 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -59,8 +61,8 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
     protected function _initAction()
     {
         // load layout, set active menu and breadcrumbs
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Sitemap::catalog_sitemap')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Sitemap::catalog_sitemap')
             ->_addBreadcrumb(
                 __('Catalog'),
                 __('Catalog'))
@@ -76,9 +78,9 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Site Map'));
+        $this->_title->add(__('Site Map'));
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -95,7 +97,7 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->_title(__('Site Map'));
+        $this->_title->add(__('Site Map'));
 
         // 1. Get ID and create model
         $id = $this->getRequest()->getParam('sitemap_id');
@@ -112,7 +114,7 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
             }
         }
 
-        $this->_title($model->getId() ? $model->getSitemapFilename() : __('New Site Map'));
+        $this->_title->add($model->getId() ? $model->getSitemapFilename() : __('New Site Map'));
 
         // 3. Set entered data if was error when we do save
         $data = $this->_objectManager->get('Magento\Adminhtml\Model\Session')->getFormData(true);
@@ -129,8 +131,8 @@ class Sitemap extends  \Magento\Backend\Controller\Adminhtml\Action
                 $id ? __('Edit Sitemap') : __('New Sitemap'),
                 $id ? __('Edit Sitemap') : __('New Sitemap')
             )
-            ->_addContent($this->getLayout()->createBlock('Magento\Adminhtml\Block\Sitemap\Edit'))
-            ->renderLayout();
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Adminhtml\Block\Sitemap\Edit'));
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Sitemap/Helper/Data.php b/app/code/Magento/Sitemap/Helper/Data.php
index daea65d4dee..7ea7ff4c2a8 100644
--- a/app/code/Magento/Sitemap/Helper/Data.php
+++ b/app/code/Magento/Sitemap/Helper/Data.php
@@ -32,7 +32,7 @@
  */
 namespace Magento\Sitemap\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**#@+
      * Limits xpath config settings
@@ -73,11 +73,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Sitemap/Model/Observer.php b/app/code/Magento/Sitemap/Model/Observer.php
index 47721e449c3..49c7858dcf4 100644
--- a/app/code/Magento/Sitemap/Model/Observer.php
+++ b/app/code/Magento/Sitemap/Model/Observer.php
@@ -75,7 +75,7 @@ class Observer
     protected $_collectionFactory;
 
     /**
-     * @var \Magento\Core\Model\Email\TemplateFactory
+     * @var \Magento\Email\Model\TemplateFactory
      */
     protected $_templateFactory;
 
@@ -88,13 +88,13 @@ class Observer
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Sitemap\Model\Resource\Sitemap\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\Translate $translateModel
-     * @param \Magento\Core\Model\Email\TemplateFactory $templateFactory
+     * @param \Magento\Email\Model\TemplateFactory $templateFactory
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Sitemap\Model\Resource\Sitemap\CollectionFactory $collectionFactory,
         \Magento\Core\Model\Translate $translateModel,
-        \Magento\Core\Model\Email\TemplateFactory $templateFactory
+        \Magento\Email\Model\TemplateFactory $templateFactory
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_collectionFactory = $collectionFactory;
@@ -133,7 +133,7 @@ class Observer
             $this->_translateModel->setTranslateInline(false);
 
             $emailTemplate = $this->_templateFactory->create();
-            /* @var $emailTemplate \Magento\Core\Model\Email\Template */
+            /* @var $emailTemplate \Magento\Email\Model\Template */
             $emailTemplate->setDesignConfig(array('area' => 'backend'))
                 ->sendTransactional(
                     $this->_coreStoreConfig->getConfig(self::XML_PATH_ERROR_TEMPLATE),
diff --git a/app/code/Magento/Tax/Block/Adminhtml/Rate/Form.php b/app/code/Magento/Tax/Block/Adminhtml/Rate/Form.php
index 5316acc056b..02954e3541b 100644
--- a/app/code/Magento/Tax/Block/Adminhtml/Rate/Form.php
+++ b/app/code/Magento/Tax/Block/Adminhtml/Rate/Form.php
@@ -74,39 +74,39 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_regionFactory;
 
-    /**
-     * @param \Magento\Directory\Model\RegionFactory $regionFactory
-     * @param \Magento\Directory\Model\Config\Source\Country $country
-     * @param \Magento\Tax\Block\Adminhtml\Rate\Title\Fieldset $fieldset
-     * @param \Magento\Tax\Model\Calculation\RateFactory $rateFactory
-     * @param \Magento\Tax\Model\Calculation\Rate $rate
-     * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Directory\Model\RegionFactory $regionFactory
+     * @param \Magento\Directory\Model\Config\Source\Country $country
+     * @param \Magento\Tax\Block\Adminhtml\Rate\Title\Fieldset $fieldset
+     * @param \Magento\Tax\Model\Calculation\RateFactory $rateFactory
+     * @param \Magento\Tax\Model\Calculation\Rate $rate
+     * @param \Magento\Tax\Helper\Data $taxData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Directory\Model\RegionFactory $regionFactory,
-        \Magento\Directory\Model\Config\Source\Country $country,
-        \Magento\Tax\Block\Adminhtml\Rate\Title\Fieldset $fieldset,
-        \Magento\Tax\Model\Calculation\RateFactory $rateFactory,
-        \Magento\Tax\Model\Calculation\Rate $rate,
-        \Magento\Tax\Helper\Data $taxData,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Directory\Model\RegionFactory $regionFactory,
+        \Magento\Directory\Model\Config\Source\Country $country,
+        \Magento\Tax\Block\Adminhtml\Rate\Title\Fieldset $fieldset,
+        \Magento\Tax\Model\Calculation\RateFactory $rateFactory,
+        \Magento\Tax\Model\Calculation\Rate $rate,
+        \Magento\Tax\Helper\Data $taxData,
+        array $data = array()
+    ) {
         $this->_regionFactory = $regionFactory;
         $this->_country = $country;
         $this->_fieldset = $fieldset;
         $this->_rateFactory = $rateFactory;
         $this->_rate = $rate;
         $this->_taxData = $taxData;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _construct()
@@ -243,7 +243,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
 
         $this->setChild(
             'form_after',
-            $this->getLayout()->createBlock('Magento\Core\Block\Template')
+            $this->getLayout()->createBlock('Magento\View\Block\Template')
                 ->setTemplate('Magento_Tax::rate/js.phtml')
         );
 
diff --git a/app/code/Magento/Tax/Block/Adminhtml/Rate/ImportExport.php b/app/code/Magento/Tax/Block/Adminhtml/Rate/ImportExport.php
index 972d6fed65d..1b24e930122 100644
--- a/app/code/Magento/Tax/Block/Adminhtml/Rate/ImportExport.php
+++ b/app/code/Magento/Tax/Block/Adminhtml/Rate/ImportExport.php
@@ -31,17 +31,17 @@ class ImportExport extends \Magento\Adminhtml\Block\Widget
 {
     protected $_template = 'importExport.phtml';
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->setUseContainer(true);
     }
 }
diff --git a/app/code/Magento/Tax/Block/Adminhtml/Rate/Title.php b/app/code/Magento/Tax/Block/Adminhtml/Rate/Title.php
index 7961349ee2d..3771a3a5598 100644
--- a/app/code/Magento/Tax/Block/Adminhtml/Rate/Title.php
+++ b/app/code/Magento/Tax/Block/Adminhtml/Rate/Title.php
@@ -32,7 +32,7 @@
  */
 namespace Magento\Tax\Block\Adminhtml\Rate;
 
-class Title extends \Magento\Core\Block\Template
+class Title extends \Magento\View\Block\Template
 {
     protected $_titles;
 
@@ -49,22 +49,22 @@ class Title extends \Magento\Core\Block\Template
     protected $_storeFactory;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\StoreFactory $storeFactory
      * @param \Magento\Tax\Model\Calculation\Rate $rate
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\StoreFactory $storeFactory,
         \Magento\Tax\Model\Calculation\Rate $rate,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_rate = $rate;
         $this->_storeFactory = $storeFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getTitles()
diff --git a/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit.php b/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit.php
index 2d0bb43b12e..9b9040739b9 100644
--- a/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit.php
+++ b/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit.php
@@ -39,20 +39,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit/Form.php b/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit/Form.php
index 4902c5520df..45a94a4b1be 100644
--- a/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit/Form.php
+++ b/app/code/Magento/Tax/Block/Adminhtml/Rule/Edit/Form.php
@@ -36,24 +36,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_rateFactory;
 
-    /**
-     * @param \Magento\Tax\Model\Calculation\RateFactory $rateFactory
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Tax\Model\Calculation\RateFactory $rateFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Tax\Model\Calculation\RateFactory $rateFactory,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Tax\Model\Calculation\RateFactory $rateFactory,
+        array $data = array()
+    ) {
         $this->_rateFactory = $rateFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Checkout/Discount.php b/app/code/Magento/Tax/Block/Checkout/Discount.php
index a78b07f8652..d3dd5589a8b 100644
--- a/app/code/Magento/Tax/Block/Checkout/Discount.php
+++ b/app/code/Magento/Tax/Block/Checkout/Discount.php
@@ -37,30 +37,27 @@ class Discount extends \Magento\Checkout\Block\Total\DefaultTotal
     protected $_taxConfig;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Sales\Model\Config $salesConfig
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Sales\Model\Config $salesConfig,
         \Magento\Tax\Model\Config $taxConfig,
         array $data = array()
     ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($catalogData, $coreData, $context, $salesConfig, $customerSession, $checkoutSession,
-            $storeManager, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $salesConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Checkout/Grandtotal.php b/app/code/Magento/Tax/Block/Checkout/Grandtotal.php
index 980e97ad3db..5cfe55c58e2 100644
--- a/app/code/Magento/Tax/Block/Checkout/Grandtotal.php
+++ b/app/code/Magento/Tax/Block/Checkout/Grandtotal.php
@@ -44,30 +44,27 @@ class Grandtotal extends \Magento\Checkout\Block\Total\DefaultTotal
     protected $_taxConfig;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Sales\Model\Config $salesConfig
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Sales\Model\Config $salesConfig,
         \Magento\Tax\Model\Config $taxConfig,
         array $data = array()
     ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($catalogData, $coreData, $context, $salesConfig, $customerSession, $checkoutSession,
-            $storeManager, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $salesConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Checkout/Shipping.php b/app/code/Magento/Tax/Block/Checkout/Shipping.php
index f62e8f057d0..8dca7525714 100644
--- a/app/code/Magento/Tax/Block/Checkout/Shipping.php
+++ b/app/code/Magento/Tax/Block/Checkout/Shipping.php
@@ -44,30 +44,27 @@ class Shipping extends \Magento\Checkout\Block\Total\DefaultTotal
     protected $_taxConfig;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Sales\Model\Config $salesConfig
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Sales\Model\Config $salesConfig,
         \Magento\Tax\Model\Config $taxConfig,
         array $data = array()
     ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($catalogData, $coreData, $context, $salesConfig, $customerSession, $checkoutSession,
-            $storeManager, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $salesConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Checkout/Subtotal.php b/app/code/Magento/Tax/Block/Checkout/Subtotal.php
index 25a3959b6c2..d2889222c43 100644
--- a/app/code/Magento/Tax/Block/Checkout/Subtotal.php
+++ b/app/code/Magento/Tax/Block/Checkout/Subtotal.php
@@ -44,30 +44,27 @@ class Subtotal extends \Magento\Checkout\Block\Total\DefaultTotal
     protected $_taxConfig;
 
     /**
-     * @param \Magento\Catalog\Helper\Data $catalogData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Sales\Model\Config $salesConfig
+     * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Sales\Model\Config $salesConfig
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Catalog\Helper\Data $catalogData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Sales\Model\Config $salesConfig,
+        \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Sales\Model\Config $salesConfig,
         \Magento\Tax\Model\Config $taxConfig,
         array $data = array()
     ) {
         $this->_taxConfig = $taxConfig;
-        parent::__construct($catalogData, $coreData, $context, $salesConfig, $customerSession,
-            $checkoutSession, $storeManager, $data);
+        parent::__construct($context, $coreData, $catalogData, $customerSession, $checkoutSession, $salesConfig, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Block/Sales/Order/Tax.php b/app/code/Magento/Tax/Block/Sales/Order/Tax.php
index aaeae5387c1..37af06d6740 100644
--- a/app/code/Magento/Tax/Block/Sales/Order/Tax.php
+++ b/app/code/Magento/Tax/Block/Sales/Order/Tax.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Tax\Block\Sales\Order;
 
-class Tax extends \Magento\Core\Block\Template
+class Tax extends \Magento\View\Block\Template
 {
     /**
      * Tax configuration model
@@ -41,19 +41,19 @@ class Tax extends \Magento\Core\Block\Template
     protected $_source;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Tax\Model\Config $taxConfig
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Tax\Model\Config $taxConfig,
         array $data = array()
     ) {
         $this->_config = $taxConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Controller/Adminhtml/Rate.php b/app/code/Magento/Tax/Controller/Adminhtml/Rate.php
index a71debda121..a75cf47a8a2 100644
--- a/app/code/Magento/Tax/Controller/Adminhtml/Rate.php
+++ b/app/code/Magento/Tax/Controller/Adminhtml/Rate.php
@@ -34,19 +34,36 @@
 
 namespace Magento\Tax\Controller\Adminhtml;
 
-class Rate extends \Magento\Backend\Controller\Adminhtml\Action
+class Rate extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+
     /**
      * Show Main Grid
      *
      */
     public function indexAction()
     {
-        $this->_title(__('Tax Zones and Rates'));
+        $this->_title->add(__('Tax Zones and Rates'));
 
         $this->_initAction()
             ->_addBreadcrumb(__('Manage Tax Rates'), __('Manage Tax Rates'));
-        $this ->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -58,9 +75,9 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
         $rateModel = $this->_objectManager->get('Magento\Tax\Model\Calculation\Rate')
             ->load(null);
 
-        $this->_title(__('Tax Zones and Rates'));
+        $this->_title->add(__('Tax Zones and Rates'));
 
-        $this->_title(__('New Tax Rate'));
+        $this->_title->add(__('New Tax Rate'));
 
         $rateModel->setData($this->_objectManager->get('Magento\Adminhtml\Model\Session')->getFormData(true));
 
@@ -72,13 +89,13 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
             ->_addBreadcrumb(__('Manage Tax Rates'), __('Manage Tax Rates'), $this->getUrl('tax/rate'))
             ->_addBreadcrumb(__('New Tax Rate'), __('New Tax Rate'))
             ->_addContent(
-                $this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Toolbar\Save')
+                $this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Toolbar\Save')
                 ->assign('header', __('Add New Tax Rate'))
                 ->assign('form',
-                    $this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Form', 'tax_rate_form')
+                    $this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Form', 'tax_rate_form')
                 )
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -113,7 +130,7 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
                 $this->_objectManager->get('Magento\Adminhtml\Model\Session')->addError($e->getMessage());
             }
 
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
             return;
         }
         $this->getResponse()->setRedirect($this->getUrl('tax/rate'));
@@ -179,7 +196,7 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function editAction()
     {
-        $this->_title(__('Tax Zones and Rates'));
+        $this->_title->add(__('Tax Zones and Rates'));
 
         $rateId = (int)$this->getRequest()->getParam('rate');
         $rateModel = $this->_objectManager->get('Magento\Tax\Model\Calculation\Rate')->load($rateId);
@@ -192,20 +209,20 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
             $rateModel->setTaxPostcode($rateModel->getZipFrom() . '-' . $rateModel->getZipTo());
         }
 
-        $this->_title(sprintf("%s", $rateModel->getCode()));
+        $this->_title->add(sprintf("%s", $rateModel->getCode()));
 
         $this->_initAction()
             ->_addBreadcrumb(__('Manage Tax Rates'), __('Manage Tax Rates'), $this->getUrl('tax/rate'))
             ->_addBreadcrumb(__('Edit Tax Rate'), __('Edit Tax Rate'))
             ->_addContent(
-                $this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Toolbar\Save')
+                $this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Toolbar\Save')
                 ->assign('header', __('Edit Tax Rate'))
                 ->assign('form',
-                    $this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Form', 'tax_rate_form')
+                    $this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\Form', 'tax_rate_form')
                         ->setShowLegend(true)
                 )
-            )
-            ->renderLayout();
+            );
+        $this->_view->renderLayout();
     }
 
     /**
@@ -283,9 +300,9 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportCsvAction()
     {
-        $this->loadLayout(false);
-        $content = $this->getLayout()->getChildBlock('adminhtml.tax.rate.grid','grid.export');
-        $this->_prepareDownloadResponse('rates.csv', $content->getCsvFile());
+        $this->_view->loadLayout(false);
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.tax.rate.grid','grid.export');
+        return $this->_fileFactory->create('rates.csv', $content->getCsvFile());
     }
 
     /**
@@ -293,20 +310,20 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function exportXmlAction()
     {
-        $this->loadLayout(false);
-        $content = $this->getLayout()->getChildBlock('adminhtml.tax.rate.grid','grid.export');
-        $this->_prepareDownloadResponse('rates.xml', $content->getExcelFile());
+        $this->_view->loadLayout(false);
+        $content = $this->_view->getLayout()->getChildBlock('adminhtml.tax.rate.grid','grid.export');
+        return $this->_fileFactory->create('rates.xml', $content->getExcelFile());
     }
 
     /**
      * Initialize action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Tax::sales_tax_rates')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Tax::sales_tax_rates')
             ->_addBreadcrumb(__('Sales'), __('Sales'))
             ->_addBreadcrumb(__('Tax'), __('Tax'));
         return $this;
@@ -318,15 +335,15 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function importExportAction()
     {
-        $this->_title(__('Tax Zones and Rates'));
+        $this->_title->add(__('Tax Zones and Rates'));
 
-        $this->_title(__('Import and Export Tax Rates'));
+        $this->_title->add(__('Import and Export Tax Rates'));
 
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Tax::system_convert_tax')
-            ->_addContent($this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\ImportExportHeader'))
-            ->_addContent($this->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\ImportExport'))
-            ->renderLayout();
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Tax::system_convert_tax')
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\ImportExportHeader'))
+            ->_addContent($this->_view->getLayout()->createBlock('Magento\Tax\Block\Adminhtml\Rate\ImportExport'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -354,7 +371,7 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')
                 ->addError(__('Invalid file upload attempt'));
         }
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
@@ -419,8 +436,8 @@ class Rate extends \Magento\Backend\Controller\Adminhtml\Action
 
             $content .= $rate->toString($template) . "\n";
         }
-        $this->loadLayout();
-        $this->_prepareDownloadResponse('tax_rates.csv', $content);
+        $this->_view->loadLayout();
+        return $this->_fileFactory->create('tax_rates.csv', $content);
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/Tax/Controller/Adminhtml/Rule.php b/app/code/Magento/Tax/Controller/Adminhtml/Rule.php
index 4084f0bb445..f9c8805e677 100644
--- a/app/code/Magento/Tax/Controller/Adminhtml/Rule.php
+++ b/app/code/Magento/Tax/Controller/Adminhtml/Rule.php
@@ -33,7 +33,9 @@
  */
 namespace Magento\Tax\Controller\Adminhtml;
 
-class Rule extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Rule extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -43,11 +45,11 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -56,9 +58,9 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function indexAction()
     {
-        $this->_title(__('Tax Rules'));
+        $this->_title->add(__('Tax Rules'));
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
 
         return $this;
     }
@@ -70,7 +72,7 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
 
     public function editAction()
     {
-        $this->_title(__('Tax Rules'));
+        $this->_title->add(__('Tax Rules'));
 
         $taxRuleId  = $this->getRequest()->getParam('rule');
         $ruleModel  = $this->_objectManager->create('Magento\Tax\Model\Calculation\Rule');
@@ -89,13 +91,13 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
             $ruleModel->setData($data);
         }
 
-        $this->_title($ruleModel->getId() ? sprintf("%s", $ruleModel->getCode()) : __('New Tax Rule'));
+        $this->_title->add($ruleModel->getId() ? sprintf("%s", $ruleModel->getCode()) : __('New Tax Rule'));
 
         $this->_coreRegistry->register('tax_rule', $ruleModel);
 
         $this->_initAction()
-            ->_addBreadcrumb($taxRuleId ? __('Edit Rule') :  __('New Rule'), $taxRuleId ?  __('Edit Rule') :  __('New Rule'))
-            ->renderLayout();
+            ->_addBreadcrumb($taxRuleId ? __('Edit Rule') :  __('New Rule'), $taxRuleId ?  __('Edit Rule') :  __('New Rule'));
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -125,7 +127,7 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
             }
 
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->setRuleData($postData);
-            $this->_redirectReferer();
+            $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
             return;
         }
         $this->getResponse()->setRedirect($this->getUrl('tax/rule'));
@@ -155,18 +157,18 @@ class Rule extends \Magento\Backend\Controller\Adminhtml\Action
             $this->_objectManager->get('Magento\Adminhtml\Model\Session')->addError(__('Something went wrong deleting this tax rule.'));
         }
 
-        $this->_redirectReferer();
+        $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*')));
     }
 
     /**
      * Initialize action
      *
-     * @return \Magento\Backend\Controller\Adminhtml\Action
+     * @return \Magento\Backend\App\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Tax::sales_tax_rules')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Tax::sales_tax_rules')
             ->_addBreadcrumb(__('Tax'), __('Tax'))
             ->_addBreadcrumb(__('Tax Rules'), __('Tax Rules'));
         return $this;
diff --git a/app/code/Magento/Tax/Controller/Adminhtml/Tax.php b/app/code/Magento/Tax/Controller/Adminhtml/Tax.php
index ee63bfce948..627df4a5681 100644
--- a/app/code/Magento/Tax/Controller/Adminhtml/Tax.php
+++ b/app/code/Magento/Tax/Controller/Adminhtml/Tax.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Tax\Controller\Adminhtml;
 
-class Tax extends \Magento\Backend\Controller\Adminhtml\Action
+class Tax extends \Magento\Backend\App\Action
 {
     /**
      * Save Tax Class via AJAX
diff --git a/app/code/Magento/Tax/Helper/Data.php b/app/code/Magento/Tax/Helper/Data.php
index 971273adba3..cc4dd9bb924 100644
--- a/app/code/Magento/Tax/Helper/Data.php
+++ b/app/code/Magento/Tax/Helper/Data.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Tax\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     const PRICE_CONVERSION_PLUS = 1;
     const PRICE_CONVERSION_MINUS = 2;
@@ -108,7 +108,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Tax\Model\Config $taxConfig
@@ -120,7 +120,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Tax\Model\Config $taxConfig,
diff --git a/app/code/Magento/Tax/Model/Calculation.php b/app/code/Magento/Tax/Model/Calculation.php
index 59748ea26dc..f786d9076af 100644
--- a/app/code/Magento/Tax/Model/Calculation.php
+++ b/app/code/Magento/Tax/Model/Calculation.php
@@ -272,7 +272,7 @@ class Calculation extends \Magento\Core\Model\AbstractModel
             $this->unsRateValue();
             $this->unsCalculationProcess();
             $this->unsEventModuleId();
-            $this->_eventDispatcher->dispatch('tax_rate_data_fetch', array('request' => $request, 'sender' => $this));
+            $this->_eventManager->dispatch('tax_rate_data_fetch', array('request' => $request, 'sender' => $this));
             if (!$this->hasRateValue()) {
                 $rateInfo = $this->_getResource()->getRateInfo($request);
                 $this->setCalculationProcess($rateInfo['process']);
diff --git a/app/code/Magento/Tax/Model/Calculation/Rate.php b/app/code/Magento/Tax/Model/Calculation/Rate.php
index 5f03df955fd..348a0a2db79 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rate.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rate.php
@@ -53,13 +53,6 @@ class Rate extends \Magento\Core\Model\AbstractModel
     protected $_titles = null;
     protected $_titleModel = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * @var \Magento\Directory\Model\RegionFactory
      */
@@ -71,7 +64,6 @@ class Rate extends \Magento\Core\Model\AbstractModel
     protected $_titleFactory;
 
     /**
-     * @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 +73,6 @@ class Rate extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Directory\Model\RegionFactory $regionFactory,
@@ -90,7 +81,6 @@ class Rate extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_regionFactory = $regionFactory;
         $this->_titleFactory = $taxTitleFactory;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
diff --git a/app/code/Magento/Tax/Model/Calculation/Rule.php b/app/code/Magento/Tax/Model/Calculation/Rule.php
index b47da0fc18d..3132ee04c6f 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rule.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rule.php
@@ -69,20 +69,12 @@ class Rule extends \Magento\Core\Model\AbstractModel
      */
     protected $_taxClass;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * @var \Magento\Tax\Model\Calculation
      */
     protected $_calculation;
 
     /**
-     * @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 +85,6 @@ class Rule extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxHelper,
@@ -103,7 +94,6 @@ class Rule extends \Magento\Core\Model\AbstractModel
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_calculation = $calculation;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
 
diff --git a/app/code/Magento/Tax/Model/Config/Price/IncludePrice.php b/app/code/Magento/Tax/Model/Config/Price/IncludePrice.php
index d1137e54abb..52480e0c900 100644
--- a/app/code/Magento/Tax/Model/Config/Price/IncludePrice.php
+++ b/app/code/Magento/Tax/Model/Config/Price/IncludePrice.php
@@ -36,7 +36,7 @@ class IncludePrice extends \Magento\Core\Model\Config\Value
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -46,7 +46,7 @@ class IncludePrice extends \Magento\Core\Model\Config\Value
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\App $app,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Tax/Model/Rate/CsvImportHandler.php b/app/code/Magento/Tax/Model/Rate/CsvImportHandler.php
index b3f3731aa89..8dba3cba894 100644
--- a/app/code/Magento/Tax/Model/Rate/CsvImportHandler.php
+++ b/app/code/Magento/Tax/Model/Rate/CsvImportHandler.php
@@ -171,6 +171,7 @@ class CsvImportHandler
             // skip empty rows
             if (count($dataRow) <= 1) {
                 unset($rateRawData[$rowIndex]);
+                continue;
             }
             // unset invalid fields from data row
             foreach ($dataRow as $fieldIndex => $fieldValue) {
diff --git a/app/code/Magento/Tax/etc/sales.xml b/app/code/Magento/Tax/etc/sales.xml
index 136e916ec08..e4ec4f79cde 100644
--- a/app/code/Magento/Tax/etc/sales.xml
+++ b/app/code/Magento/Tax/etc/sales.xml
@@ -29,24 +29,24 @@
             <item name="tax_subtotal" instance="Magento\Tax\Model\Sales\Total\Quote\Subtotal" sort_order="200"/>
             <item name="tax_shipping" instance="Magento\Tax\Model\Sales\Total\Quote\Shipping" sort_order="300"/>
             <item name="tax" instance="Magento\Tax\Model\Sales\Total\Quote\Tax" sort_order="450">
-                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Tax"/>
                 <renderer name="adminhtml" instance="Magento\Sales\Block\Adminhtml\Order\Create\Totals\Tax"/>
+                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Tax"/>
             </item>
             <item name="subtotal">
-                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Subtotal"/>
                 <renderer name="adminhtml" instance="Magento\Sales\Block\Adminhtml\Order\Create\Totals\Subtotal"/>
+                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Subtotal"/>
             </item>
             <item name="shipping">
-                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Shipping"/>
                 <renderer name="adminhtml" instance="Magento\Sales\Block\Adminhtml\Order\Create\Totals\Shipping"/>
+                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Shipping"/>
             </item>
             <item name="discount">
-                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Discount"/>
                 <renderer name="adminhtml" instance="Magento\Sales\Block\Adminhtml\Order\Create\Totals\Discount"/>
+                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Discount"/>
             </item>
             <item name="grand_total">
-                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Grandtotal"/>
                 <renderer name="adminhtml" instance="Magento\Sales\Block\Adminhtml\Order\Create\Totals\Grandtotal"/>
+                <renderer name="frontend" instance="Magento\Tax\Block\Checkout\Grandtotal"/>
             </item>
         </group>
         <group name="nominal_totals">
diff --git a/app/code/Magento/Tax/view/frontend/checkout/grandtotal.phtml b/app/code/Magento/Tax/view/frontend/checkout/grandtotal.phtml
index 4880152304d..b5508a52bd0 100644
--- a/app/code/Magento/Tax/view/frontend/checkout/grandtotal.phtml
+++ b/app/code/Magento/Tax/view/frontend/checkout/grandtotal.phtml
@@ -19,39 +19,37 @@
  * 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\Tax\Block\Checkout\Grandtotal
- * @see \Magento\Tax\Block\Checkout\Grandtotal
  */
 ?>
 <?php if ($this->includeTax() && $this->getTotalExclTax()>=0):?>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals grand 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="a-right">
+    <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>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals grand 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="a-right">
+    <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>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="grand totals">
+    <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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
     </td>
 </tr>
diff --git a/app/code/Magento/Tax/view/frontend/checkout/shipping.phtml b/app/code/Magento/Tax/view/frontend/checkout/shipping.phtml
index 9ca9c4e6adb..6ef7b85313e 100644
--- a/app/code/Magento/Tax/view/frontend/checkout/shipping.phtml
+++ b/app/code/Magento/Tax/view/frontend/checkout/shipping.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -29,37 +28,37 @@
  */
 ?>
 <?php if ($this->displayBoth()):?>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals 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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
     </td>
 </tr>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals 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="a-right">
+    <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>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals 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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingIncludeTax()) ?>
     </td>
 </tr>
 <?php else:?>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals 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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
     </td>
 </tr>
diff --git a/app/code/Magento/Tax/view/frontend/checkout/subtotal.phtml b/app/code/Magento/Tax/view/frontend/checkout/subtotal.phtml
index bebb5a10887..6a0771d4fbe 100644
--- a/app/code/Magento/Tax/view/frontend/checkout/subtotal.phtml
+++ b/app/code/Magento/Tax/view/frontend/checkout/subtotal.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -29,28 +28,28 @@
  */
 ?>
 <?php if ($this->displayBoth()):?>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals sub 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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValueExclTax()) ?>
     </td>
 </tr>
-<tr>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals sub 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="a-right">
+    <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>
-    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<tr class="totals sub">
+    <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="a-right">
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
     </td>
 </tr>
diff --git a/app/code/Magento/Tax/view/frontend/checkout/tax.phtml b/app/code/Magento/Tax/view/frontend/checkout/tax.phtml
index c00c8d788d3..98d93d74160 100644
--- a/app/code/Magento/Tax/view/frontend/checkout/tax.phtml
+++ b/app/code/Magento/Tax/view/frontend/checkout/tax.phtml
@@ -19,7 +19,6 @@
  * 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)
  */
@@ -43,8 +42,8 @@
         <?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(); ?>">
+        <tr class="totals tax details details-<?php echo $taxIter; ?>">
+            <td class="mark" 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']; ?>%)
@@ -52,7 +51,7 @@
                 <br />
             </td>
             <?php if ($isFirst): ?>
-                <td style="<?php echo $_style ?>" class="a-right" rowspan="<?php echo count($rates); ?>">
+                <td style="<?php echo $_style ?>" class="amount" rowspan="<?php echo count($rates); ?>">
                     <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($amount); ?>
                 </td>
             <?php endif; ?>
@@ -62,13 +61,20 @@
         <?php endforeach; ?>
     <?php endforeach; ?>
 <?php endif;?>
-<tr <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0): ?> class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')"<?php endif; ?>>
-    <td style="<?php echo $_style ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
+<?php
+    $attributes = 'class="totals tax"';
+    if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0) {
+        $attributes = 'class="totals tax summary"';
+    }
+?>
+
+<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>
+            <div class="detailed"><?php echo $this->getTotal()->getTitle() ?></div>
         <?php else: ?>
             <?php echo $this->getTotal()->getTitle() ?>
         <?php endif;?>
     </td>
-    <td style="<?php echo $_style ?>" class="a-right"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_value) ?></td>
+    <td style="<?php echo $_style ?>" class="amount"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_value) ?></td>
 </tr>
diff --git a/app/code/Magento/Tax/view/frontend/order/tax.phtml b/app/code/Magento/Tax/view/frontend/order/tax.phtml
index e18c5909885..7fd4321c52a 100644
--- a/app/code/Magento/Tax/view/frontend/order/tax.phtml
+++ b/app/code/Magento/Tax/view/frontend/order/tax.phtml
@@ -30,7 +30,6 @@
     $_fullInfo = $_order->getFullTaxInfo();
     global $taxIter; $taxIter++;
 ?>
-<?php  ?>
 
 <?php if ($this->displayFullSummary()): ?>
 <?php $isTop = 1; ?>
@@ -43,8 +42,8 @@
             $isFirst    = 1;
         ?>
         <?php foreach ($rates as $rate): ?>
-        <tr class="summary-details-<?php echo $taxIter; ?> summary-details<?php if ($isTop): echo ' summary-details-first'; endif; ?>"<?php if (!$this->getIsPlaneMode()):?> style="display:none;"<?php endif;?>>
-            <td <?php echo $this->getLabelProperties()?>>
+        <tr class="totals tax details details-<?php echo $taxIter; ?> <?php echo ($this->getIsPlaneMode()) ? ' plane' : '';?>">
+            <td class="mark" <?php echo $this->getLabelProperties()?>>
                 <?php echo $this->escapeHtml($rate['title']); ?>
                 <?php if (!is_null($rate['percent'])): ?>
                     (<?php echo (float)$rate['percent']; ?>%)
@@ -52,7 +51,7 @@
                 <br />
             </td>
             <?php if ($isFirst): ?>
-                <td <?php echo $this->getValueProperties()?> rowspan="<?php echo count($rates); ?>">
+                <td class="amount" <?php echo $this->getValueProperties()?> rowspan="<?php echo count($rates); ?>">
                     <?php echo $_order->formatPrice($amount); ?>
                 </td>
             <?php endif; ?>
@@ -64,18 +63,18 @@
 <?php endif;?>
 
 <?php if ($this->displayFullSummary() && $_fullInfo && !$this->getIsPlaneMode()): ?>
-<tr class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')">
+<tr class="totals tax summary">
 <?php elseif ($this->displayFullSummary() && $_fullInfo && $this->getIsPlaneMode()): ?>
-<tr class="show-details">
+<tr class="totals tax summary plane">
 <?php else: ?>
-<tr>
+<tr class="totals tax">
 <?php endif; ?>
-    <td <?php echo $this->getLabelProperties()?>>
+    <td class="mark" <?php echo $this->getLabelProperties()?>>
         <?php if ($this->displayFullSummary()): ?>
-            <div class="summary-collapse"><?php echo __('Tax'); ?></div>
+            <div class="detailed"><?php echo __('Tax'); ?></div>
         <?php else: ?>
             <?php echo __('Tax'); ?>
         <?php endif;?>
     </td>
-    <td <?php echo $this->getValueProperties()?>><?php echo $_order->formatPrice($_source->getTaxAmount()) ?></td>
+    <td class="amount" <?php echo $this->getValueProperties()?>><?php echo $_order->formatPrice($_source->getTaxAmount()) ?></td>
 </tr>
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 480af10a823..6be1972ad42 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
@@ -38,26 +38,26 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
      * Prepare layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/AbstractTab.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/AbstractTab.php
index ab2abbc1440..01565c5b467 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/AbstractTab.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/AbstractTab.php
@@ -48,23 +48,23 @@ abstract class AbstractTab
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\ObjectManager $objectManager
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\ObjectManager $objectManager
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\ObjectManager $objectManager,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\ObjectManager $objectManager,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_objectManager = $objectManager;
     }
 
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/Css.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/Css.php
index a05732f064f..0b1ec6e8af5 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/Css.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/Css.php
@@ -52,25 +52,25 @@ class Css
      */
     protected $_customCssFile;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Theme\Model\Uploader\Service $uploaderService
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\ObjectManager $objectManager
+     * @param \Magento\Theme\Model\Uploader\Service $uploaderService
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\ObjectManager $objectManager,
-        \Magento\Theme\Model\Uploader\Service $uploaderService,
-        array $data = array()
-    ) {
-        parent::__construct($formFactory, $coreData, $context, $registry, $objectManager, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\ObjectManager $objectManager,
+        \Magento\Theme\Model\Uploader\Service $uploaderService,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $objectManager, $data);
         $this->_uploaderService = $uploaderService;
     }
 
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 e1ce4bb991a..793bdd26693 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
@@ -51,29 +51,29 @@ class General
      */
     protected $_fileSize;
 
-    /**
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\View\Design\Theme\Image\PathInterface $themeImagePath
-     * @param \Magento\File\Size $fileSize
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\ObjectManager $objectManager
+     * @param \Magento\View\Design\Theme\Image\PathInterface $themeImagePath
+     * @param \Magento\File\Size $fileSize
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\ObjectManager $objectManager,
-        \Magento\View\Design\Theme\Image\PathInterface $themeImagePath,
-        \Magento\File\Size $fileSize,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\ObjectManager $objectManager,
+        \Magento\View\Design\Theme\Image\PathInterface $themeImagePath,
+        \Magento\File\Size $fileSize,
+        array $data = array()
+    ) {
         $this->_themeImagePath = $themeImagePath;
         $this->_fileSize = $fileSize;
-        parent::__construct($formFactory, $coreData, $context, $registry, $objectManager, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $objectManager, $data);
     }
 
     /**
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 10aeb0df0e3..6fba27a5ab0 100644
--- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
+++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Theme\Controller\Adminhtml\System\Design;
 
-class Theme extends \Magento\Backend\Controller\Adminhtml\Action
+class Theme extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -39,14 +39,22 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
-        \Magento\Core\Model\Registry $coreRegistry
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\App\Response\Http\FileFactory $fileFactory
     ) {
         $this->_coreRegistry = $coreRegistry;
+        $this->_fileFactory = $fileFactory;
         parent::__construct($context);
     }
 
@@ -55,9 +63,9 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Theme::system_design_theme');
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -65,8 +73,8 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -92,9 +100,9 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
             }
             $this->_coreRegistry->register('current_theme', $theme);
 
-            $this->loadLayout();
+            $this->_view->loadLayout();
             /** @var $tab \Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab_Css */
-            $tab = $this->getLayout()->getBlock('theme_edit_tabs_tab_css_tab');
+            $tab = $this->_view->getLayout()->getBlock('theme_edit_tabs_tab_css_tab');
             if ($tab && $tab->canShowTab()) {
                 /** @var $helper \Magento\Core\Helper\Theme */
                 $helper = $this->_objectManager->get('Magento\Core\Helper\Theme');
@@ -102,7 +110,7 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
                 $tab->setFiles($files);
             }
             $this->_setActiveMenu('Magento_Theme::system_design_theme');
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
             $this->_redirect('adminhtml/*/');
@@ -283,7 +291,7 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
             /** @var $customCssFile \Magento\View\Design\Theme\FileInterface */
             $customCssFile = reset($customCssFiles);
             if ($customCssFile && $customCssFile->getContent()) {
-                $this->_prepareDownloadResponse(
+                $this->_fileFactory->create(
                     $customCssFile->getFileName(),
                     array(
                         'type'  => 'filename',
@@ -293,7 +301,7 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
             }
         } catch (\Exception $e) {
             $this->_getSession()->addException($e, __('We cannot find file'));
-            $this->_redirectUrl($this->_getRefererUrl());
+            $this->getResponse()->setRedirect($this->_redirect->getRefererUrl());
             $this->_objectManager->get('Magento\Logger')->logException($e);
         }
     }
@@ -323,13 +331,13 @@ class Theme extends \Magento\Backend\Controller\Adminhtml\Action
                 );
             }
 
-            $this->_prepareDownloadResponse($fileName, array(
+            $this->_fileFactory->create($fileName, array(
                 'type'  => 'filename',
                 'value' => $themeCss[$fileName]['path']
             ));
         } catch (\Exception $e) {
             $this->_getSession()->addException($e, __('We cannot find file "%1".', $fileName));
-            $this->_redirectUrl($this->_getRefererUrl());
+            $this->getResponse()->setRedirect($this->_redirect->getRefererUrl());
             $this->_objectManager->get('Magento\Logger')->logException($e);
         }
     }
diff --git a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files.php b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files.php
index ccff57a2870..9437b247556 100644
--- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files.php
+++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Wysiwyg/Files.php
@@ -29,15 +29,32 @@
  */
 namespace Magento\Theme\Controller\Adminhtml\System\Design\Wysiwyg;
 
-class Files extends \Magento\Backend\Controller\Adminhtml\Action
+class Files extends \Magento\Backend\App\Action
 {
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_fileFactory;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
+     * @param \Magento\App\Response\Http\FileFactory $fileFactory
+     */
+    public function __construct(
+        \Magento\Backend\App\Action\Context $context,
+        \Magento\App\Response\Http\FileFactory $fileFactory
+    ) {
+        $this->_fileFactory = $fileFactory;
+        parent::__construct($context);
+    }
+    
     /**
      * Index action
      */
     public function indexAction()
     {
-        $this->loadLayout('overlay_popup');
-        $this->renderLayout();
+        $this->_view->loadLayout('overlay_popup');
+        $this->_view->renderLayout();
     }
 
     /**
@@ -47,7 +64,7 @@ class Files extends \Magento\Backend\Controller\Adminhtml\Action
     {
         try {
             $this->getResponse()->setBody(
-                $this->getLayout()->createBlock('Magento\Theme\Block\Adminhtml\Wysiwyg\Files\Tree')
+                $this->_view->getLayout()->createBlock('Magento\Theme\Block\Adminhtml\Wysiwyg\Files\Tree')
                     ->getTreeJson($this->_getStorage()->getTreeArray())
             );
         } catch (\Exception $e) {
@@ -94,9 +111,9 @@ class Files extends \Magento\Backend\Controller\Adminhtml\Action
     public function contentsAction()
     {
         try {
-            $this->loadLayout('empty');
-            $this->getLayout()->getBlock('wysiwyg_files.files')->setStorage($this->_getStorage());
-            $this->renderLayout();
+            $this->_view->loadLayout('empty');
+            $this->_view->getLayout()->getBlock('wysiwyg_files.files')->setStorage($this->_getStorage());
+            $this->_view->renderLayout();
 
             $this->_getSession()->setStoragePath(
                 $this->_objectManager->get('Magento\Theme\Helper\Storage')->getCurrentPath()
@@ -130,7 +147,7 @@ class Files extends \Magento\Backend\Controller\Adminhtml\Action
         /** @var $helper \Magento\Theme\Helper\Storage */
         $helper = $this->_objectManager->get('Magento\Theme\Helper\Storage');
         try {
-            $this->_prepareDownloadResponse($file, array(
+            $this->_fileFactory->create($file, array(
                 'type'  => 'filename',
                 'value' => $helper->getThumbnailPath($file)
             ));
diff --git a/app/code/Magento/Theme/Helper/Data.php b/app/code/Magento/Theme/Helper/Data.php
index bac42808f2d..c9d9f4c3a19 100644
--- a/app/code/Magento/Theme/Helper/Data.php
+++ b/app/code/Magento/Theme/Helper/Data.php
@@ -29,6 +29,6 @@
  */
 namespace Magento\Theme\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Theme/Helper/Storage.php b/app/code/Magento/Theme/Helper/Storage.php
index 67ec4f52584..ffd0e16b388 100644
--- a/app/code/Magento/Theme/Helper/Storage.php
+++ b/app/code/Magento/Theme/Helper/Storage.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Theme\Helper;
 
-class Storage extends \Magento\Core\Helper\AbstractHelper
+class Storage extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Parameter name of node
@@ -101,13 +101,13 @@ class Storage extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Backend\Model\Session $session
      * @param \Magento\View\Design\Theme\FlyweightFactory $themeFactory
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
         \Magento\Backend\Model\Session $session,
         \Magento\View\Design\Theme\FlyweightFactory $themeFactory,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         parent::__construct($context);
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Usa/Block/Adminhtml/Dhl/Unitofmeasure.php b/app/code/Magento/Usa/Block/Adminhtml/Dhl/Unitofmeasure.php
index 71676825d0b..b4f4d87c19f 100644
--- a/app/code/Magento/Usa/Block/Adminhtml/Dhl/Unitofmeasure.php
+++ b/app/code/Magento/Usa/Block/Adminhtml/Dhl/Unitofmeasure.php
@@ -48,25 +48,23 @@ class Unitofmeasure extends \Magento\Backend\Block\System\Config\Form\Field
      */
     protected $_shippingDhl;
 
-    /**
-     * @param \Magento\Usa\Model\Shipping\Carrier\Dhl\International $shippingDhl
-     * @param \Magento\Usa\Helper\Data $usaData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\App $application
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Usa\Model\Shipping\Carrier\Dhl\International $shippingDhl
+     * @param \Magento\Usa\Helper\Data $usaData
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Usa\Model\Shipping\Carrier\Dhl\International $shippingDhl,
-        \Magento\Usa\Helper\Data $usaData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\App $application,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Usa\Model\Shipping\Carrier\Dhl\International $shippingDhl,
+        \Magento\Usa\Helper\Data $usaData,
+        array $data = array()
+    ) {
         $this->_shippingDhl = $shippingDhl;
         $this->_usaData = $usaData;
-        parent::__construct($coreData, $context, $application, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Usa/Helper/Data.php b/app/code/Magento/Usa/Helper/Data.php
index be3dfc6aa7c..34c9dcfe0e7 100644
--- a/app/code/Magento/Usa/Helper/Data.php
+++ b/app/code/Magento/Usa/Helper/Data.php
@@ -31,7 +31,7 @@
  */
 namespace Magento\Usa\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * @var \Magento\Core\Model\LocaleInterface
@@ -40,11 +40,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Helper\Context $context
+        \Magento\App\Helper\Context $context
     ) {
         $this->_locale = $locale;
         parent::__construct($context);
diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/Label/Pdf.php b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/Label/Pdf.php
index f497ae128f1..e8b32be7a26 100644
--- a/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/Label/Pdf.php
+++ b/app/code/Magento/Usa/Model/Shipping/Carrier/Dhl/Label/Pdf.php
@@ -110,7 +110,7 @@ class Pdf
                     (string)$piece->LicensePlate,
                     (string)$piece->LicensePlateBarCode
                 );
-            array_push($pdf->pages, $page);
+            $pdf->pages[] = $page;
             $i++;
         }
         return $pdf->render();
diff --git a/app/code/Magento/Usa/Model/Shipping/Carrier/Ups.php b/app/code/Magento/Usa/Model/Shipping/Carrier/Ups.php
index 8e1da409304..d9ddc32b262 100644
--- a/app/code/Magento/Usa/Model/Shipping/Carrier/Ups.php
+++ b/app/code/Magento/Usa/Model/Shipping/Carrier/Ups.php
@@ -157,7 +157,6 @@ class Ups
      */
     public function __construct(
         \Magento\Logger $logger,
-        \Magento\Usa\Model\Simplexml\ElementFactory $simpleXmlElementFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Usa\Model\Simplexml\ElementFactory $xmlElFactory,
         \Magento\Shipping\Model\Rate\ResultFactory $rateFactory,
@@ -176,7 +175,6 @@ class Ups
     ) {
         $this->_logger = $logger;
         $this->_locale = $locale;
-        $this->_simpleXmlElementFactory = $simpleXmlElementFactory;
         parent::__construct(
             $xmlElFactory, $rateFactory, $rateMethodFactory, $trackFactory, $trackErrorFactory, $trackStatusFactory,
             $regionFactory, $countryFactory, $currencyFactory, $directoryData, $coreStoreConfig, $rateErrorFactory,
diff --git a/app/code/Magento/User/Block/Buttons.php b/app/code/Magento/User/Block/Buttons.php
index d856d67bbb9..623c6903065 100644
--- a/app/code/Magento/User/Block/Buttons.php
+++ b/app/code/Magento/User/Block/Buttons.php
@@ -36,20 +36,20 @@ class Buttons extends \Magento\Backend\Block\Template
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _prepareLayout()
diff --git a/app/code/Magento/User/Block/Role/Edit.php b/app/code/Magento/User/Block/Role/Edit.php
index e9d696b822f..61b886e6002 100644
--- a/app/code/Magento/User/Block/Role/Edit.php
+++ b/app/code/Magento/User/Block/Role/Edit.php
@@ -35,22 +35,22 @@ class Edit extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/User/Block/Role/Grid/User.php b/app/code/Magento/User/Block/Role/Grid/User.php
index 3440fc6f127..fff67ba887e 100644
--- a/app/code/Magento/User/Block/Role/Grid/User.php
+++ b/app/code/Magento/User/Block/Role/Grid/User.php
@@ -43,27 +43,23 @@ class User extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_roleFactory;
 
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\User\Model\RoleFactory $roleFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\User\Model\RoleFactory $roleFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\User\Model\RoleFactory $roleFactory,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\User\Model\RoleFactory $roleFactory,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $urlModel, $data);
         $this->_coreRegistry = $coreRegistry;
         $this->_roleFactory = $roleFactory;
     }
diff --git a/app/code/Magento/User/Block/Role/Tab/Edit.php b/app/code/Magento/User/Block/Role/Tab/Edit.php
index 9a190f8d452..e4ed31ddd88 100644
--- a/app/code/Magento/User/Block/Role/Tab/Edit.php
+++ b/app/code/Magento/User/Block/Role/Tab/Edit.php
@@ -63,31 +63,29 @@ class Edit extends \Magento\Backend\Block\Widget\Form
      */
     protected $_aclResourceProvider;
 
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Acl\RootResource $rootResource
-     * @param \Magento\User\Model\Resource\Rules\CollectionFactory $rulesCollectionFactory
-     * @param \Magento\Acl\Builder $aclBuilder
-     * @param \Magento\Acl\Resource\ProviderInterface $aclResourceProvider
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Acl\RootResource $rootResource
+     * @param \Magento\User\Model\Resource\Rules\CollectionFactory $rulesCollectionFactory
+     * @param \Magento\Acl\Builder $aclBuilder
+     * @param \Magento\Acl\Resource\ProviderInterface $aclResourceProvider
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Acl\RootResource $rootResource,
-        \Magento\User\Model\Resource\Rules\CollectionFactory $rulesCollectionFactory,
-        \Magento\Acl\Builder $aclBuilder,
-        \Magento\Acl\Resource\ProviderInterface $aclResourceProvider,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Acl\RootResource $rootResource,
+        \Magento\User\Model\Resource\Rules\CollectionFactory $rulesCollectionFactory,
+        \Magento\Acl\Builder $aclBuilder,
+        \Magento\Acl\Resource\ProviderInterface $aclResourceProvider,
+        array $data = array()
+    ) {
         $this->_aclBuilder = $aclBuilder;
         $this->_rootResource = $rootResource;
         $this->_rulesCollectionFactory = $rulesCollectionFactory;
         $this->_aclResourceProvider = $aclResourceProvider;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -147,7 +145,7 @@ class Edit extends \Magento\Backend\Block\Widget\Form
         foreach ($rulesSet->getItems() as $item) {
             $itemResourceId = $item->getResource_id();
             if ($acl->has($itemResourceId) && $item->getPermission() == 'allow') {
-                array_push($selectedResourceIds, $itemResourceId);
+                $selectedResourceIds[] = $itemResourceId;
             }
         }
 
diff --git a/app/code/Magento/User/Block/Role/Tab/Users.php b/app/code/Magento/User/Block/Role/Tab/Users.php
index 5fc4c296b55..0949a65ef70 100644
--- a/app/code/Magento/User/Block/Role/Tab/Users.php
+++ b/app/code/Magento/User/Block/Role/Tab/Users.php
@@ -38,25 +38,23 @@ class Users extends \Magento\Backend\Block\Widget\Tabs
      */
     protected $_userCollectionFactory;
 
-    /**
-     * Construct
-     *
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\User\Model\Resource\User\CollectionFactory $userCollectionFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param \Magento\User\Model\Resource\User\CollectionFactory $userCollectionFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\User\Model\Resource\User\CollectionFactory $userCollectionFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        \Magento\User\Model\Resource\User\CollectionFactory $userCollectionFactory,
+        array $data = array()
+    ) {
         // _userCollectionFactory is used in parent::__construct
         $this->_userCollectionFactory = $userCollectionFactory;
-        parent::__construct($coreData, $context, $authSession, $data);
+        parent::__construct($context, $coreData, $authSession, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/User/Block/User.php b/app/code/Magento/User/Block/User.php
index da64ea7a1a2..487dd734bd6 100644
--- a/app/code/Magento/User/Block/User.php
+++ b/app/code/Magento/User/Block/User.php
@@ -40,19 +40,19 @@ class User extends \Magento\Backend\Block\Widget\Grid\Container
      */
     protected $_resourceModel;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\User\Model\Resource\User $resourceModel
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\User\Model\Resource\User $resourceModel
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\User\Model\Resource\User $resourceModel,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\User\Model\Resource\User $resourceModel,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_resourceModel = $resourceModel;
     }
 
diff --git a/app/code/Magento/User/Block/User/Edit.php b/app/code/Magento/User/Block/User/Edit.php
index c449fc6fbbc..d86ccca1e51 100644
--- a/app/code/Magento/User/Block/User/Edit.php
+++ b/app/code/Magento/User/Block/User/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/User/Block/User/Edit/Tab/Main.php b/app/code/Magento/User/Block/User/Edit/Tab/Main.php
index 8d13d2014d9..6d772e05bed 100644
--- a/app/code/Magento/User/Block/User/Edit/Tab/Main.php
+++ b/app/code/Magento/User/Block/User/Edit/Tab/Main.php
@@ -36,36 +36,24 @@ class Main extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_authSession;
 
-    /**
-     * Locale model
-     *
-     * @var \Magento\Core\Model\LocaleInterface
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param array $data
      */
-    protected $_locale;
-
-    /**
-     * Construct
-     *
-     * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\LocaleInterface $locale,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Backend\Model\Auth\Session $authSession,
+        array $data = array()
+    ) {
         $this->_authSession = $authSession;
-        $this->_locale = $locale;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
     
     /**
diff --git a/app/code/Magento/User/Block/User/Edit/Tab/Roles.php b/app/code/Magento/User/Block/User/Edit/Tab/Roles.php
index 260ce99727f..f9c44c6e275 100644
--- a/app/code/Magento/User/Block/User/Edit/Tab/Roles.php
+++ b/app/code/Magento/User/Block/User/Edit/Tab/Roles.php
@@ -41,27 +41,25 @@ class Roles extends \Magento\Backend\Block\Widget\Grid\Extended
      */
     protected $_userRolesFactory;
 
-    /**
-     * @param \Magento\User\Model\Resource\Role\CollectionFactory $userRolesFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Url $urlModel
-     * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Url $urlModel
+     * @param \Magento\User\Model\Resource\Role\CollectionFactory $userRolesFactory
+     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\User\Model\Resource\Role\CollectionFactory $userRolesFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Url $urlModel,
-        \Magento\Core\Model\Registry $coreRegistry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Url $urlModel,
+        \Magento\User\Model\Resource\Role\CollectionFactory $userRolesFactory,
+        \Magento\Core\Model\Registry $coreRegistry,
+        array $data = array()
+    ) {
         $this->_userRolesFactory = $userRolesFactory;
         $this->_coreRegistry = $coreRegistry;
-        parent::__construct($coreData, $context, $storeManager, $urlModel, $data);
+        parent::__construct($context, $coreData, $urlModel, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/User/Controller/Adminhtml/Auth.php b/app/code/Magento/User/Controller/Adminhtml/Auth.php
index 428ac09fa86..ae09cfe0f19 100644
--- a/app/code/Magento/User/Controller/Adminhtml/Auth.php
+++ b/app/code/Magento/User/Controller/Adminhtml/Auth.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\User\Controller\Adminhtml;
 
-class Auth extends \Magento\Backend\Controller\AbstractAction
+class Auth extends \Magento\Backend\App\AbstractAction
 {
     /**
      * User model factory
@@ -39,11 +39,11 @@ class Auth extends \Magento\Backend\Controller\AbstractAction
     /**
      * Construct
      *
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\User\Model\UserFactory $userFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\User\Model\UserFactory $userFactory
     ) {
         parent::__construct($context);
@@ -94,8 +94,8 @@ class Auth extends \Magento\Backend\Controller\AbstractAction
         } elseif (!empty($params)) {
             $this->_getSession()->addError(__('The email address is empty.'));
         }
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -110,15 +110,15 @@ class Auth extends \Magento\Backend\Controller\AbstractAction
         try {
             $this->_validateResetPasswordLinkToken($userId, $passwordResetToken);
 
-            $this->loadLayout();
+            $this->_view->loadLayout();
 
-            $content = $this->getLayout()->getBlock('content');
+            $content = $this->_view->getLayout()->getBlock('content');
             if ($content) {
                 $content->setData('user_id', $userId)
                     ->setData('reset_password_link_token', $passwordResetToken);
             }
 
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Exception $exception) {
             $this->_getSession()->addError(
                 __('Your password reset link has expired.')
diff --git a/app/code/Magento/User/Controller/Adminhtml/User.php b/app/code/Magento/User/Controller/Adminhtml/User.php
index 3f115c06bba..fda0386ed79 100644
--- a/app/code/Magento/User/Controller/Adminhtml/User.php
+++ b/app/code/Magento/User/Controller/Adminhtml/User.php
@@ -23,7 +23,7 @@
  */
 namespace Magento\User\Controller\Adminhtml;
 
-class User extends \Magento\Backend\Controller\AbstractAction
+class User extends \Magento\Backend\App\AbstractAction
 {
     /**
      * Core registry
@@ -40,14 +40,12 @@ class User extends \Magento\Backend\Controller\AbstractAction
     protected $_userFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\User\Model\UserFactory $userFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\User\Model\UserFactory $userFactory
     ) {
@@ -58,8 +56,8 @@ class User extends \Magento\Backend\Controller\AbstractAction
 
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_User::system_acl_users')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_User::system_acl_users')
             ->_addBreadcrumb(__('System'), __('System'))
             ->_addBreadcrumb(__('Permissions'), __('Permissions'))
             ->_addBreadcrumb(__('Users'), __('Users'))
@@ -69,9 +67,9 @@ class User extends \Magento\Backend\Controller\AbstractAction
 
     public function indexAction()
     {
-        $this->_title(__('Users'));
+        $this->_title->add(__('Users'));
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function newAction()
@@ -81,7 +79,7 @@ class User extends \Magento\Backend\Controller\AbstractAction
 
     public function editAction()
     {
-        $this->_title(__('Users'));
+        $this->_title->add(__('Users'));
 
         $userId = $this->getRequest()->getParam('user_id');
         /** @var \Magento\User\Model\User $model */
@@ -98,7 +96,7 @@ class User extends \Magento\Backend\Controller\AbstractAction
             $model->setInterfaceLocale(\Magento\Core\Model\LocaleInterface::DEFAULT_LOCALE);
         }
 
-        $this->_title($model->getId() ? $model->getName() : __('New User'));
+        $this->_title->add($model->getId() ? $model->getName() : __('New User'));
 
         // Restore previously entered form data from session
         $data = $this->_session->getUserData(true);
@@ -114,7 +112,7 @@ class User extends \Magento\Backend\Controller\AbstractAction
             $breadcrumb = __('New User');
         }
         $this->_initAction()->_addBreadcrumb($breadcrumb, $breadcrumb);
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     public function saveAction()
@@ -216,14 +214,14 @@ class User extends \Magento\Backend\Controller\AbstractAction
             $model->load($userId);
         }
         $this->_coreRegistry->register('permissions_user', $model);
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     public function roleGridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     protected function _isAllowed()
diff --git a/app/code/Magento/User/Controller/Adminhtml/User/Role.php b/app/code/Magento/User/Controller/Adminhtml/User/Role.php
index c564ef2868f..513459cf01c 100644
--- a/app/code/Magento/User/Controller/Adminhtml/User/Role.php
+++ b/app/code/Magento/User/Controller/Adminhtml/User/Role.php
@@ -27,7 +27,7 @@
  */
 namespace Magento\User\Controller\Adminhtml\User;
 
-class Role extends \Magento\Backend\Controller\AbstractAction
+class Role extends \Magento\Backend\App\AbstractAction
 {
 
     /**
@@ -66,9 +66,7 @@ class Role extends \Magento\Backend\Controller\AbstractAction
     protected $_authSession;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\User\Model\RoleFactory $roleFactory
      * @param \Magento\User\Model\UserFactory $userFactory
@@ -76,7 +74,7 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      * @param \Magento\Backend\Model\Auth\Session $authSession
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\User\Model\RoleFactory $roleFactory,
         \Magento\User\Model\UserFactory $userFactory,
@@ -98,7 +96,7 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      */
     protected function _initAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_User::system_acl_roles');
         $this->_addBreadcrumb(__('System'), __('System'));
         $this->_addBreadcrumb(__('Permissions'), __('Permissions'));
@@ -114,7 +112,7 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      */
     protected function _initRole($requestVariable = 'rid')
     {
-        $this->_title(__('Roles'));
+        $this->_title->add(__('Roles'));
 
         $role = $this->_roleFactory->create()->load($this->getRequest()->getParam($requestVariable));
         // preventing edit of relation role
@@ -132,11 +130,11 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      */
     public function indexAction()
     {
-        $this->_title(__('Roles'));
+        $this->_title->add(__('Roles'));
 
         $this->_initAction();
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -145,8 +143,8 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      */
     public function roleGridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -166,16 +164,16 @@ class Role extends \Magento\Backend\Controller\AbstractAction
             $breadCrumbTitle = __('Add New Role');
         }
 
-        $this->_title($role->getId() ? $role->getRoleName() : __('New Role'));
+        $this->_title->add($role->getId() ? $role->getRoleName() : __('New Role'));
 
         $this->_addBreadcrumb($breadCrumb, $breadCrumbTitle);
 
-        $this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
-        $this->getLayout()->getBlock('adminhtml.user.role.buttons')
+        $this->_view->getLayout()->getBlock('head')->setCanLoadExtJs(true);
+        $this->_view->getLayout()->getBlock('adminhtml.user.role.buttons')
             ->setRoleId($role->getId())
             ->setRoleInfo($role);
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -283,8 +281,8 @@ class Role extends \Magento\Backend\Controller\AbstractAction
      */
     public function editrolegridAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/User/Helper/Data.php b/app/code/Magento/User/Helper/Data.php
index b5df4417d5b..8c8cb7a768f 100644
--- a/app/code/Magento/User/Helper/Data.php
+++ b/app/code/Magento/User/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\User\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Configuration path to expiration period of reset password link
@@ -52,12 +52,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $mathRandom;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Math\Random $mathRandom
      */
     public function __construct(
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Math\Random $mathRandom
     ) {
diff --git a/app/code/Magento/User/Model/User.php b/app/code/Magento/User/Model/User.php
index 67afa0368fc..74c6062aca7 100644
--- a/app/code/Magento/User/Model/User.php
+++ b/app/code/Magento/User/Model/User.php
@@ -98,11 +98,11 @@ class User
     /**
      * Mail handler
      *
-     * @var  \Magento\Core\Model\Email\Template\Mailer
+     * @var  \Magento\Email\Model\Template\Mailer
      */
     protected $_mailer;
 
-    /** @var \Magento\Core\Model\Sender */
+    /** @var \Magento\Email\Model\Sender */
     protected $_sender;
 
     /**
@@ -112,13 +112,6 @@ class User
      */
     protected $_userData = null;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager = null;
-
     /**
      * Core store config
      *
@@ -143,7 +136,7 @@ class User
     /**
      * Factory for email info model
      *
-     * @var \Magento\Core\Model\Email\InfoFactory
+     * @var \Magento\Email\Model\InfoFactory
      */
     protected $_emailInfoFactory;
 
@@ -160,14 +153,13 @@ class User
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\User\Helper\Data $userData
-     * @param \Magento\Core\Model\Sender $sender
+     * @param \Magento\Email\Model\Sender $sender
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Validator\Composite\VarienObjectFactory $validatorCompositeFactory
      * @param \Magento\User\Model\RoleFactory $roleFactory
-     * @param \Magento\Core\Model\Email\InfoFactory $emailInfoFactory
-     * @param \Magento\Core\Model\Email\Template\MailerFactory $mailerFactory
+     * @param \Magento\Email\Model\InfoFactory $emailInfoFactory
+     * @param \Magento\Email\Model\Template\MailerFactory $mailerFactory
      * @param \Magento\Encryption\EncryptorInterface $encryptor
      * @param \Magento\Stdlib\DateTime $dateTime
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -179,14 +171,13 @@ class User
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\User\Helper\Data $userData,
-        \Magento\Core\Model\Sender $sender,
+        \Magento\Email\Model\Sender $sender,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Validator\Composite\VarienObjectFactory $validatorCompositeFactory,
         \Magento\User\Model\RoleFactory $roleFactory,
-        \Magento\Core\Model\Email\InfoFactory $emailInfoFactory,
-        \Magento\Core\Model\Email\Template\MailerFactory $mailerFactory,
+        \Magento\Email\Model\InfoFactory $emailInfoFactory,
+        \Magento\Email\Model\Template\MailerFactory $mailerFactory,
         \Magento\Encryption\EncryptorInterface $encryptor,
         \Magento\Stdlib\DateTime $dateTime,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
@@ -196,7 +187,6 @@ class User
         $this->_encryptor = $encryptor;
         $this->dateTime = $dateTime;
         parent::__construct($context, $registry, $resource, $resourceCollection, $data);
-        $this->_eventManager = $eventManager;
         $this->_userData = $userData;
         $this->_sender = $sender;
         $this->_coreStoreConfig = $coreStoreConfig;
@@ -235,14 +225,14 @@ class User
         parent::__wakeup();
         $objectManager = \Magento\App\ObjectManager::getInstance();
         $this->_eventManager    = $objectManager->get('Magento\Event\ManagerInterface');
-        $this->_sender          = $objectManager->get('Magento\Core\Model\Sender');
+        $this->_sender          = $objectManager->get('Magento\Email\Model\Sender');
         $this->_userData        = $objectManager->get('Magento\User\Helper\Data');
         $this->_coreStoreConfig = $objectManager->get('Magento\Core\Model\Store\Config');
         $this->_coreRegistry    = $objectManager->get('Magento\Core\Model\Registry');
         $this->_validatorComposite = $objectManager->get('Magento\Validator\Composite\VarienObjectFactory');
         $this->_roleFactory = $objectManager->get('Magento\User\Model\RoleFactory');
-        $this->_emailInfoFactory = $objectManager->get('Magento\Core\Model\Email\InfoFactory');
-        $this->_mailer = $objectManager->get('Magento\Core\Model\Email\Template\MailerFactory');
+        $this->_emailInfoFactory = $objectManager->get('Magento\Email\Model\InfoFactory');
+        $this->_mailer = $objectManager->get('Magento\Email\Model\Template\MailerFactory');
         $this->_encryptor = $objectManager->get('Magento\Encryption\EncryptorInterface');
     }
 
@@ -449,10 +439,10 @@ class User
     /**
      * Set custom mail handler
      *
-     * @param \Magento\Core\Model\Email\Template\Mailer $mailer
+     * @param \Magento\Email\Model\Template\Mailer $mailer
      * @return \Magento\User\Model\User
      */
-    public function setMailer(\Magento\Core\Model\Email\Template\Mailer $mailer)
+    public function setMailer(\Magento\Email\Model\Template\Mailer $mailer)
     {
         $this->_mailer = $mailer;
         return $this;
@@ -465,7 +455,7 @@ class User
      */
     public function sendPasswordResetConfirmationEmail()
     {
-        /** @var \Magento\Core\Model\Email\Info $emailInfo */
+        /** @var \Magento\Email\Model\Info $emailInfo */
         $emailInfo = $this->_emailInfoFactory->create();
         $emailInfo->addTo($this->getEmail(), $this->getName());
         $this->_mailer->addEmailInfo($emailInfo);
diff --git a/app/code/Magento/User/data/user_setup/data-upgrade-1.6.1.1-1.6.1.2.php b/app/code/Magento/User/data/user_setup/data-upgrade-1.6.1.1-1.6.1.2.php
index f6e979b4f71..a2defe5263e 100644
--- a/app/code/Magento/User/data/user_setup/data-upgrade-1.6.1.1-1.6.1.2.php
+++ b/app/code/Magento/User/data/user_setup/data-upgrade-1.6.1.1-1.6.1.2.php
@@ -53,7 +53,7 @@ $map = array(
     'admin/dashboard' => 'Magento_Adminhtml::dashboard',
     'admin/system/design' => 'Magento_Adminhtml::design',
     'admin/system/config/dev' => 'Magento_Adminhtml::dev',
-    'admin/system/email_template' => 'Magento_Adminhtml::email_template',
+    'admin/system/email_template' => 'Magento_Email::template',
     'admin/system/extensions' => 'Magento_Adminhtml::extensions',
     'admin/global_search' => 'Magento_Adminhtml::global_search',
     'admin/system/convert/gui' => 'Magento_Adminhtml::gui',
diff --git a/app/code/Magento/User/view/adminhtml/admin/forgotpassword.phtml b/app/code/Magento/User/view/adminhtml/admin/forgotpassword.phtml
index f934635221c..85307bd6f95 100644
--- a/app/code/Magento/User/view/adminhtml/admin/forgotpassword.phtml
+++ b/app/code/Magento/User/view/adminhtml/admin/forgotpassword.phtml
@@ -37,9 +37,8 @@
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/base.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/elements.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/form.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/admin.css') ?>" media="all" />
+    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/styles.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/utils.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/debug.css') ?>" media="all" />
 
     <script src="<?php echo $this->getViewFileUrl('jquery/jquery.js') ?>"></script>
     <script src="<?php echo $this->getViewFileUrl('mage/jquery-no-conflict.js') ?>"></script>
diff --git a/app/code/Magento/User/view/adminhtml/admin/resetforgottenpassword.phtml b/app/code/Magento/User/view/adminhtml/admin/resetforgottenpassword.phtml
index 2c3e3f0b64f..ab77e50eb53 100644
--- a/app/code/Magento/User/view/adminhtml/admin/resetforgottenpassword.phtml
+++ b/app/code/Magento/User/view/adminhtml/admin/resetforgottenpassword.phtml
@@ -36,9 +36,8 @@
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/base.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/elements.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/form.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/admin.css') ?>" media="all" />
+    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/styles.css') ?>" media="all" />
     <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('mui/utils.css') ?>" media="all" />
-    <link rel="stylesheet" href="<?php echo $this->getViewFileUrl('css/debug.css') ?>" media="all" />
 
     <script src="<?php echo $this->getViewFileUrl('jquery/jquery.js') ?>"></script>
     <script src="<?php echo $this->getViewFileUrl('mage/jquery-no-conflict.js') ?>"></script>
diff --git a/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/Resource.php b/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/Resource.php
index 42355307862..11018a016d5 100644
--- a/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/Resource.php
+++ b/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/Resource.php
@@ -64,23 +64,23 @@ class Resource extends \Magento\Backend\Block\Widget\Form
      */
     protected $_rootResource;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Acl\Resource\ProviderInterface $resourceProvider
-     * @param \Magento\Webapi\Model\Resource\Acl\Rule $ruleResource
-     * @param \Magento\Core\Model\Acl\RootResource $rootResource
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Acl\Resource\ProviderInterface $resourceProvider
+     * @param \Magento\Webapi\Model\Resource\Acl\Rule $ruleResource
+     * @param \Magento\Core\Model\Acl\RootResource $rootResource
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Acl\Resource\ProviderInterface $resourceProvider,
-        \Magento\Webapi\Model\Resource\Acl\Rule $ruleResource,
-        \Magento\Core\Model\Acl\RootResource $rootResource,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Acl\Resource\ProviderInterface $resourceProvider,
+        \Magento\Webapi\Model\Resource\Acl\Rule $ruleResource,
+        \Magento\Core\Model\Acl\RootResource $rootResource,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_resourceProvider = $resourceProvider;
         $this->_ruleResource = $ruleResource;
         $this->_rootResource = $rootResource;
diff --git a/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tabs.php b/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tabs.php
index 02762bd6e62..fef002d182f 100644
--- a/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tabs.php
+++ b/app/code/Magento/Webapi/Block/Adminhtml/Role/Edit/Tabs.php
@@ -45,7 +45,7 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
     /**
      * Prepare child blocks.
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Webapi/Block/Adminhtml/User/Edit/Tabs.php b/app/code/Magento/Webapi/Block/Adminhtml/User/Edit/Tabs.php
index 5f8b7128625..3a271902425 100644
--- a/app/code/Magento/Webapi/Block/Adminhtml/User/Edit/Tabs.php
+++ b/app/code/Magento/Webapi/Block/Adminhtml/User/Edit/Tabs.php
@@ -45,7 +45,7 @@ class Tabs extends \Magento\Backend\Block\Widget\Tabs
     /**
      * Before to HTML.
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/Role.php b/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/Role.php
index 3069b905741..dab630543d1 100644
--- a/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/Role.php
+++ b/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/Role.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller\Adminhtml\Webapi;
 
-class Role extends \Magento\Backend\Controller\Adminhtml\Action
+class Role extends \Magento\Backend\App\Action
 {
     /**
      * @var \Magento\Core\Model\Validator\Factory
@@ -33,17 +33,15 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_validatorFactory;
 
     /**
-     * Initialize dependencies.
-     *
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Validator\Factory $validatorFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Validator\Factory $validatorFactory
     ) {
-        parent::__construct($context);
         $this->_validatorFactory = $validatorFactory;
+        parent::__construct($context);
     }
 
     /**
@@ -53,7 +51,7 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout();
+        $this->_view->loadLayout();
         $this->_setActiveMenu('Magento_Webapi::system_api_webapi_roles');
         $this->_addBreadcrumb(
             __('Web Api'),
@@ -71,9 +69,9 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('API Roles'));
+        $this->_title->add(__('API Roles'));
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -81,8 +79,8 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function rolegridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -90,8 +88,8 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function usersgridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -100,7 +98,7 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
     public function editAction()
     {
         $this->_initAction();
-        $this->_title(__('API Roles'));
+        $this->_title->add(__('API Roles'));
 
         $roleId = $this->getRequest()->getParam('role_id');
 
@@ -119,13 +117,13 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
                 __('Edit API Role'),
                 __('Edit API Role')
             );
-            $this->_title(__('Edit API Role'));
+            $this->_title->add(__('Edit API Role'));
         } else {
             $this->_addBreadcrumb(
                 __('Add New API Role'),
                 __('Add New API Role')
             );
-            $this->_title(__('New API Role'));
+            $this->_title->add(__('New API Role'));
         }
 
         // Restore previously entered form data from session
@@ -135,18 +133,18 @@ class Role extends \Magento\Backend\Controller\Adminhtml\Action
         }
 
         /** @var \Magento\Webapi\Block\Adminhtml\Role\Edit $editBlock */
-        $editBlock = $this->getLayout()->getBlock('webapi.role.edit');
+        $editBlock = $this->_view->getLayout()->getBlock('webapi.role.edit');
         if ($editBlock) {
             $editBlock->setApiRole($role);
         }
 
         /** @var \Magento\Webapi\Block\Adminhtml\Role\Edit\Tabs $tabsBlock */
-        $tabsBlock = $this->getLayout()->getBlock('webapi.role.edit.tabs');
+        $tabsBlock = $this->_view->getLayout()->getBlock('webapi.role.edit.tabs');
         if ($tabsBlock) {
             $tabsBlock->setApiRole($role);
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/User.php b/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/User.php
index b492bac3412..73f27d68100 100644
--- a/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/User.php
+++ b/app/code/Magento/Webapi/Controller/Adminhtml/Webapi/User.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller\Adminhtml\Webapi;
 
-class User extends \Magento\Backend\Controller\AbstractAction
+class User extends \Magento\Backend\App\AbstractAction
 {
     /**
      * @var \Magento\Core\Model\Validator\Factory
@@ -33,17 +33,15 @@ class User extends \Magento\Backend\Controller\AbstractAction
     protected $_validatorFactory;
 
     /**
-     * Initialize dependencies.
-     *
-     * @param \Magento\Backend\Controller\Context $context
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Validator\Factory $validatorFactory
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Validator\Factory $validatorFactory
     ) {
-        parent::__construct($context);
         $this->_validatorFactory = $validatorFactory;
+        parent::__construct($context);
     }
 
     /**
@@ -53,8 +51,8 @@ class User extends \Magento\Backend\Controller\AbstractAction
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Webapi::system_api_webapi_users')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Webapi::system_api_webapi_users')
             ->_addBreadcrumb(
                 __('Web Services'),
                 __('Web Services')
@@ -73,9 +71,9 @@ class User extends \Magento\Backend\Controller\AbstractAction
     public function indexAction()
     {
         $this->_initAction();
-        $this->_title(__('API Users'));
+        $this->_title->add(__('API Users'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -93,7 +91,7 @@ class User extends \Magento\Backend\Controller\AbstractAction
     public function editAction()
     {
         $this->_initAction();
-        $this->_title(__('API Users'));
+        $this->_title->add(__('API Users'));
 
         $userId = (int)$this->getRequest()->getParam('user_id');
         $user = $this->_loadApiUser($userId);
@@ -105,7 +103,7 @@ class User extends \Magento\Backend\Controller\AbstractAction
         $actionTitle = $user->getId()
             ? $this->_objectManager->get('Magento\Escaper')->escapeHtml($user->getApiKey())
             : __('New API User');
-        $this->_title($actionTitle);
+        $this->_title->add($actionTitle);
         $this->_addBreadcrumb($actionTitle, $actionTitle);
 
         // Restore previously entered form data from session.
@@ -115,17 +113,17 @@ class User extends \Magento\Backend\Controller\AbstractAction
         }
 
         /** @var \Magento\Webapi\Block\Adminhtml\User\Edit $editBlock */
-        $editBlock = $this->getLayout()->getBlock('webapi.user.edit');
+        $editBlock = $this->_view->getLayout()->getBlock('webapi.user.edit');
         if ($editBlock) {
             $editBlock->setApiUser($user);
         }
         /** @var \Magento\Webapi\Block\Adminhtml\User\Edit\Tabs $tabsBlock */
-        $tabsBlock = $this->getLayout()->getBlock('webapi.user.edit.tabs');
+        $tabsBlock = $this->_view->getLayout()->getBlock('webapi.user.edit.tabs');
         if ($tabsBlock) {
             $tabsBlock->setApiUser($user);
         }
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -208,8 +206,8 @@ class User extends \Magento\Backend\Controller\AbstractAction
      */
     public function gridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
@@ -217,8 +215,8 @@ class User extends \Magento\Backend\Controller\AbstractAction
      */
     public function rolesgridAction()
     {
-        $this->loadLayout(false);
-        $this->renderLayout();
+        $this->_view->loadLayout(false);
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Webapi/Helper/Data.php b/app/code/Magento/Webapi/Helper/Data.php
index 0c587bf3776..bfbc2bab766 100644
--- a/app/code/Magento/Webapi/Helper/Data.php
+++ b/app/code/Magento/Webapi/Helper/Data.php
@@ -23,7 +23,7 @@
  */
 namespace Magento\Webapi\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
 }
diff --git a/app/code/Magento/Webapi/view/adminhtml/layout/adminhtml_webapi_role_edit.xml b/app/code/Magento/Webapi/view/adminhtml/layout/adminhtml_webapi_role_edit.xml
index 94f4b7bd44a..b1983999653 100644
--- a/app/code/Magento/Webapi/view/adminhtml/layout/adminhtml_webapi_role_edit.xml
+++ b/app/code/Magento/Webapi/view/adminhtml/layout/adminhtml_webapi_role_edit.xml
@@ -41,6 +41,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="js">
-        <block class="Magento\Core\Block\Template" template="Magento_Webapi::rolesusersgridjs.phtml"/>
+        <block class="Magento\View\Block\Template" template="Magento_Webapi::rolesusersgridjs.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/code/Magento/Webapi/view/adminhtml/rolesusersgridjs.phtml b/app/code/Magento/Webapi/view/adminhtml/rolesusersgridjs.phtml
index 6d0d306e6d8..8207b80348c 100644
--- a/app/code/Magento/Webapi/view/adminhtml/rolesusersgridjs.phtml
+++ b/app/code/Magento/Webapi/view/adminhtml/rolesusersgridjs.phtml
@@ -23,7 +23,7 @@
  * @copyright   Copyright (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\Core\Block\Template $this
+ * @var \Magento\View\Block\Template $this
  */
 ?>
 <?php $usersGridBlock = $this->getLayout()->getBlock('webapi.role.edit.tab.users.grid'); ?>
diff --git a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Activate.php b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Activate.php
index c25e37daab9..72580132e88 100644
--- a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Activate.php
+++ b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Activate.php
@@ -40,19 +40,19 @@ class Activate extends \Magento\Backend\Block\Template
     /** @var array  */
     protected $_subscriptionData;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_subscriptionData = $registry->registry(self::REGISTRY_KEY_CURRENT_SUBSCRIPTION);
     }
 
diff --git a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/Container.php b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/Container.php
index f0689022d32..ebfc1ffb0a2 100644
--- a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/Container.php
+++ b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/Container.php
@@ -39,19 +39,19 @@ class Container extends \Magento\Backend\Block\Template
     /** @var array */
     protected $_subscriptionData;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
         $this->_subscriptionData = $registry->registry(self::REGISTRY_KEY_CURRENT_SUBSCRIPTION);;
     }
 
diff --git a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Failed.php b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Failed.php
index 9b682a23e42..7e0bbb610a8 100644
--- a/app/code/Magento/Webhook/Block/Adminhtml/Registration/Failed.php
+++ b/app/code/Magento/Webhook/Block/Adminhtml/Registration/Failed.php
@@ -29,25 +29,6 @@ namespace Magento\Webhook\Block\Adminhtml\Registration;
 
 class Failed extends \Magento\Backend\Block\Template
 {
-    /** @var  \Magento\Backend\Model\Session */
-    protected $_session;
-
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Model\Session $session
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Model\Session $session,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
-        $this->_session = $session;
-    }
-
     /**
      * Get error message produced on failure
      *
@@ -55,8 +36,7 @@ class Failed extends \Magento\Backend\Block\Template
      */
     public function getSessionError()
     {
-        return $this->_session->getMessages(true)
-            ->getLastAddedMessage()
-            ->toString();
+        $lastAdded = $this->_backendSession->getMessages(true)->getLastAddedMessage();
+        return $lastAdded ? $lastAdded->toString() : null;
     }
 }
diff --git a/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit.php b/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit.php
index 72e597790af..0ace3ac2736 100644
--- a/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit.php
+++ b/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit.php
@@ -38,19 +38,19 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
     /** @var array $_subscriptionData */
     protected $_subscriptionData;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
-        parent::__construct($coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $data);
 
         $this->_objectId = 'id';
         $this->_blockGroup = 'Magento_Webhook';
diff --git a/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit/Form.php b/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit/Form.php
index e34c6b81fd8..19dbf98d2d4 100644
--- a/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit/Form.php
+++ b/app/code/Magento/Webhook/Block/Adminhtml/Subscription/Edit/Form.php
@@ -49,27 +49,27 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
     /** @var  \Magento\Webhook\Model\Source\Hook  $_hook */
     protected $_hook;
 
-    /**
-     * @param \Magento\Webhook\Model\Source\Format $format
-     * @param \Magento\Webhook\Model\Source\Authentication $authentication
-     * @param \Magento\Webhook\Model\Source\Hook $hook
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Webhook\Model\Source\Format $format
+     * @param \Magento\Webhook\Model\Source\Authentication $authentication
+     * @param \Magento\Webhook\Model\Source\Hook $hook
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Webhook\Model\Source\Format $format,
-        \Magento\Webhook\Model\Source\Authentication $authentication,
-        \Magento\Webhook\Model\Source\Hook $hook,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Webhook\Model\Source\Format $format,
+        \Magento\Webhook\Model\Source\Authentication $authentication,
+        \Magento\Webhook\Model\Source\Hook $hook,
+        array $data = array()
+    ) {
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
         $this->_formFactory = $formFactory;
         $this->_registry = $registry;
         $this->_format = $format;
diff --git a/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Registration.php b/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Registration.php
index bf74d87b938..436a8cddb58 100644
--- a/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Registration.php
+++ b/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Registration.php
@@ -29,7 +29,7 @@ namespace Magento\Webhook\Controller\Adminhtml\Webhook;
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  */
-class Registration extends \Magento\Backend\Controller\AbstractAction
+class Registration extends \Magento\Backend\App\AbstractAction
 {
     const DATA_SUBSCRIPTION_ID = 'subscription_id';
     const DATA_TOPICS = 'topics';
@@ -54,18 +54,17 @@ class Registration extends \Magento\Backend\Controller\AbstractAction
     /** @var \Magento\Webhook\Model\Webapi\User\Factory */
     private $_userFactory;
 
-
     /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Webhook\Model\Webapi\User\Factory $userFactory
      * @param \Magento\Webhook\Service\SubscriptionV1Interface $subscriptionService
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Backend\Controller\Context $context
      */
     public function __construct(
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Webhook\Model\Webapi\User\Factory $userFactory,
         \Magento\Webhook\Service\SubscriptionV1Interface $subscriptionService,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Backend\Controller\Context $context
+        \Magento\Core\Model\Registry $registry
     ) {
         parent::__construct($context);
         $this->_userFactory = $userFactory;
@@ -81,8 +80,8 @@ class Registration extends \Magento\Backend\Controller\AbstractAction
     {
         try {
             $this->_initSubscription();
-            $this->loadLayout();
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_redirectFailed($e->getMessage());
         }
@@ -114,8 +113,8 @@ class Registration extends \Magento\Backend\Controller\AbstractAction
     {
         try {
             $this->_initSubscription();
-            $this->loadLayout();
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_redirectFailed($e->getMessage());
         }
@@ -176,8 +175,8 @@ class Registration extends \Magento\Backend\Controller\AbstractAction
     public function succeededAction()
     {
         try {
-            $this->loadLayout();
-            $this->renderLayout();
+            $this->_view->loadLayout();
+            $this->_view->renderLayout();
             $subscriptionData = $this->_initSubscription();
 
             $this->_getSession()->addSuccess(
@@ -194,8 +193,8 @@ class Registration extends \Magento\Backend\Controller\AbstractAction
      */
     public function failedAction()
     {
-        $this->loadLayout();
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->renderLayout();
     }
 
     /**
diff --git a/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Subscription.php b/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Subscription.php
index 8a108ca0435..e3afc245643 100644
--- a/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Subscription.php
+++ b/app/code/Magento/Webhook/Controller/Adminhtml/Webhook/Subscription.php
@@ -28,7 +28,7 @@ namespace Magento\Webhook\Controller\Adminhtml\Webhook;
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  */
-class Subscription extends \Magento\Backend\Controller\AbstractAction
+class Subscription extends \Magento\Backend\App\AbstractAction
 {
     /** Param Key for extracting subscription id from Request */
     const PARAM_SUBSCRIPTION_ID = 'id';
@@ -54,19 +54,16 @@ class Subscription extends \Magento\Backend\Controller\AbstractAction
     private $_subscriptionService;
 
     /**
-     * Class constructor
-     *
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Webhook\Service\SubscriptionV1Interface $subscriptionService
-     * @param \Magento\Backend\Controller\Context $context
      */
     public function __construct(
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Webhook\Service\SubscriptionV1Interface $subscriptionService,
-        \Magento\Backend\Controller\Context $context
+        \Magento\Webhook\Service\SubscriptionV1Interface $subscriptionService
     ) {
         parent::__construct($context);
-
         $this->_registry = $registry;
         $this->_subscriptionService = $subscriptionService;
     }
@@ -76,13 +73,13 @@ class Subscription extends \Magento\Backend\Controller\AbstractAction
      */
     public function indexAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Webhook::system_api_webapi_webhook')
-            ->_title(__('System'))
-            ->_title(__('Web Services'))
-            ->_title(__('WebHook Subscriptions'));
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Webhook::system_api_webapi_webhook');
+        $this->_title->add(__('System'));
+        $this->_title->add(__('Web Services'));
+        $this->_title->add(__('WebHook Subscriptions'));
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -110,18 +107,18 @@ class Subscription extends \Magento\Backend\Controller\AbstractAction
                 $this->_registry->register(self::REGISTRY_KEY_CURRENT_SUBSCRIPTION, $subscriptionData);
             }
 
-            $this->loadLayout()
-                ->_setActiveMenu('Magento_Webapi::system_webapi')
-                ->_title(__('System'))
-                ->_title(__('Web Services'))
-                ->_title(__('WebHook Subscriptions'));
+            $this->_view->loadLayout();
+            $this->_setActiveMenu('Magento_Webapi::system_webapi');
+            $this->_title->add(__('System'));
+            $this->_title->add(__('Web Services'));
+            $this->_title->add(__('WebHook Subscriptions'));
             if ($this->_registry->registry(self::REGISTRY_KEY_WEBHOOK_ACTION) === self::ACTION_NEW) {
-                $this->_title(__('Add Subscription'));
+                $this->_title->add(__('Add Subscription'));
             } else {
-                $this->_title(__('Edit Subscription'));
+                $this->_title->add(__('Edit Subscription'));
             }
 
-            $this->renderLayout();
+            $this->_view->renderLayout();
         } catch (\Magento\Core\Exception $e) {
             $this->_getSession()->addError($e->getMessage());
             $this->_redirect('adminhtml/*/');
diff --git a/app/code/Magento/Webhook/Helper/Data.php b/app/code/Magento/Webhook/Helper/Data.php
index 88b324c8302..7e4241d29cd 100644
--- a/app/code/Magento/Webhook/Helper/Data.php
+++ b/app/code/Magento/Webhook/Helper/Data.php
@@ -29,6 +29,6 @@
  */
 namespace Magento\Webhook\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Weee/Block/Renderer/Weee/Tax.php b/app/code/Magento/Weee/Block/Renderer/Weee/Tax.php
index 3b523dca538..1fbf1565c8b 100644
--- a/app/code/Magento/Weee/Block/Renderer/Weee/Tax.php
+++ b/app/code/Magento/Weee/Block/Renderer/Weee/Tax.php
@@ -49,11 +49,6 @@ class Tax
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Directory\Model\Config\Source\Country
      */
@@ -65,28 +60,25 @@ class Tax
     protected $_directoryHelper;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Directory\Model\Config\Source\Country $sourceCountry
      * @param \Magento\Directory\Helper\Data $directoryHelper
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Directory\Model\Config\Source\Country $sourceCountry,
         \Magento\Directory\Helper\Data $directoryHelper,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_sourceCountry = $sourceCountry;
         $this->_directoryHelper = $directoryHelper;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     public function getProduct()
diff --git a/app/code/Magento/Weee/Helper/Data.php b/app/code/Magento/Weee/Helper/Data.php
index 48861a10135..910af37a16e 100644
--- a/app/code/Magento/Weee/Helper/Data.php
+++ b/app/code/Magento/Weee/Helper/Data.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Weee\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 
     const XML_PATH_FPT_ENABLED       = 'tax/weee/enable';
@@ -75,7 +75,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Weee\Model\Tax $weeeTax
      * @param \Magento\Tax\Helper\Data $taxData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      */
@@ -83,7 +83,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Weee\Model\Tax $weeeTax,
         \Magento\Tax\Helper\Data $taxData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
     ) {
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Chooser.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Chooser.php
index 0b8e6212d71..ad6391b69c1 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Chooser.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Chooser.php
@@ -41,20 +41,20 @@ class Chooser extends \Magento\Backend\Block\Template
      */
     protected $_elementFactory;
 
-    /**
-     * @param \Magento\Data\Form\Element\Factory $elementFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Data\Form\Element\Factory $elementFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Data\Form\Element\Factory $elementFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Data\Form\Element\Factory $elementFactory,
+        array $data = array()
+    ) {
         $this->_elementFactory = $elementFactory;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Form.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Form.php
index 5914d380b1b..6010890677e 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Form.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Form.php
@@ -41,24 +41,24 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_widgetFactory;
 
-    /**
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Widget\Model\WidgetFactory $widgetFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Widget\Model\WidgetFactory $widgetFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Widget\Model\WidgetFactory $widgetFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Widget\Model\WidgetFactory $widgetFactory,
+        array $data = array()
+    ) {
         $this->_widgetFactory = $widgetFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit.php
index bdf8f176ba4..9356107cd9b 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit.php
@@ -42,20 +42,20 @@ class Edit extends \Magento\Adminhtml\Block\Widget\Form\Container
      */
     protected $_coreRegistry = null;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        array $data = array()
+    ) {
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
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 6e6e1aee703..1af83ccfba3 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
@@ -34,7 +34,7 @@
  */
 namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
 
-class Container extends \Magento\Core\Block\Html\Select
+class Container extends \Magento\View\Block\Html\Select
 {
     /**
      * @var \Magento\View\Layout\ProcessorFactory
@@ -47,14 +47,14 @@ class Container extends \Magento\Core\Block\Html\Select
     protected $_themesFactory;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @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\View\Block\Context $context,
         \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         array $data = array()
@@ -78,7 +78,7 @@ class Container extends \Magento\Core\Block\Html\Select
     /**
      * Add necessary options
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstraction.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstraction.php
index b9f93409d72..bef7ba3202a 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstraction.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstraction.php
@@ -32,7 +32,7 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
  * @method getArea()
  * @method getTheme()
  */
-class DesignAbstraction extends \Magento\Core\Block\Html\Select
+class DesignAbstraction extends \Magento\View\Block\Html\Select
 {
     /**
      * @var \Magento\View\Layout\ProcessorFactory
@@ -50,14 +50,14 @@ class DesignAbstraction extends \Magento\Core\Block\Html\Select
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory
      * @param \Magento\App\State $appState
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         \Magento\App\State $appState,
@@ -72,7 +72,7 @@ class DesignAbstraction extends \Magento\Core\Block\Html\Select
     /**
      * Add necessary options
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
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 f8be6127628..93cef5b4c0c 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
@@ -32,7 +32,7 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
  * @method getArea()
  * @method getTheme()
  */
-class Layout extends \Magento\Core\Block\Html\Select
+class Layout extends \Magento\View\Block\Html\Select
 {
     /**
      * @var \Magento\Core\Model\Layout\PageType\Config
@@ -40,12 +40,12 @@ class Layout extends \Magento\Core\Block\Html\Select
     protected $_config;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param \Magento\Core\Model\Layout\PageType\Config $config
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Block\Context $context,
+        \Magento\View\Block\Context $context,
         \Magento\Core\Model\Layout\PageType\Config $config,
         array $data = array()
     ) {
@@ -56,7 +56,7 @@ class Layout extends \Magento\Core\Block\Html\Select
     /**
      * Add necessary options
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Template.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Template.php
index adfdc0b12fb..9c8c9c07be5 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Template.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Template.php
@@ -50,7 +50,7 @@ class Template
             $html = '<input type="hidden" name="template" value="' . $widgetTemplate['value'] . '" />';
             $html .= $widgetTemplate['label'];
         } else {
-            $html = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+            $html = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
                 ->setName('template')
                 ->setClass('select')
                 ->setOptions($this->getWidgetTemplates())
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 c80a427e492..d3fd95318f6 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
@@ -37,13 +37,6 @@ class Main
     extends \Magento\Backend\Block\Widget\Form\Generic
     implements \Magento\Backend\Block\Widget\Tab\TabInterface
 {
-    /**
-     * Store list manager
-     *
-     * @var \Magento\Core\Model\StoreManagerInterface
-     */
-    protected $_storeManager;
-
     /**
      * @var \Magento\Core\Model\System\Store
      */
@@ -55,29 +48,26 @@ class Main
     protected $_themeLabelFactory;
 
     /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\System\Store $store
      * @param \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $registry,
         \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\System\Store $store,
         \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory,
         array $data = array()
     ) {
-        $this->_storeManager = $storeManager;
         $this->_store = $store;
         $this->_themeLabelFactory = $themeLabelFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/Layout.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/Layout.php
index 1a6ffddf0f3..3642fc74376 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/Layout.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/Layout.php
@@ -46,20 +46,20 @@ class Layout
      */
     protected $_productType;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Catalog\Model\Product\Type $productType
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Catalog\Model\Product\Type $productType
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Catalog\Model\Product\Type $productType,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Catalog\Model\Product\Type $productType,
+        array $data = array()
+    ) {
         $this->_productType = $productType;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
@@ -142,7 +142,7 @@ class Layout
      */
     public function getDisplayOnSelectHtml()
     {
-        $selectBlock = $this->getLayout()->createBlock('Magento\Core\Block\Html\Select')
+        $selectBlock = $this->getLayout()->createBlock('Magento\View\Block\Html\Select')
             ->setName('widget_instance[{{id}}][page_group]')
             ->setId('widget_instance[{{id}}][page_group]')
             ->setClass('required-entry page_group_select select')
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 6dca42608e3..e0e25c71735 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
@@ -49,24 +49,24 @@ class Settings
      */
     protected $_themeLabelFactory;
 
-    /**
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Theme\LabelFactory $themeLabelFactory,
+        array $data = array()
+    ) {
         $this->_themeLabelFactory = $themeLabelFactory;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     protected function _construct()
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Options.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Options.php
index 1df1752a411..522462d4879 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Options.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Options.php
@@ -53,27 +53,27 @@ class Options extends \Magento\Backend\Block\Widget\Form\Generic
      */
     protected $_sourceModelPool;
 
-    /**
-     * @param \Magento\Core\Model\Option\ArrayPool $sourceModelPool
-     * @param \Magento\Widget\Model\Widget $widget
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Data\FormFactory $formFactory
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Backend\Block\Template\Context $context
-     * @param array $data
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Registry $registry
+     * @param \Magento\Data\FormFactory $formFactory
+     * @param \Magento\Core\Model\Option\ArrayPool $sourceModelPool
+     * @param \Magento\Widget\Model\Widget $widget
+     * @param array $data
      */
-    public function __construct(
-        \Magento\Core\Model\Option\ArrayPool $sourceModelPool,
-        \Magento\Widget\Model\Widget $widget,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Data\FormFactory $formFactory,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Backend\Block\Template\Context $context,
-        array $data = array()
-    ) {
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Registry $registry,
+        \Magento\Data\FormFactory $formFactory,
+        \Magento\Core\Model\Option\ArrayPool $sourceModelPool,
+        \Magento\Widget\Model\Widget $widget,
+        array $data = array()
+    ) {
         $this->_sourceModelPool = $sourceModelPool;
         $this->_widget = $widget;
-        parent::__construct($registry, $formFactory, $coreData, $context, $data);
+        parent::__construct($context, $coreData, $registry, $formFactory, $data);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Controller/Adminhtml/Widget.php b/app/code/Magento/Widget/Controller/Adminhtml/Widget.php
index 32e4f6d16fd..25ee6f5f48e 100644
--- a/app/code/Magento/Widget/Controller/Adminhtml/Widget.php
+++ b/app/code/Magento/Widget/Controller/Adminhtml/Widget.php
@@ -33,7 +33,9 @@
  */
 namespace Magento\Widget\Controller\Adminhtml;
 
-class Widget extends \Magento\Backend\Controller\Adminhtml\Action
+use Magento\Backend\App\Action;
+
+class Widget extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -53,15 +55,15 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     protected $_widget;
 
     /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Widget\Model\Widget\Config $widgetConfig
      * @param \Magento\Widget\Model\Widget $widget
-     * @param \Magento\Backend\Controller\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Widget\Model\Widget\Config $widgetConfig,
         \Magento\Widget\Model\Widget $widget,
-        \Magento\Backend\Controller\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_widgetConfig = $widgetConfig;
@@ -81,7 +83,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
 
         $this->_coreRegistry->register('skip_widgets', $skipped);
 
-        $this->loadLayout('empty')->renderLayout();
+        $this->_view->loadLayout('empty')->renderLayout();
     }
 
     /**
@@ -90,11 +92,11 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
     public function loadOptionsAction()
     {
         try {
-            $this->loadLayout('empty');
+            $this->_view->loadLayout('empty');
             if ($paramsJson = $this->getRequest()->getParam('widget')) {
                 $request = $this->_objectManager->get('Magento\Core\Helper\Data')->jsonDecode($paramsJson);
                 if (is_array($request)) {
-                    $optionsBlock = $this->getLayout()->getBlock('wysiwyg_widget.options');
+                    $optionsBlock = $this->_view->getLayout()->getBlock('wysiwyg_widget.options');
                     if (isset($request['widget_type'])) {
                         $optionsBlock->setWidgetType($request['widget_type']);
                     }
@@ -102,7 +104,7 @@ class Widget extends \Magento\Backend\Controller\Adminhtml\Action
                         $optionsBlock->setWidgetValues($request['values']);
                     }
                 }
-                $this->renderLayout();
+                $this->_view->renderLayout();
             }
         } catch (\Magento\Core\Exception $e) {
             $result = array('error' => true, 'message' => $e->getMessage());
diff --git a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
index 8eff3d9bbdc..428755b8391 100644
--- a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
+++ b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Widget\Controller\Adminhtml\Widget;
 
-class Instance extends \Magento\Backend\Controller\Adminhtml\Action
+class Instance extends \Magento\Backend\App\Action
 {
     /**
      * Core registry
@@ -54,19 +54,27 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
     protected $mathRandom;
 
     /**
-     * @param \Magento\Backend\Controller\Context $context
+     * @var \Magento\Core\Model\Translate
+     */
+    protected $_translator;
+
+    /**
+     * @param \Magento\Backend\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Widget\Model\Widget\InstanceFactory $widgetFactory
      * @param \Magento\Logger $logger
      * @param \Magento\Math\Random $mathRandom
+     * @param \Magento\Core\Model\Translate $translator
      */
     public function __construct(
-        \Magento\Backend\Controller\Context $context,
+        \Magento\Backend\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Widget\Model\Widget\InstanceFactory $widgetFactory,
         \Magento\Logger $logger,
-        \Magento\Math\Random $mathRandom
+        \Magento\Math\Random $mathRandom,
+        \Magento\Core\Model\Translate $translator
     ) {
+        $this->_translator = $translator;
         $this->_coreRegistry = $coreRegistry;
         $this->_widgetFactory = $widgetFactory;
         $this->_logger = $logger;
@@ -81,8 +89,8 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initAction()
     {
-        $this->loadLayout()
-            ->_setActiveMenu('Magento_Widget::cms_widget_instance')
+        $this->_view->loadLayout();
+        $this->_setActiveMenu('Magento_Widget::cms_widget_instance')
             ->_addBreadcrumb(__('CMS'),
                 __('CMS'))
             ->_addBreadcrumb(__('Manage Widget Instances'),
@@ -97,7 +105,7 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
      */
     protected function _initWidgetInstance()
     {
-        $this->_title(__('Frontend Apps'));
+        $this->_title->add(__('Frontend Apps'));
 
         /** @var $widgetInstance \Magento\Widget\Model\Widget\Instance */
         $widgetInstance = $this->_widgetFactory->create();
@@ -134,10 +142,10 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
      */
     public function indexAction()
     {
-        $this->_title(__('Frontend Apps'));
+        $this->_title->add(__('Frontend Apps'));
 
-        $this->_initAction()
-            ->renderLayout();
+        $this->_initAction();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -161,10 +169,10 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
             return;
         }
 
-        $this->_title($widgetInstance->getId() ? $widgetInstance->getTitle() : __('New Frontend App Instance'));
+        $this->_title->add($widgetInstance->getId() ? $widgetInstance->getTitle() : __('New Frontend App Instance'));
 
         $this->_initAction();
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
@@ -192,9 +200,9 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
         $result = $widgetInstance->validate();
         if ($result !== true && is_string($result)) {
             $this->_getSession()->addError($result);
-            $this->_initLayoutMessages('Magento\Adminhtml\Model\Session');
+            $this->_view->getLayout()->initMessages('Magento\Adminhtml\Model\Session');
             $response->setError(true);
-            $response->setMessage($this->getLayout()->getMessagesBlock()->getGroupedHtml());
+            $response->setMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
         }
         $this->setBody($response->toJson());
     }
@@ -267,7 +275,7 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $selected = $this->getRequest()->getParam('selected', '');
         $isAnchorOnly = $this->getRequest()->getParam('is_anchor_only', 0);
-        $chooser = $this->getLayout()
+        $chooser = $this->_view->getLayout()
             ->createBlock('Magento\Catalog\Block\Adminhtml\Category\Widget\Chooser')
             ->setUseMassaction(true)
             ->setId($this->mathRandom->getUniqueHash('categories'))
@@ -284,14 +292,14 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
     {
         $selected = $this->getRequest()->getParam('selected', '');
         $productTypeId = $this->getRequest()->getParam('product_type_id', '');
-        $chooser = $this->getLayout()
+        $chooser = $this->_view->getLayout()
             ->createBlock('Magento\Catalog\Block\Adminhtml\Product\Widget\Chooser')
             ->setName($this->mathRandom->getUniqueHash('products_grid_'))
             ->setUseMassaction(true)
             ->setProductTypeId($productTypeId)
             ->setSelectedProducts(explode(',', $selected));
         /* @var $serializer \Magento\Adminhtml\Block\Widget\Grid\Serializer */
-        $serializer = $this->getLayout()->createBlock(
+        $serializer = $this->_view->getLayout()->createBlock(
             'Magento\Adminhtml\Block\Widget\Grid\Serializer',
             '',
             array(
@@ -325,7 +333,7 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
         $widgetInstance = $this->_initWidgetInstance();
         $layout = $this->getRequest()->getParam('layout');
         $selected = $this->getRequest()->getParam('selected', null);
-        $blocksChooser = $this->getLayout()
+        $blocksChooser = $this->_view->getLayout()
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container')
             ->setValue($selected)
             ->setArea($widgetInstance->getArea())
@@ -345,7 +353,7 @@ class Instance extends \Magento\Backend\Controller\Adminhtml\Action
         $widgetInstance = $this->_initWidgetInstance();
         $block = $this->getRequest()->getParam('block');
         $selected = $this->getRequest()->getParam('selected', null);
-        $templateChooser = $this->getLayout()
+        $templateChooser = $this->_view->getLayout()
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Template')
             ->setSelected($selected)
             ->setWidgetTemplates($widgetInstance->getWidgetSupportedTemplatesByContainer($block));
diff --git a/app/code/Magento/Widget/Helper/Data.php b/app/code/Magento/Widget/Helper/Data.php
index 27012d0c79b..54d973dfe1f 100644
--- a/app/code/Magento/Widget/Helper/Data.php
+++ b/app/code/Magento/Widget/Helper/Data.php
@@ -33,6 +33,6 @@
  */
 namespace Magento\Widget\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
 }
diff --git a/app/code/Magento/Widget/Model/Template/Filter.php b/app/code/Magento/Widget/Model/Template/Filter.php
index 8db19daa417..ee5d453d416 100644
--- a/app/code/Magento/Widget/Model/Template/Filter.php
+++ b/app/code/Magento/Widget/Model/Template/Filter.php
@@ -48,7 +48,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\Widget\Model\Resource\Widget $widgetResource
@@ -62,7 +62,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter
         \Magento\View\Url $viewUrl,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
-        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\View\LayoutInterface $layout,
         \Magento\View\LayoutFactory $layoutFactory,
         \Magento\Widget\Model\Resource\Widget $widgetResource,
diff --git a/app/code/Magento/Widget/Model/Widget/Instance.php b/app/code/Magento/Widget/Model/Widget/Instance.php
index 2d0aa22e233..4ebacd8f1b4 100644
--- a/app/code/Magento/Widget/Model/Widget/Instance.php
+++ b/app/code/Magento/Widget/Model/Widget/Instance.php
@@ -525,7 +525,7 @@ class Instance extends \Magento\Core\Model\AbstractModel
         $templateFilename = $this->_viewFileSystem->getFilename($templatePath, array(
             'area'    => $this->getArea(),
             'themeId' => $this->getThemeId(),
-            'module'  => \Magento\Core\Block\AbstractBlock::extractModuleName($this->getType()),
+            'module'  => \Magento\View\Block\AbstractBlock::extractModuleName($this->getType()),
         ));
         if (!$this->getId() && !$this->isCompleteToCreate() || ($templatePath && !is_readable($templateFilename))) {
             return '';
diff --git a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_edit.xml b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_edit.xml
index be52e15f80e..aef3b7e056b 100644
--- a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_edit.xml
+++ b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_edit.xml
@@ -48,11 +48,6 @@
                 <argument name="file" xsi:type="string">Magento_Core::prototype/magento.css</argument>
             </arguments>
         </block>
-        <block class="Magento\Page\Block\Html\Head\Css" name="magento-widget-css-styles-css">
-            <arguments>
-                <argument name="file" xsi:type="string">Magento_Widget::css/styles.css</argument>
-            </arguments>
-        </block>
     </referenceBlock>
     <referenceContainer name="content">
         <block class="Magento\Widget\Block\Adminhtml\Widget\Instance\Edit" name="widget_instance_edit"/>
diff --git a/app/code/Magento/Wishlist/Block/AbstractBlock.php b/app/code/Magento/Wishlist/Block/AbstractBlock.php
index 0a51ab94b1e..579097edb94 100644
--- a/app/code/Magento/Wishlist/Block/AbstractBlock.php
+++ b/app/code/Magento/Wishlist/Block/AbstractBlock.php
@@ -82,29 +82,25 @@ abstract class AbstractBlock extends \Magento\Catalog\Block\Product\AbstractProd
     protected $_productFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Customer\Model\Session $customerSession,
@@ -114,17 +110,7 @@ abstract class AbstractBlock extends \Magento\Catalog\Block\Product\AbstractProd
         $this->_wishlistData = $wishlistData;
         $this->_customerSession = $customerSession;
         $this->_productFactory = $productFactory;
-        parent::__construct(
-            $storeManager,
-            $catalogConfig,
-            $coreRegistry,
-            $taxData,
-            $catalogData,
-            $coreData,
-            $context,
-            $mathRandom,
-            $data
-        );
+        parent::__construct($context, $coreData, $catalogConfig, $registry, $taxData, $catalogData, $mathRandom, $data);
     }
 
     /**
@@ -390,7 +376,7 @@ abstract class AbstractBlock extends \Magento\Catalog\Block\Product\AbstractProd
      * Returns block to render item with some product type
      *
      * @param string $productType
-     * @return \Magento\Core\Block\Template
+     * @return \Magento\View\Block\Template
      */
     protected function _getItemPriceBlock($productType)
     {
diff --git a/app/code/Magento/Wishlist/Block/Customer/Sharing.php b/app/code/Magento/Wishlist/Block/Customer/Sharing.php
index de022695db3..e32f00a8035 100644
--- a/app/code/Magento/Wishlist/Block/Customer/Sharing.php
+++ b/app/code/Magento/Wishlist/Block/Customer/Sharing.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Wishlist\Block\Customer;
 
-class Sharing extends \Magento\Core\Block\Template
+class Sharing extends \Magento\View\Block\Template
 {
     /**
      * Entered Data cache
@@ -56,22 +56,22 @@ class Sharing extends \Magento\Core\Block\Template
     protected $_wishlistSession;
 
     /**
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Wishlist\Model\Config $wishlistConfig
-     * @param \Magento\Core\Model\Session\Generic $wishlistlSession
+     * @param \Magento\Core\Model\Session\Generic $wishlistSession
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Wishlist\Model\Config $wishlistConfig,
-        \Magento\Core\Model\Session\Generic $wishlistlSession,
+        \Magento\Core\Model\Session\Generic $wishlistSession,
         array $data = array()
     ) {
         $this->_wishlistConfig = $wishlistConfig;
-        $this->_wishlistSession = $wishlistlSession;
-        parent::__construct($coreData, $context, $data);
+        $this->_wishlistSession = $wishlistSession;
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist.php
index 0ffbbd94aec..cb1550a9af9 100644
--- a/app/code/Magento/Wishlist/Block/Customer/Wishlist.php
+++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist.php
@@ -42,30 +42,26 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
     protected $_helperPool;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Catalog\Helper\Product\ConfigurationPool $helperPool
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Customer\Model\Session $customerSession,
@@ -75,13 +71,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
     ) {
         $this->_helperPool = $helperPool;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $wishlistData,
             $customerSession,
diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Button.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Button.php
index a3bc3f370c9..302551bf318 100644
--- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Button.php
+++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Button.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Wishlist\Block\Customer\Wishlist;
 
-class Button extends \Magento\Core\Block\Template
+class Button extends \Magento\View\Block\Template
 {
     /**
      * Wishlist config
@@ -50,22 +50,22 @@ class Button extends \Magento\Core\Block\Template
     protected $_wishlistData = null;
 
     /**
-     * @param \Magento\Wishlist\Helper\Data $wishlistData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Wishlist\Model\Config $wishlistConfig
      * @param array $data
      */
     public function __construct(
-        \Magento\Wishlist\Helper\Data $wishlistData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Wishlist\Model\Config $wishlistConfig,
         array $data = array()
     ) {
         $this->_wishlistData = $wishlistData;
         $this->_wishlistConfig = $wishlistConfig;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Options.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Options.php
index 514bc462ac8..4f930c5d455 100644
--- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Options.php
+++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Item/Options.php
@@ -41,13 +41,12 @@ class Options extends \Magento\Wishlist\Block\AbstractBlock
     protected $_helperPool;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Customer\Model\Session $customerSession
@@ -56,13 +55,12 @@ class Options extends \Magento\Wishlist\Block\AbstractBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Customer\Model\Session $customerSession,
@@ -72,13 +70,12 @@ class Options extends \Magento\Wishlist\Block\AbstractBlock
     ) {
         $this->_helperPool = $helperPool;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $wishlistData,
             $customerSession,
diff --git a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Items.php b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Items.php
index 6293d48a434..a7eedbbe2a6 100644
--- a/app/code/Magento/Wishlist/Block/Customer/Wishlist/Items.php
+++ b/app/code/Magento/Wishlist/Block/Customer/Wishlist/Items.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Wishlist\Block\Customer\Wishlist;
 
-class Items extends \Magento\Core\Block\Template
+class Items extends \Magento\View\Block\Template
 {
     /**
      * Retreive table column object list
diff --git a/app/code/Magento/Wishlist/Block/Item/Configure.php b/app/code/Magento/Wishlist/Block/Item/Configure.php
index 36a0bf8b008..3562deab31b 100644
--- a/app/code/Magento/Wishlist/Block/Item/Configure.php
+++ b/app/code/Magento/Wishlist/Block/Item/Configure.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Wishlist\Block\Item;
 
-class Configure extends \Magento\Core\Block\Template
+class Configure extends \Magento\View\Block\Template
 {
     /**
      * Wishlist data
@@ -51,22 +51,22 @@ class Configure extends \Magento\Core\Block\Template
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Wishlist\Helper\Data $wishlistData
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Core\Model\Registry $registry
      * @param array $data
      */
     public function __construct(
-        \Magento\Wishlist\Helper\Data $wishlistData,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Core\Model\Registry $registry,
         array $data = array()
     ) {
         $this->_wishlistData = $wishlistData;
         $this->_coreRegistry = $registry;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
diff --git a/app/code/Magento/Wishlist/Block/Render/Item/Price.php b/app/code/Magento/Wishlist/Block/Render/Item/Price.php
index 6fefadcb008..511814fb9c9 100644
--- a/app/code/Magento/Wishlist/Block/Render/Item/Price.php
+++ b/app/code/Magento/Wishlist/Block/Render/Item/Price.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Wishlist\Block\Render\Item;
 
-class Price extends \Magento\Core\Block\Template
+class Price extends \Magento\View\Block\Template
 {
     /**
      * Returns html for rendering non-configured product
diff --git a/app/code/Magento/Wishlist/Block/Share/Email/Rss.php b/app/code/Magento/Wishlist/Block/Share/Email/Rss.php
index f5c55cf78b4..a27d74e79fe 100644
--- a/app/code/Magento/Wishlist/Block/Share/Email/Rss.php
+++ b/app/code/Magento/Wishlist/Block/Share/Email/Rss.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Wishlist\Block\Share\Email;
 
-class Rss extends \Magento\Core\Block\Template
+class Rss extends \Magento\View\Block\Template
 {
 
     protected $_template = 'email/rss.phtml';
diff --git a/app/code/Magento/Wishlist/Block/Share/Wishlist.php b/app/code/Magento/Wishlist/Block/Share/Wishlist.php
index f692b972451..8675bd1f62f 100644
--- a/app/code/Magento/Wishlist/Block/Share/Wishlist.php
+++ b/app/code/Magento/Wishlist/Block/Share/Wishlist.php
@@ -49,13 +49,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
     protected $_customerFactory;
 
     /**
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\View\Block\Template\Context $context
+     * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Config $catalogConfig
-     * @param \Magento\Core\Model\Registry $coreRegistry
+     * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Catalog\Helper\Data $catalogData
-     * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Math\Random $mathRandom
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Customer\Model\Session $customerSession
@@ -64,13 +63,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\StoreManagerInterface $storeManager,
+        \Magento\View\Block\Template\Context $context,
+        \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Config $catalogConfig,
-        \Magento\Core\Model\Registry $coreRegistry,
+        \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Catalog\Helper\Data $catalogData,
-        \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         \Magento\Math\Random $mathRandom,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Customer\Model\Session $customerSession,
@@ -80,13 +78,12 @@ class Wishlist extends \Magento\Wishlist\Block\AbstractBlock
     ) {
         $this->_customerFactory = $customerFactory;
         parent::__construct(
-            $storeManager,
+            $context,
+            $coreData,
             $catalogConfig,
-            $coreRegistry,
+            $registry,
             $taxData,
             $catalogData,
-            $coreData,
-            $context,
             $mathRandom,
             $wishlistData,
             $customerSession,
diff --git a/app/code/Magento/Wishlist/Controller/AbstractController.php b/app/code/Magento/Wishlist/Controller/AbstractController.php
index d1bcd71eea9..e75b74065ca 100644
--- a/app/code/Magento/Wishlist/Controller/AbstractController.php
+++ b/app/code/Magento/Wishlist/Controller/AbstractController.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Wishlist\Controller;
 
-abstract class AbstractController extends \Magento\Core\Controller\Front\Action
+abstract class AbstractController extends \Magento\App\Action\Action
 {
     /**
      * Filter to convert localized values to internal ones
@@ -77,7 +77,7 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
     {
         $wishlist   = $this->_getWishlist();
         if (!$wishlist) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
             return ;
         }
         $isOwner    = $wishlist->isOwner($this->_objectManager->get('Magento\Customer\Model\Session')->getCustomerId());
@@ -133,8 +133,8 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
         }
         if ($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getShouldRedirectToCart()) {
             $redirectUrl = $this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl();
-        } else if ($this->_getRefererUrl()) {
-            $redirectUrl = $this->_getRefererUrl();
+        } else if ($this->_redirect->getRefererUrl()) {
+            $redirectUrl = $this->_redirect->getRefererUrl();
         } else {
             $redirectUrl = $indexUrl;
         }
@@ -197,6 +197,6 @@ abstract class AbstractController extends \Magento\Core\Controller\Front\Action
 
         $this->_objectManager->get('Magento\Wishlist\Helper\Data')->calculate();
 
-        $this->_redirectUrl($redirectUrl);
+        $this->getResponse()->setRedirect($redirectUrl);
     }
 }
diff --git a/app/code/Magento/Wishlist/Controller/Index.php b/app/code/Magento/Wishlist/Controller/Index.php
index 172143ebe20..55d8ad60603 100644
--- a/app/code/Magento/Wishlist/Controller/Index.php
+++ b/app/code/Magento/Wishlist/Controller/Index.php
@@ -34,21 +34,22 @@
  */
 namespace Magento\Wishlist\Controller;
 
+use Magento\App\Action\NotFoundException;
+use Magento\App\RequestInterface;
+
 class Index
     extends \Magento\Wishlist\Controller\AbstractController
     implements \Magento\Catalog\Controller\Product\View\ViewInterface
 {
     /**
-     * @var \Magento\Wishlist\Model\Config
+     * @var \Magento\App\Response\Http\FileFactory
      */
-    protected $_wishlistConfig;
+    protected $_fileResponseFactory;
 
     /**
-     * Action list where need check enabled cookie
-     *
-     * @var array
+     * @var \Magento\Wishlist\Model\Config
      */
-    protected $_cookieCheckActions = array('add');
+    protected $_wishlistConfig;
 
     /**
      * If true, authentication in this controller (wishlist) could be skipped
@@ -65,46 +66,54 @@ class Index
     protected $_coreRegistry;
 
     /**
-     * @var \Magento\Core\Model\Url
+     * @var \Magento\Core\App\Action\FormKeyValidator
      */
-    protected $_url;
+    protected $_formKeyValidator;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Wishlist\Model\Config $wishlistConfig
-     * @param \Magento\Core\Model\Url $url
+     * @param \Magento\App\Response\Http\FileFactory $fileResponseFactory
+     * @param \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Wishlist\Model\Config $wishlistConfig,
-        \Magento\Core\Model\Url $url
+        \Magento\App\Response\Http\FileFactory $fileResponseFactory,
+        \Magento\Core\App\Action\FormKeyValidator $formKeyValidator
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_wishlistConfig = $wishlistConfig;
-        $this->_url = $url;
+        $this->_fileResponseFactory = $fileResponseFactory;
+        $this->_formKeyValidator = $formKeyValidator;
         parent::__construct($context);
     }
 
-    public function preDispatch()
+    /**
+     * Dispatch request
+     *
+     * @param RequestInterface $request
+     * @return mixed
+     * @throws \Magento\App\Action\NotFoundException
+     */
+    public function dispatch(RequestInterface $request)
     {
-        parent::preDispatch();
-
         if (!$this->_skipAuthentication
             && !$this->_objectManager->get('Magento\Customer\Model\Session')->authenticate($this)
         ) {
-            $this->setFlag('', 'no-dispatch', true);
+            $this->_actionFlag->set('', 'no-dispatch', true);
             $customerSession = $this->_objectManager->get('Magento\Customer\Model\Session');
             if (!$customerSession->getBeforeWishlistUrl()) {
-                $customerSession->setBeforeWishlistUrl($this->_getRefererUrl());
+                $customerSession->setBeforeWishlistUrl($this->_redirect->getRefererUrl());
             }
-            $customerSession->setBeforeWishlistRequest($this->getRequest()->getParams());
+            $customerSession->setBeforeWishlistRequest($request->getParams());
         }
         if (!$this->_objectManager->get('Magento\Core\Model\Store\Config')->getConfigFlag('wishlist/general/active')) {
-            $this->norouteAction();
-            return;
+            throw new NotFoundException();
         }
+        return parent::dispatch($request);
     }
 
     /**
@@ -166,40 +175,47 @@ class Index
 
     /**
      * Display customer wishlist
+     *
+     * @throws NotFoundException
      */
     public function indexAction()
     {
         if (!$this->_getWishlist()) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
-        $this->loadLayout();
+        $this->_view->loadLayout();
 
         $session = $this->_objectManager->get('Magento\Customer\Model\Session');
-        $block   = $this->getLayout()->getBlock('customer.wishlist');
+        $block   = $this->_view->getLayout()->getBlock('customer.wishlist');
         $referer = $session->getAddActionReferer(true);
         if ($block) {
-            $block->setRefererUrl($this->_getRefererUrl());
+            $block->setRefererUrl($this->_redirect->getRefererUrl());
             if ($referer) {
                 $block->setRefererUrl($referer);
             }
         }
 
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->_initLayoutMessages('Magento\Catalog\Model\Session');
-        $this->_initLayoutMessages('Magento\Wishlist\Model\Session');
+        $messageStores = array(
+            'Magento\Customer\Model\Session',
+            'Magento\Checkout\Model\Session',
+            'Magento\Catalog\Model\Session',
+            'Magento\Wishlist\Model\Session'
+        );
+        $this->_view->getLayout()->initMessages($messageStores);
 
-        $this->renderLayout();
+        $this->_view->renderLayout();
     }
 
     /**
      * Adding new item
+     *
+     * @throws NotFoundException
      */
     public function addAction()
     {
         $wishlist = $this->_getWishlist();
         if (!$wishlist) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
 
         $session = $this->_objectManager->get('Magento\Customer\Model\Session');
@@ -244,7 +260,7 @@ class Index
             if ($referer) {
                 $session->setBeforeWishlistUrl(null);
             } else {
-                $referer = $this->_getRefererUrl();
+                $referer = $this->_redirect->getRefererUrl();
             }
 
             /**
@@ -270,6 +286,8 @@ class Index
 
     /**
      * Action to reconfigure wishlist item
+     *
+     * @throws NotFoundException
      */
     public function configureAction()
     {
@@ -283,7 +301,7 @@ class Index
             }
             $wishlist = $this->_getWishlist($item->getWishlistId());
             if (!$wishlist) {
-                return $this->norouteAction();
+                throw new NotFoundException();
             }
 
             $this->_coreRegistry->register('wishlist_item', $item);
@@ -370,15 +388,17 @@ class Index
 
     /**
      * Update wishlist item comments
+     *
+     * @throws NotFoundException
      */
     public function updateAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             return $this->_redirect('*/*/');
         }
         $wishlist = $this->_getWishlist();
         if (!$wishlist) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
 
         $post = $this->getRequest()->getPost();
@@ -457,17 +477,19 @@ class Index
 
     /**
      * Remove item
+     *
+     * @throws NotFoundException
      */
     public function removeAction()
     {
         $id = (int) $this->getRequest()->getParam('item');
         $item = $this->_objectManager->create('Magento\Wishlist\Model\Item')->load($id);
         if (!$item->getId()) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
         $wishlist = $this->_getWishlist($item->getWishlistId());
         if (!$wishlist) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
         try {
             $item->delete();
@@ -484,7 +506,8 @@ class Index
 
         $this->_objectManager->get('Magento\Wishlist\Helper\Data')->calculate();
 
-        $this->_redirectReferer($this->_url->getUrl('*/*'));
+        $url = $this->_redirect->getRedirectUrl($this->_url->getUrl('*/*'));
+        $this->getResponse()->setRedirect($url);
     }
 
     /**
@@ -546,8 +569,8 @@ class Index
 
             if ($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getShouldRedirectToCart()) {
                 $redirectUrl = $this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl();
-            } else if ($this->_getRefererUrl()) {
-                $redirectUrl = $this->_getRefererUrl();
+            } else if ($this->_redirect->getRefererUrl()) {
+                $redirectUrl = $this->_redirect->getRefererUrl();
             }
             $this->_objectManager->get('Magento\Wishlist\Helper\Data')->calculate();
         } catch (\Magento\Core\Exception $e) {
@@ -566,17 +589,19 @@ class Index
 
         $this->_objectManager->get('Magento\Wishlist\Helper\Data')->calculate();
 
-        return $this->_redirectUrl($redirectUrl);
+        return $this->getResponse()->setRedirect($redirectUrl);
     }
 
     /**
      * Add cart item to wishlist and remove from cart
+     *
+     * @throws NotFoundException
      */
     public function fromcartAction()
     {
         $wishlist = $this->_getWishlist();
         if (!$wishlist) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
         $itemId = (int) $this->getRequest()->getParam('item');
 
@@ -613,7 +638,7 @@ class Index
             $session->addException($e, __('We can\'t move the item to the wish list.'));
         }
 
-        return $this->_redirectUrl($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl());
+        return $this->getResponse()->setRedirect($this->_objectManager->get('Magento\Checkout\Helper\Cart')->getCartUrl());
     }
 
     /**
@@ -622,26 +647,26 @@ class Index
     public function shareAction()
     {
         $this->_getWishlist();
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Customer\Model\Session');
-        $this->_initLayoutMessages('Magento\Wishlist\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages(array('Magento\Customer\Model\Session', 'Magento\Wishlist\Model\Session'));
+        $this->_view->renderLayout();
     }
 
     /**
      * Share wishlist
      *
-     * @return \Magento\Core\Controller\Varien\Action|void
+     * @return \Magento\App\Action\Action|void
+     * @throws NotFoundException
      */
     public function sendAction()
     {
-        if (!$this->_validateFormKey()) {
+        if (!$this->_formKeyValidator->validate($this->getRequest())) {
             return $this->_redirect('*/*/');
         }
 
         $wishlist = $this->_getWishlist();
         if (!$wishlist) {
-            return $this->norouteAction();
+            throw new NotFoundException();
         }
 
         $sharingLimit = $this->_wishlistConfig->getSharingEmailLimit();
@@ -688,17 +713,17 @@ class Index
 
             /*if share rss added rss feed to email template*/
             if ($this->getRequest()->getParam('rss_url')) {
-                $rss_url = $this->getLayout()
+                $rss_url = $this->_view->getLayout()
                     ->createBlock('Magento\Wishlist\Block\Share\Email\Rss')
                     ->setWishlistId($wishlist->getId())
                     ->toHtml();
                 $message .= $rss_url;
             }
-            $wishlistBlock = $this->getLayout()->createBlock('Magento\Wishlist\Block\Share\Email\Items')->toHtml();
+            $wishlistBlock = $this->_view->getLayout()->createBlock('Magento\Wishlist\Block\Share\Email\Items')->toHtml();
 
             $emails = array_unique($emails);
-            /* @var $emailModel \Magento\Core\Model\Email\Template */
-            $emailModel = $this->_objectManager->create('Magento\Core\Model\Email\Template');
+            /* @var $emailModel \Magento\Email\Model\Template */
+            $emailModel = $this->_objectManager->create('Magento\Email\Model\Template');
 
             $sharingCode = $wishlist->getSharingCode();
 
@@ -754,14 +779,14 @@ class Index
             ->load($this->getRequest()->getParam('id'));
 
         if (!$option->getId()) {
-            return $this->_forward('noRoute');
+            return $this->_forward('noroute');
         }
 
         $optionId = null;
         if (strpos($option->getCode(), \Magento\Catalog\Model\Product\Type\AbstractType::OPTION_PREFIX) === 0) {
             $optionId = str_replace(\Magento\Catalog\Model\Product\Type\AbstractType::OPTION_PREFIX, '', $option->getCode());
             if ((int)$optionId != $optionId) {
-                return $this->_forward('noRoute');
+                return $this->_forward('noroute');
             }
         }
         $productOption = $this->_objectManager->create('Magento\Catalog\Model\Product\Option')->load($optionId);
@@ -771,7 +796,7 @@ class Index
             || $productOption->getProductId() != $option->getProductId()
             || $productOption->getType() != 'file'
         ) {
-            return $this->_forward('noRoute');
+            return $this->_forward('noroute');
         }
 
         try {
@@ -780,14 +805,14 @@ class Index
             $secretKey = $this->getRequest()->getParam('key');
 
             if ($secretKey == $info['secret_key']) {
-                $this->_prepareDownloadResponse($info['title'], array(
+                $this->_fileResponseFactory->create($info['title'], array(
                     'value' => $filePath,
                     'type'  => 'filename'
                 ));
             }
 
         } catch(\Exception $e) {
-            $this->_forward('noRoute');
+            $this->_forward('noroute');
         }
         exit(0);
     }
diff --git a/app/code/Magento/Wishlist/Controller/Shared.php b/app/code/Magento/Wishlist/Controller/Shared.php
index 3b50e04d894..67e3775fe1e 100644
--- a/app/code/Magento/Wishlist/Controller/Shared.php
+++ b/app/code/Magento/Wishlist/Controller/Shared.php
@@ -44,11 +44,11 @@ class Shared extends \Magento\Wishlist\Controller\AbstractController
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Context $context
+     * @param \Magento\App\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Context $context,
+        \Magento\App\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_coreRegistry = $coreRegistry;
@@ -87,16 +87,17 @@ class Shared extends \Magento\Wishlist\Controller\AbstractController
         $customerId = $this->_objectManager->get('Magento\Customer\Model\Session')->getCustomerId();
 
         if ($wishlist && $wishlist->getCustomerId() && $wishlist->getCustomerId() == $customerId) {
-            $this->_redirectUrl($this->_objectManager->get('Magento\Wishlist\Helper\Data')->getListUrl($wishlist->getId()));
+            $this->getResponse()->setRedirect(
+                $this->_objectManager->get('Magento\Wishlist\Helper\Data')->getListUrl($wishlist->getId())
+            );
             return;
         }
 
         $this->_coreRegistry->register('shared_wishlist', $wishlist);
 
-        $this->loadLayout();
-        $this->_initLayoutMessages('Magento\Checkout\Model\Session');
-        $this->_initLayoutMessages('Magento\Wishlist\Model\Session');
-        $this->renderLayout();
+        $this->_view->loadLayout();
+        $this->_view->getLayout()->initMessages(array('Magento\Checkout\Model\Session', 'Magento\Wishlist\Model\Session'));
+        $this->_view->renderLayout();
     }
 
     /**
@@ -118,7 +119,7 @@ class Shared extends \Magento\Wishlist\Controller\AbstractController
         $session    = $this->_objectManager->get('Magento\Wishlist\Model\Session');
         $cart       = $this->_objectManager->get('Magento\Checkout\Model\Cart');
 
-        $redirectUrl = $this->_getRefererUrl();
+        $redirectUrl = $this->_redirect->getRefererUrl();
 
         try {
             $options = $this->_objectManager->create('Magento\Wishlist\Model\Item\Option')->getCollection()
@@ -142,6 +143,6 @@ class Shared extends \Magento\Wishlist\Controller\AbstractController
             $session->addException($e, __('Cannot add item to shopping cart'));
         }
 
-        return $this->_redirectUrl($redirectUrl);
+        return $this->getResponse()->setRedirect($redirectUrl);
     }
 }
diff --git a/app/code/Magento/Wishlist/Helper/Data.php b/app/code/Magento/Wishlist/Helper/Data.php
index 176d3dc17d9..e31029d6475 100644
--- a/app/code/Magento/Wishlist/Helper/Data.php
+++ b/app/code/Magento/Wishlist/Helper/Data.php
@@ -34,7 +34,7 @@
  */
 namespace Magento\Wishlist\Helper;
 
-class Data extends \Magento\Core\Helper\AbstractHelper
+class Data extends \Magento\App\Helper\AbstractHelper
 {
     /**
      * Config key 'Display Wishlist Summary'
@@ -81,13 +81,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     protected $_coreData;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * Core registry
      *
@@ -118,9 +111,8 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_storeManager;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Helper\Context $context
+     * @param \Magento\App\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Session $customerSession
@@ -128,9 +120,8 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Helper\Context $context,
+        \Magento\App\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Session $customerSession,
@@ -138,7 +129,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_coreRegistry = $coreRegistry;
-        $this->_eventManager = $eventManager;
         $this->_coreData = $coreData;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_customerSession = $customerSession;
@@ -399,7 +389,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             ))
         );
 
-        $urlParamName = \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED;
+        $urlParamName = \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED;
         $params = array(
             'item' => is_string($item) ? $item : $item->getWishlistItemId(),
             $urlParamName => $continueUrl
@@ -421,7 +411,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             '_store_to_url' => true,
         )));
 
-        $urlParamName = \Magento\Core\Controller\Front\Action::PARAM_NAME_URL_ENCODED;
+        $urlParamName = \Magento\App\Action\Action::PARAM_NAME_URL_ENCODED;
         $params = array(
             'item' => is_string($item) ? $item : $item->getWishlistItemId(),
             $urlParamName => $continueUrl
diff --git a/app/code/Magento/Wishlist/Model/Wishlist.php b/app/code/Magento/Wishlist/Model/Wishlist.php
index a9d13a45cd1..25643cbc479 100644
--- a/app/code/Magento/Wishlist/Model/Wishlist.php
+++ b/app/code/Magento/Wishlist/Model/Wishlist.php
@@ -81,13 +81,6 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
      */
     protected $_catalogProduct;
 
-    /**
-     * Core event manager proxy
-     *
-     * @var \Magento\Event\ManagerInterface
-     */
-    protected $_eventManager;
-
     /**
      * @var \Magento\Core\Model\StoreManagerInterface
      */
@@ -124,7 +117,6 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
     protected $dateTime;
 
     /**
-     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Wishlist\Helper\Data $wishlistData
      * @param \Magento\Core\Model\Context $context
@@ -141,7 +133,6 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Wishlist\Helper\Data $wishlistData,
         \Magento\Core\Model\Context $context,
@@ -157,7 +148,6 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
         \Magento\Stdlib\DateTime $dateTime,
         array $data = array()
     ) {
-        $this->_eventManager = $eventManager;
         $this->_catalogProduct = $catalogProduct;
         $this->_wishlistData = $wishlistData;
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Wishlist/etc/frontend/di.xml b/app/code/Magento/Wishlist/etc/frontend/di.xml
index 031fab57d3e..cbac21f627b 100644
--- a/app/code/Magento/Wishlist/etc/frontend/di.xml
+++ b/app/code/Magento/Wishlist/etc/frontend/di.xml
@@ -47,4 +47,14 @@
             </value>
         </param>
     </type>
+    <virtualType name="wishlistInitSession" type="Magento\Core\App\Action\Plugin\Session">
+        <param name="cookieCheckActions">
+            <value>
+                <wishlistAdd>add</wishlistAdd>
+            </value>
+        </param>
+    </virtualType>
+    <type name="Magento\Wishlist\Controller\Index">
+        <plugin name="sessionInitializer" type="wishlistInitSession" />
+    </type>
 </config>
diff --git a/app/code/Magento/Wishlist/view/adminhtml/customer/edit/tab/wishlist.phtml b/app/code/Magento/Wishlist/view/adminhtml/customer/edit/tab/wishlist.phtml
index 87837717410..d09393e45db 100644
--- a/app/code/Magento/Wishlist/view/adminhtml/customer/edit/tab/wishlist.phtml
+++ b/app/code/Magento/Wishlist/view/adminhtml/customer/edit/tab/wishlist.phtml
@@ -25,7 +25,7 @@
  */
 
 /**
- * @var $this \Magento\Core\Block\Template
+ * @var $this \Magento\View\Block\Template
  */
 ?>
 <script type="text/javascript">
diff --git a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
index 6b0ad6db147..ee4f5b8caee 100644
--- a/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
+++ b/app/code/Magento/Wishlist/view/adminhtml/layout/customer_index_wishlist.xml
@@ -120,7 +120,7 @@
                 </arguments>
             </block>
         </block>
-        <block class="Magento\Core\Block\Template" as="grid.js">
+        <block class="Magento\View\Block\Template" as="grid.js">
             <arguments>
                 <argument name="js_object_name" xsi:type="string">wishlistGridJsObject</argument>
                 <argument name="template" xsi:type="string">Magento_Wishlist::customer/edit/tab/wishlist.phtml</argument>
diff --git a/app/design/adminhtml/magento_backend/Magento_Adminhtml/layout/default.xml b/app/design/adminhtml/magento_backend/Magento_Adminhtml/layout/default.xml
index 510af413bcb..51f6344bc3e 100644
--- a/app/design/adminhtml/magento_backend/Magento_Adminhtml/layout/default.xml
+++ b/app/design/adminhtml/magento_backend/Magento_Adminhtml/layout/default.xml
@@ -50,9 +50,9 @@
                 <argument name="file" xsi:type="string">mui/components.css</argument>
             </arguments>
         </block>
-        <block class="Magento\Page\Block\Html\Head\Css" name="css-admin-css">
+        <block class="Magento\Page\Block\Html\Head\Css" name="css-styles-css">
             <arguments>
-                <argument name="file" xsi:type="string">css/admin.css</argument>
+                <argument name="file" xsi:type="string">css/styles.css</argument>
             </arguments>
         </block>
         <block class="Magento\Page\Block\Html\Head\Css" name="jquery-farbtastic-css-farbtastic-css">
@@ -60,16 +60,6 @@
                 <argument name="file" xsi:type="string">jquery/farbtastic/css/farbtastic.css</argument>
             </arguments>
         </block>
-        <block class="Magento\Page\Block\Html\Head\Css" name="css-header-css">
-            <arguments>
-                <argument name="file" xsi:type="string">css/header.css</argument>
-            </arguments>
-        </block>
-        <block class="Magento\Page\Block\Html\Head\Css" name="css-pages-css">
-            <arguments>
-                <argument name="file" xsi:type="string">css/pages.css</argument>
-            </arguments>
-        </block>
         <block class="Magento\Page\Block\Html\Head\Css" name="mui-utils-css">
             <arguments>
                 <argument name="file" xsi:type="string">mui/utils.css</argument>
@@ -80,11 +70,6 @@
                 <argument name="file" xsi:type="string">Magento_Core::prototype/magento.css</argument>
             </arguments>
         </block>
-        <block class="Magento\Page\Block\Html\Head\Css" name="css-debug-css">
-            <arguments>
-                <argument name="file" xsi:type="string">css/debug.css</argument>
-            </arguments>
-        </block>
         <!-- temporary to debug -->
         <block class="Magento\Page\Block\Html\Head\Css" name="mui-print-css">
             <arguments>
diff --git a/app/design/adminhtml/magento_backend/css/antiscroll.css b/app/design/adminhtml/magento_backend/css/antiscroll.css
deleted file mode 100644
index 18fa63878f7..00000000000
--- a/app/design/adminhtml/magento_backend/css/antiscroll.css
+++ /dev/null
@@ -1,78 +0,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)
- */
-
-.antiscroll-wrap {
-  position: relative;
-  overflow: hidden;
-}
-
-.antiscroll-scrollbar {
-  background: gray;
-  background: rgba(0, 0, 0, 0.5);
-  -webkit-border-radius: 7px;
-  -moz-border-radius: 7px;
-  border-radius: 7px;
-  -webkit-box-shadow: 0 0 1px #fff;
-  -moz-box-shadow: 0 0 1px #fff;
-  box-shadow: 0 0 1px #fff;
-  position: absolute;
-  opacity: 0;
-  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
-  -webkit-transition: linear 300ms opacity;
-  -moz-transition: linear 300ms opacity;
-  -o-transition: linear 300ms opacity;
-}
-
-.antiscroll-scrollbar-shown {
-  opacity: 1;
-  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
-}
-
-.antiscroll-scrollbar-horizontal {
-  height: 7px;
-  margin-left: 2px;
-  bottom: 2px;
-  left: 0;
-}
-
-.antiscroll-scrollbar-vertical {
-  width: 7px;
-  margin-top: 2px;
-  right: 2px;
-  top: 0;
-}
-
-.antiscroll-inner {
-  position: relative;
-  left: 20px;
-  height: 100%;
-  max-height: 100%;
-  width: 100%;
-  max-width: 100%;
-  overflow-y: scroll;
-}
-
-.antiscroll-inner::-webkit-scrollbar, .antiscroll-inner::scrollbar {
-  width: 0;
-  height: 0;
-}
diff --git a/app/design/adminhtml/magento_backend/css/debug.css b/app/design/adminhtml/magento_backend/css/debug.css
deleted file mode 100644
index 9879625b94e..00000000000
--- a/app/design/adminhtml/magento_backend/css/debug.css
+++ /dev/null
@@ -1,1731 +0,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)
- */
-
-/*
-    This file was created to debug old classes in order to indicate where we must replase it with new ones
-    The types of messages are generated in file: \app\code\core\Mage\Core\Block\Messages.php like $html .= '<' . $this->_messagesSecondLevelTagName . ' class="' . $type . '-msg">';
--------------------------------------- */
-
-/*
-    All messages to identify and refactor:
-
-label.mage-error,
-.notice,
-.messages ul,
-.messages li,
-.messages ul li,
-.error-msg,
-.success-msg,
-.notice-msg,
-.warning-msg
-
-Done:
-.notification-global
-.notification-global-notice
--------------------------------------- */
-.debug {
-    border: 1px solid red !important;
-}
-
-.messages ul,
-ul.messages {
-    list-style: none;
-    margin: 0;
-    padding: 0;
-}
-
-ul.messages > li {
-    margin: 20px 0;
-
-}
-
-ul.messages li li {
-    padding: 10px 26px 10px 35px;
-    border-radius: 5px;
-    color: #676056;
-    text-shadow: none;
-    position: relative;
-    background: #fffbf0;
-    border: 1px solid #d87e34;
-    margin-top: -1px;
-}
-
-ul.messages li li:first-child {
-    margin-top: 0;
-}
-
-ul.messages li li:before {
-    position: absolute;
-    left: 11px;
-    top: 50%;
-    margin-top: -11px;
-    background: none;
-    text-shadow: none;
-    width: auto;
-    height: auto;
-    border: 0;
-    font-family: 'MUI-Icons';
-    font-style: normal;
-    speak: none;
-    font-weight: normal;
-    -webkit-font-smoothing: antialiased;
-    font-size: 16px;
-    content: '\e046'; /* icon-info  */
-    color: #d87e34;
-}
-
-ul.messages li.error-msg li {
-    color: #963535;
-    border-color: #963535;
-    background: #f3dcd8;
-}
-
-ul.messages li.error-msg li:before {
-    content: '\e069';
-    color: #963535;
-}
-
-ul.messages li.success-msg li {
-    border-color: #ceceb6;
-    background: #e4eecb;
-    color: #185b00;
-}
-
-ul.messages li.success-msg li:before {
-    content: '\e067';
-    color: #185b00;
-}
-
-/*
-    Accordion
-------------------------*/
-.accordion {
-    margin: 0 0 8px;
-    padding: 0;
-}
-
-.accordion > dt,
-.accordion > dd.open,
-.accordion .collapseable,
-.section-config.active > .collapseable + input + fieldset,
-.accordion .collapseable.open + input + fieldset {
-    background: #fff;
-    border: 1px solid #eae6e0;
-    border-radius: 5px;
-    margin: 0 0 8px;
-    padding: 5px 18px 2px;
-    position: relative;
-}
-
-.accordion > dt + dd {
-    display: none;
-}
-
-.accordion > dt.open,
-.section-config.active > .collapseable,
-.accordion .collapseable.open {
-    margin: 0;
-    border-bottom: 0;
-    border-radius: 5px 5px 0 0;
-}
-.section-config.active > .collapseable + input + fieldset,
-.accordion > dt + dd.open,
-.accordion .collapseable.open + input + fieldset {
-    padding: 25px 18px 18px;
-    display: block;
-    border-top: 0;
-    border-radius: 0 0 5px 5px;
-}
-
-.section-config > .collapseable > a,
-.accordion > dt a,
-.accordion .collapseable > a {
-    color: #666;
-    display: block;
-    padding: 7px 0 10px 22px;
-    font-family: 'CallunaSans', Arial, sans-serif;
-    font-size: 18px;
-    text-decoration: none;
-    position: relative;
-    cursor: pointer;
-}
-
-.section-config.active > .collapseable > a,
-.accordion .collapseable.open a,
-.accordion dt.open a {
-    border-bottom: 1px solid #ededed;
-}
-.section-config > .collapseable > a:before,
-.accordion > dt a:before,
-.accordion .collapseable > a:before {
-    position: absolute;
-    left: 0;
-    top: 7px;
-    font-family: 'MUI-Icons';
-    font-style: normal;
-    speak: none;
-    font-weight: normal;
-    -webkit-font-smoothing: antialiased;
-    content: '\e02a'; /* arrow right icon */
-    color: #b2b0ad;
-}
-
-
-.section-config.active > .collapseable > a:before,
-.accordion > dt.open a:before,
-.accordion .collapseable.open a:before {
-    content: '\e02c'; /* arrow down icon */
-}
-.section-config > .collapseable > a:hover:before,
-.accordion > dt a:hover:before,
-.accordion .collapseable > a:hover:before {
-    color: #7e7e7e;
-}
-
-/* PayPal connected */
-
-.section-config.complex .section-config.with-button {
-    padding:20px 15px;
-    margin:0 -30px 0 -15px;
-    border-bottom:1px solid #eae6e0;
-}
-
-.section-config.complex tr:last-child .section-config.with-button {
-    border-bottom:0;
-}
-
-.section-config.complex .section-config.with-button > .entry-edit-head {
-    padding:0;
-    padding-left:25px;
-    border:0;
-}
-
-.section-config.complex .section-config.with-button.enabled > .entry-edit-head:before {
-    content: "\e01e";
-    color:#fff;
-    background: #65940a;
-    font-family: "MUI-Icons";
-    font-weight: normal;
-    padding:3px;
-    font-size: 10px;
-    width:10px;
-    height:10px;
-    line-height: 10px;
-    overflow: hidden;
-    border-radius: 8px;
-    display: block;
-    float:left;
-    margin-left:-25px;
-    margin-top:0;
-}
-
-.section-config.complex .section-config.with-button > .config {
-    margin:10px -10px;
-    border:1px solid #d1d0ce;
-    border-radius: 5px;
-    padding:5px 0;
-}
-.section-config.complex .section-config.with-button > .config > table > tbody > tr > td {
-    padding:0;
-}
-
-.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head {
-    border:0;
-    border-radius: 0;
-    margin-bottom:0;
-    padding:5px 10px 2px;
-    border-bottom:1px solid #d1d0ce;
-    background: transparent;
-}
-.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .entry-edit-head {
-    border:0;
-}
-.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head a {
-    border-bottom:0;
-}
-
-.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .config {
-    border:0;
-    border-bottom:1px solid #d1d0ce;
-    border-radius: 0;
-    margin:0;
-    padding-bottom:50px;
-}
-.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .config {
-    border-bottom:0;
-}
-
-.section-config .config h4 {
-    padding-left:25%;
-    font-size: 18px;
-}
-
-.section-config .config td.label label.enabled:before {
-}
-.section-config .config td.label label.enabled:before {
-    content: "\e01e";
-    color:#fff;
-    background: #65940a;
-    font-family: "MUI-Icons";
-    font-weight: normal;
-    padding:3px;
-    font-size: 10px;
-    width:10px;
-    height:10px;
-    line-height: 10px;
-    overflow: hidden;
-    border-radius: 8px;
-    display: block;
-    float:left;
-    margin-right:5px;
-}
-
-.section-config.complex .section-config.with-button > .config:before {
-    content:'';
-    height: 9px;
-    width: 20px;
-    overflow: hidden;
-    display: block;
-    position: absolute;
-    bottom: 100%;
-    left: 50%;
-    zoom: 1;
-    z-index: 2;
-    margin-left: -10px;
-    background: url(../images/subconfig-bg.png) no-repeat 0 0;
-}
-
-.section-config.config-advanced {
-    padding:30px 0 0;
-}
-.section-config.config-advanced > .entry-edit-head {
-    border:0;
-    padding:0;
-    padding-left:25%;
-}
-.section-config.config-advanced > .entry-edit-head a {
-    border:0 !important;
-}
-.section-config.config-advanced > .config {
-    padding-left:0!important;
-    padding-right:0!important;
-    border:0!important;
-    border-radius: 0!important;
-}
-
-.section-config.config-advanced > .entry-edit-head a {
-    margin-left:-22px;
-}
-
-
-.section-config.with-button .config-heading strong {
-    display: block;
-    font-size: 14px;
-    margin-bottom:5px;
-}
-
-.section-config.with-button .config-heading .button-container {
-    margin:15px 0 0;
-}
-.section-config.with-button .button-container {
-    line-height: 28px;
-}
-.section-config.with-button .button-container a {
-    margin-left:20px;
-}
-
-.section-config.with-button .action-configure span {
-    display: block;
-    position: relative;
-    text-align: center;
-}
-.section-config.with-button .action-configure .state-opened {
-    visibility: hidden;
-    height:0;
-    overflow: hidden;
-}
-.section-config.with-button .action-configure.open .state-opened {
-    visibility: visible;
-    height:auto;
-    overflow: auto;
-}
-.section-config.with-button .action-configure.open .state-closed {
-    visibility: hidden;
-    height:0;
-    overflow: hidden;
-}
-
-.accordion > dt + dd {
-    display: none;
-}
-
-.accordion > dt + .open:empty {
-    background: #fff url(../mui/images/ajax-loader-big.gif) no-repeat center;
-    height: 100px;
-}
-
-/* TODO: arrange configuration tables */
-.accordion .collapseable.disabled {
-    background: #f1f1f1;
-}
-
-.accordion .collapseable.disabled > a {
-    cursor: not-allowed;
-}
-
-.accordion .collapseable.disabled > a:before {
-    content: '';
-}
-
-.accordion .config {
-    border: 0;
-}
-
-.accordion .config legend {
-    display: none;
-}
-
-.eq-ie8 .accordion .config legend {
-    position: absolute;
-    left: -999em;
-    display: block;
-    width: 0;
-    height: 0;
-    padding: 0;
-    margin: 0;
-    overflow: hidden;
-}
-
-.accordion .config table {
-    width: 100%;
-}
-
-.accordion .config .label {
-    float: none;
-    width: 25%;
-    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;
-}
-
-.accordion .config td {
-    background: none;
-    border: 0;
-    padding: 8px 15px 0 0;
-    vertical-align: top;
-}
-
-.accordion .paypal-selection-simplified {
-    padding-left: 30px;
-}
-
-.accordion .paypal-selection input[type="checkbox"] {
-    margin: -4px 7px 0 0;
-}
-
-.accordion .config input[type="text"],
-.accordion .config input[type="password"],
-.accordion .config select,
-.accordion .config textarea {
-    width: 100%;
-    -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%;
-}
-
-.accordion .config .value {
-    width: 50%;
-    padding-right:40px;
-}
-
-.accordion .config .value.with-tooltip {
-    padding-top:5px;
-}
-.accordion .config .value.with-tooltip .tooltip {
-    position: relative;
-    top:0;
-    left:0;
-    right:0;
-    bottom:0;
-    margin:0;
-    float:right;
-    margin-right:-20px;
-    margin-top:6px;
-}
-.accordion .config .value.with-tooltip .tooltip-content {
-    padding:15px;
-    right:0;
-    margin-left:0;
-    margin-right:-19px;
-    margin-bottom:10px;
-    left:auto;
-    top:auto;
-    bottom:100%;
-    width: 400px;
-    max-width: 400px;
-    line-height: 1.333;
-}
-.accordion .config .value.with-tooltip .tooltip-content:before {
-    content: '';
-    position: absolute;
-    width: 0;
-    height: 0;
-    top: auto;
-    bottom:-5px;
-    left:auto;
-    right: 20px;
-    border-left: 5px solid transparent;
-    border-right: 5px solid transparent;
-    border-top: 5px solid #000;
-    border-bottom:0;
-    opacity: .8;
-}
-
-.accordion .config .value.with-tooltip .help {
-    position: relative;
-    width:auto;
-    margin:0;
-}
-
-.accordion .config .scope-label {
-    color: #999;
-    font-size: 12px;
-    letter-spacing: 0.05em;
-    padding: 15px 15px 0 0;
-}
-
-.accordion .config .note {
-    font-size: 11px;
-    padding-left: 15px;
-    margin: 5px 0;
-    color: #666;
-}
-
-.accordion .config .note:before {
-    position: absolute;
-    margin: 4px 0 0 -14px;
-    content: '';
-    display: inline-block;
-    vertical-align: top;
-    font-size: 0;
-    line-height: 0;
-    width: 0;
-    border-bottom: 5px solid #666;
-    border-left: 5px solid transparent;
-    border-right: 5px solid transparent;
-}
-
-.accordion .config .system-tooltip-box {
-    position: absolute;
-}
-
-.accordion .paypal-selection {
-    margin: 10px;
-    width: 98%;
-}
-
-.accordion .paypal-selection th {
-    padding: 6px 10px 7px;
-}
-
-.accordion .paypal-selection {
-    border-bottom: 2px solid #c0bbaf;
-}
-
-.accordion .paypal-payment-notice {
-    margin: 10px;
-}
-
-.accordion .custom-options {
-    border: 1px solid #999;
-    padding: 0 10px;
-    margin: 0 0 20px;
-}
-
-/* TODO: arrange range inputs width in tables */
-.grid td input.input-text-range {
-    width: 35%;
-}
-
-.grid td input.input-text-range-date {
-    width: 31%;
-}
-
-/* TODO: styles for required TH fields */
-th.required:after {
-    color: red;
-    content: "*";
-    margin-left: 5px;
-}
-
-/* TODO: set color for messages in Cache Storage Management */
-.grid-severity-critical,
-.grid-severity-major,
-.grid-severity-notice,
-.grid-severity-minor {
-    display: block;
-    border: 1px solid #c76f35;
-    background: #fffbf0;
-    text-align: center;
-}
-
-.grid-severity-critical {
-    border-color: #6e1313;
-    background: #f7bfbf;
-    color: #6e1313;
-}
-
-.grid-severity-major {
-    border-color: #963535;
-    background: #f3dcd8;
-    color: #963535;
-}
-
-.grid-severity-notice {
-    border-color: #185b00;
-    background: #e6ecc0;
-    color: #185b00;
-}
-
-/*
-    Sales
--------------------------------------- */
-
-.order-items .entry-edit-head .form-buttons {
-    float: right;
-}
-
-.order-items .entry-edit-head .icon-head {
-    display: inline;
-}
-
-.order-items .entry-edit-head {
-    margin-bottom: 20px;
-}
-
-.order-items .entry-edit-head:before,
-.order-items .entry-edit-head:after {
-    content: "";
-    display: table;
-}
-
-.order-items .entry-edit-head:after {
-    clear: both;
-}
-
-/*
-    Import-export tax rates
--------------------------------------- */
-.import-export-tax-rates input[type=file] {
-    margin-right: 10px;
-}
-
-.import-tax-rates,
-.export-tax-rates {
-    float: left;
-    width: 48.9362%;
-}
-
-.export-tax-rates {
-    margin-left: 2.12766%;
-}
-
-.import-export-tax-rates:before,
-.import-export-tax-rates:after {
-    content: "";
-    display: table;
-}
-
-.import-export-tax-rates:after {
-    clear: both;
-}
-
-/*
-    1 column grid pages with actions
--------------------------------------- */
-/* slaes */
-.sales-order-index .col-1-layout,
-.sales-shipment-index .col-1-layout,
-.adminhtml-rma-index .col-1-layout,
-.sales-invoice-index .col-1-layout,
-.adminhtml-rma-item-attribute-index .col-1-layout,
-.sales-transactions-index .col-1-layout,
-.sales-creditmemo-index .col-1-layout,
-.sales-recurring-profile-index .col-1-layout,
-.adminhtml-giftwrapping-index .col-1-layout,
-.sales-billing-agreement-index .col-1-layout,
-.checkout-agreement-index .col-1-layout,
-/* catalog */
-.catalog-product-index .col-1-layout,
-.adminhtml-catalog-event-index .col-1-layout,
-.adminhtml-googleshopping-items-index .col-1-layout,
-.catalog-product-attribute-index .col-1-layout,
-.catalog-product-set-index .col-1-layout,
-.adminhtml-urlrewrite-index .col-1-layout,
-.adminhtml-targetrule-index .col-1-layout,
-.catalog-search-index .col-1-layout,
-.catalog-product-review-pending .col-1-layout,
-.catalog-product-review-index .col-1-layout,
-.rating-index-index .col-1-layout,
-.adminhtml-tag-index .col-1-layout,
-.adminhtml-tag-pending .col-1-layout,
-.adminhtml-googleshopping-types-index .col-1-layout,
-.adminhtml-sitemap-index .col-1-layout,
-/* customers */
-.customer-online-index .col-1-layout,
-.customer-index-index .col-1-layout,
-.adminhtml-customer-attribute-index .col-1-layout,
-.adminhtml-customer-address-attribute-index .col-1-layout,
-.customer-group-index .col-1-layout,
-.adminhtml-customersegment-index .col-1-layout,
-.adminhtml-reward-rate-index .col-1-layout,
-.adminhtml-giftcardaccount-index .col-1-layout,
-.adminhtml-giftregistry-index .col-1-layout,
-.adminhtml-invitation-index .col-1-layout,
-/* promotions */
-.catalog-rule-promo-catalog-index .col-1-layout,
-.sales-rule-promo-quote-index .col-1-layout,
-.adminhtml-reminder-index .col-1-layout,
-/* newsletter */
-.adminhtml-newsletter-template-index .col-1-layout,
-.adminhtml-newsletter-queue-index .col-1-layout,
-.adminhtml-newsletter-subscriber-index .col-1-layout,
-.adminhtml-newsletter-problem-index .col-1-layout,
-/* cms */
-.adminhtml-cms-page-index .col-1-layout,
-.cms-page-index .col-1-layout,
-.cms-block-index .col-1-layout,
-.adminhtml-widget-instance-index .col-1-layout,
-.adminhtml-banner-index .col-1-layout,
-/* reports */
-.adminhtml-paypal-reports-index .col-1-layout,
-.adminhtml-report-shopcart-product .col-1-layout,
-.adminhtml-report-shopcart-abandoned .col-1-layout,
-.adminhtml-report-invitation-index .col-1-layout,
-.adminhtml-report-invitation-customer .col-1-layout,
-.adminhtml-report-invitation-order .col-1-layout,
-.adminhtml-report-product-downloads .col-1-layout,
-.adminhtml-report-product-sold .col-1-layout,
-.adminhtml-report-product-lowstock .col-1-layout,
-.adminhtml-report-customer-accounts .col-1-layout,
-.adminhtml-report-customer-totals .col-1-layout,
-.adminhtml-report-customer-orders .col-1-layout,
-.adminhtml-report-customer-customersegment-segment .col-1-layout,
-.adminhtml-report-customer-wishlist-wishlist .col-1-layout,
-.adminhtml-report-tag-customer .col-1-layout,
-.adminhtml-report-tag-product .col-1-layout,
-.adminhtml-report-tag-popular .col-1-layout,
-.adminhtml-report-review-customer .col-1-layout,
-.adminhtml-report-review-product .col-1-layout,
-.adminhtml-report-search .col-1-layout,
-.adminhtml-report-statistics-index .col-1-layout,
-/* system */
-.adminhtml-notification-index .col-1-layout,
-.adminhtml-system-backup-index .col-1-layout,
-.adminhtml-webapi-user-index .col-1-layout,
-.adminhtml-webapi-role-index .col-1-layout,
-.adminhtml-system-design-index .col-1-layout,
-.adminhtml-scheduled-operation-index .col-1-layout,
-.adminhtml-system-currencysymbol-index .col-1-layout,
-.adminhtml-system-email-template-index .col-1-layout,
-.adminhtml-locks-index .col-1-layout,
-.adminhtml-logging-index .col-1-layout,
-.adminhtml-logging-archive .col-1-layout,
-.adminhtml-process-list .col-1-layout,
-.adminhtml-system-store-index .col-1-layout,
-.adminhtml-system-variable-index .col-1-layout,
-.adminhtml-user-index .col-1-layout,
-.adminhtml-user-role-index .col-1-layout,
-.tax-rule-index .col-1-layout,
-.tax-rate-index .col-1-layout,
-.adminhtml-system-currency-index .col-1-layout,
-.adminhtml-cache-index .col-1-layout,
-.sales-order-status-index .col-1-layout,
-.adminhtml-integration-index .col-1-layout {
-    padding: 0;
-    background: transparent;
-    border: 0;
-    border-radius: 0;
-    max-width: 1300px;
-    min-width: 960px;
-}
-
-/*
-    Round "+" button for grid tables
--------------------------------------- */
-.sales-order-index .page-actions,
-.adminhtml-rma-index .page-actions,
-.adminhtml-giftwrapping-index .page-actions,
-.adminhtml-rma-item-attribute-index .page-actions,
-.checkout-agreement-index .page-actions,
-/* catalog */
-.catalog-product-index .page-actions,
-.adminhtml-catalog-event-index .page-actions,
-.catalog-product-attribute-index .page-actions,
-.catalog-product-set-index .page-actions,
-.adminhtml-urlrewrite-index .page-actions,
-.adminhtml-targetrule-index .page-actions,
-.catalog-search-index .page-actions,
-.catalog-product-review-index .page-actions,
-.rating-index-index .page-actions,
-.adminhtml-tag-index .page-actions,
-.adminhtml-googleshopping-types-index .page-actions,
-.adminhtml-sitemap-index .page-actions,
-/* customers */
-.customer-index-index .page-actions,
-.adminhtml-customer-attribute-index .page-actions,
-.adminhtml-customer-address-attribute-index .page-actions,
-.customer-group-index .page-actions,
-.adminhtml-customersegment-index .page-actions,
-.adminhtml-reward-rate-index .page-actions,
-.adminhtml-giftcardaccount-index .page-actions,
-.adminhtml-giftregistry-index .page-actions,
-.adminhtml-invitation-index .page-actions,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions,
-.sales-rule-promo-quote-index .page-actions,
-.adminhtml-reminder-index .page-actions,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions,
-/* cms */
-.adminhtml-cms-page-index .page-actions,
-.cms-page-index .page-actions,
-.cms-block-index .page-actions,
-.adminhtml-widget-instance-index .page-actions,
-.adminhtml-banner-index .page-actions,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions,
-/* system */
-.adminhtml-webapi-user-index .page-actions,
-.adminhtml-webapi-role-index .page-actions,
-.adminhtml-system-design-index .page-actions,
-.adminhtml-system-email-template-index .page-actions,
-.adminhtml-system-variable-index .page-actions,
-.adminhtml-user-index .page-actions,
-.adminhtml-user-role-index .page-actions,
-.tax-rule-index .page-actions,
-.tax-rate-index .page-actions,
-.adminhtml-integration-index .page-actions {
-    position: absolute;
-    z-index: 2;
-    margin-top: 8px;
-    margin-left: 15px;
-    padding: 0;
-}
-
-.sales-order-index .page-actions.fixed,
-.adminhtml-rma-index .page-actions.fixed,
-.adminhtml-giftwrapping-index .page-actions.fixed,
-.adminhtml-rma-item-attribute-index .page-actions.fixed,
-.checkout-agreement-index .page-actions.fixed,
-/* catalog */
-.catalog-product-index .page-actions.fixed,
-.adminhtml-catalog-event-index .page-actions.fixed,
-.catalog-product-attribute-index .page-actions.fixed,
-.catalog-product-set-index .page-actions.fixed,
-.adminhtml-urlrewrite-index .page-actions.fixed,
-.adminhtml-targetrule-index .page-actions.fixed,
-.catalog-search-index .page-actions.fixed,
-.catalog-product-review-index .page-actions.fixed,
-.rating-index-index .page-actions.fixed,
-.adminhtml-tag-index .page-actions.fixed,
-.adminhtml-googleshopping-types-index .page-actions.fixed,
-.adminhtml-sitemap-index .page-actions.fixed,
-/* customers */
-.customer-index-index .page-actions.fixed,
-.adminhtml-customer-attribute-index .page-actions.fixed,
-.adminhtml-customer-address-attribute-index .page-actions.fixed,
-.customer-group-index .page-actions.fixed,
-.adminhtml-customersegment-index .page-actions.fixed,
-.adminhtml-reward-rate-index .page-actions.fixed,
-.adminhtml-giftcardaccount-index .page-actions.fixed,
-.adminhtml-giftregistry-index .page-actions.fixed,
-.adminhtml-invitation-index .page-actions.fixed,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions.fixed,
-.sales-rule-promo-quote-index .page-actions.fixed,
-.adminhtml-reminder-index .page-actions.fixed,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions.fixed,
-/* cms */
-.adminhtml-cms-page-index .page-actions.fixed,
-.cms-page-index .page-actions.fixed,
-.cms-block-index .page-actions.fixed,
-.adminhtml-widget-instance-index .page-actions.fixed,
-.adminhtml-banner-index .page-actions.fixed,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions.fixed,
-/* system */
-.adminhtml-webapi-user-index .page-actions.fixed,
-.adminhtml-webapi-role-index .page-actions.fixed,
-.adminhtml-system-design-index .page-actions.fixed,
-.adminhtml-system-email-template-index .page-actions.fixed,
-.adminhtml-system-variable-index .page-actions.fixed,
-.adminhtml-user-index .page-actions.fixed,
-.adminhtml-user-role-index .page-actions.fixed,
-.tax-rule-index .page-actions.fixed,
-.tax-rate-index .page-actions.fixed,
-.adminhtml-integration-index .page-actions.fixed {
-    left: 0;
-    margin: 0;
-    padding: 0 21px;
-    position: fixed;
-}
-
-.sales-order-index .page-actions .add,
-.adminhtml-rma-index .page-actions .add,
-.adminhtml-giftwrapping-index .page-actions .add,
-.adminhtml-rma-item-attribute-index .page-actions .add,
-.checkout-agreement-index .page-actions .add,
-/* catalog */
-.catalog-product-index .page-actions .btn-round > .action-default,
-.adminhtml-catalog-event-index .page-actions .add,
-.catalog-product-attribute-index .page-actions .add,
-.catalog-product-set-index .page-actions .add,
-.adminhtml-urlrewrite-index .page-actions .add,
-.adminhtml-targetrule-index .page-actions .add,
-.catalog-search-index .page-actions .add,
-.catalog-product-review-index .page-actions .add,
-.rating-index-index .page-actions .add,
-.adminhtml-tag-index .page-actions .add,
-.adminhtml-googleshopping-types-index .page-actions .add,
-.adminhtml-sitemap-index .page-actions .add,
-/* customers */
-.customer-index-index .page-actions .add,
-.adminhtml-customer-attribute-index .page-actions .add,
-.adminhtml-customer-address-attribute-index .page-actions .add,
-.customer-group-index .page-actions .add,
-.adminhtml-customersegment-index .page-actions .add,
-.adminhtml-reward-rate-index .page-actions .add,
-.adminhtml-giftcardaccount-index .page-actions .add,
-.adminhtml-giftregistry-index .page-actions .add,
-.adminhtml-invitation-index .page-actions .add,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions .add,
-.sales-rule-promo-quote-index .page-actions .add,
-.adminhtml-reminder-index .page-actions .add,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions .add,
-/* cms */
-.adminhtml-cms-page-index .page-actions .add,
-.cms-page-index .page-actions .add,
-.cms-block-index .page-actions .add,
-.adminhtml-widget-instance-index .page-actions .add,
-.adminhtml-banner-index .page-actions .add,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions .task,
-/* system */
-.adminhtml-webapi-user-index .page-actions .add,
-.adminhtml-webapi-role-index .page-actions .add,
-.adminhtml-system-design-index .page-actions .add,
-.adminhtml-system-email-template-index .page-actions .add,
-.adminhtml-system-variable-index .page-actions .add,
-.adminhtml-user-index .page-actions .add,
-.adminhtml-user-role-index .page-actions .add,
-.tax-rule-index .page-actions .add,
-.tax-rate-index .page-actions .add,
-.adminhtml-integration-index .page-actions .add {
-    width: 32px;
-    height: 32px;
-    overflow: hidden;
-    position: relative;
-    z-index: 1;
-    padding: 0;
-    text-align: center;
-    border-radius: 18px;
-    border: 1px solid #e4731c;
-    background: #f58228;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ODIyOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMzczMWMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #f58228 0%, #f3731c 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f58228), color-stop(100%,#f3731c));
-    background: -webkit-linear-gradient(top, #f58228 0%,#f3731c 100%);
-    background: -o-linear-gradient(top, #f58228 0%,#f3731c 100%);
-    background: -ms-linear-gradient(top, #f58228 0%,#f3731c 100%);
-    background: linear-gradient(to bottom, #f58228 0%,#f3731c 100%);
-}
-
-.eq-ie8 .sales-order-index .page-actions .add,
-.eq-ie8 .adminhtml-rma-index .page-actions .add,
-.eq-ie8 .adminhtml-giftwrapping-index .page-actions .add,
-.eq-ie8 .adminhtml-rma-item-attribute-index .page-actions .add,
-.eq-ie8 .checkout-agreement-index .page-actions .add,
-/* catalog */
-.eq-ie8 .catalog-product-index .page-actions .btn-round > .action-default,
-.eq-ie8 .adminhtml-catalog-event-index .page-actions .add,
-.eq-ie8 .catalog-product-attribute-index .page-actions .add,
-.eq-ie8 .catalog-product-set-index .page-actions .add,
-.eq-ie8 .adminhtml-urlrewrite-index .page-actions .add,
-.eq-ie8 .adminhtml-targetrule-index .page-actions .add,
-.eq-ie8 .catalog-search-index .page-actions .add,
-.eq-ie8 .catalog-product-review-index .page-actions .add,
-.eq-ie8 .rating-index-index .page-actions .add,
-.eq-ie8 .adminhtml-tag-index .page-actions .add,
-.eq-ie8 .adminhtml-googleshopping-types-index .page-actions .add,
-.eq-ie8 .adminhtml-sitemap-index .page-actions .add,
-/* customers */
-.eq-ie8 .customer-index-index .page-actions .add,
-.eq-ie8 .adminhtml-customer-attribute-index .page-actions .add,
-.eq-ie8 .adminhtml-customer-address-attribute-index .page-actions .add,
-.eq-ie8 .customer-group-index .page-actions .add,
-.eq-ie8 .adminhtml-customersegment-index .page-actions .add,
-.eq-ie8 .adminhtml-reward-rate-index .page-actions .add,
-.eq-ie8 .adminhtml-giftcardaccount-index .page-actions .add,
-.eq-ie8 .adminhtml-giftregistry-index .page-actions .add,
-.eq-ie8 .adminhtml-invitation-index .page-actions .add,
-/* promotions */
-.eq-ie8 .catalog-rule-promo-catalog-index .page-actions .add,
-.eq-ie8 .sales-rule-promo-quote-index .page-actions .add,
-.eq-ie8 .adminhtml-reminder-index .page-actions .add,
-/* newsletter */
-.eq-ie8 .adminhtml-newsletter-template-index .page-actions .add,
-/* cms */
-.eq-ie8 .adminhtml-cms-page-index .page-actions .add,
-.eq-ie8 .cms-page-index .page-actions .add,
-.eq-ie8 .cms-block-index .page-actions .add,
-.eq-ie8 .adminhtml-widget-instance-index .page-actions .add,
-.eq-ie8 .adminhtml-banner-index .page-actions .add,
-/* reports */
-.eq-ie8 .adminhtml-paypal-reports-index .page-actions .task,
-/* system */
-.eq-ie8 .adminhtml-webapi-user-index .page-actions .add,
-.eq-ie8 .adminhtml-webapi-role-index .page-actions .add,
-.eq-ie8 .adminhtml-system-design-index .page-actions .add,
-.eq-ie8 .adminhtml-system-email-template-index .page-actions .add,
-.eq-ie8 .adminhtml-system-variable-index .page-actions .add,
-.eq-ie8 .adminhtml-user-index .page-actions .add,
-.eq-ie8 .adminhtml-user-role-index .page-actions .add,
-.eq-ie8 .tax-rule-index .page-actions .add,
-.eq-ie8 .tax-rate-index .page-actions .add,
-.eq-ie8 .adminhtml-integration-index .page-actions .add {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f58228', endColorstr='#f3731c',GradientType=0 );
-}
-
-.sales-order-index .page-actions .add:hover,
-.adminhtml-rma-index .page-actions .add:hover,
-.adminhtml-giftwrapping-index .page-actions .add:hover,
-.adminhtml-rma-item-attribute-index .page-actions .add:hover,
-.checkout-agreement-index .page-actions .add:hover,
-/* catalog */
-.catalog-product-index .page-actions .btn-round > .action-default:hover,
-.adminhtml-catalog-event-index .page-actions .add:hover,
-.catalog-product-attribute-index .page-actions .add:hover,
-.catalog-product-set-index .page-actions .add:hover,
-.adminhtml-urlrewrite-index .page-actions .add:hover,
-.adminhtml-targetrule-index .page-actions .add:hover,
-.catalog-search-index .page-actions .add:hover,
-.catalog-product-review-index .page-actions .add:hover,
-.rating-index-index .page-actions .add:hover,
-.adminhtml-tag-index .page-actions .add:hover,
-.adminhtml-googleshopping-types-index .page-actions .add:hover,
-.adminhtml-sitemap-index .page-actions .add:hover,
-/* customers */
-.customer-index-index .page-actions .add:hover,
-.adminhtml-customer-attribute-index .page-actions .add:hover,
-.adminhtml-customer-address-attribute-index .page-actions .add:hover,
-.customer-group-index .page-actions .add:hover,
-.adminhtml-customersegment-index .page-actions .add:hover,
-.adminhtml-reward-rate-index .page-actions .add:hover,
-.adminhtml-giftcardaccount-index .page-actions .add:hover,
-.adminhtml-giftregistry-index .page-actions .add:hover,
-.adminhtml-invitation-index .page-actions .add:hover,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions .add:hover,
-.sales-rule-promo-quote-index .page-actions .add:hover,
-.adminhtml-reminder-index .page-actions .add:hover,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions .add:hover,
-/* cms */
-.adminhtml-cms-page-index .page-actions .add:hover,
-.cms-page-index .page-actions .add:hover,
-.cms-block-index .page-actions .add:hover,
-.adminhtml-widget-instance-index .page-actions .add:hover,
-.adminhtml-banner-index .page-actions .add:hover,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions .task:hover,
-/* system */
-.adminhtml-webapi-user-index .page-actions .add:hover,
-.adminhtml-webapi-role-index .page-actions .add:hover,
-.adminhtml-system-design-index .page-actions .add:hover,
-.adminhtml-system-email-template-index .page-actions .add:hover,
-.adminhtml-system-variable-index .page-actions .add:hover,
-.adminhtml-user-index .page-actions .add:hover,
-.adminhtml-user-role-index .page-actions .add:hover,
-.tax-rule-index .page-actions .add:hover,
-.tax-rate-index .page-actions .add:hover,
-.adminhtml-integration-index .page-actions .add:hover {
-    border: 1px solid #e4731c;
-    background: #e47821;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U0NzgyMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZjY4MTciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #e47821 0%, #df6817 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e47821), color-stop(100%,#df6817));
-    background: -webkit-linear-gradient(top, #e47821 0%,#df6817 100%);
-    background: -o-linear-gradient(top, #e47821 0%,#df6817 100%);
-    background: -ms-linear-gradient(top, #e47821 0%,#df6817 100%);
-    background: linear-gradient(to bottom, #e47821 0%,#df6817 100%);
-}
-
-.eq-ie8 .sales-order-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-rma-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-giftwrapping-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-rma-item-attribute-index .page-actions .add:hover,
-.eq-ie8 .checkout-agreement-index .page-actions .add:hover,
-/* catalog */
-.eq-ie8 .catalog-product-index .page-actions .btn-round > .action-default:hover,
-.eq-ie8 .adminhtml-catalog-event-index .page-actions .add:hover,
-.eq-ie8 .catalog-product-attribute-index .page-actions .add:hover,
-.eq-ie8 .catalog-product-set-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-urlrewrite-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-targetrule-index .page-actions .add:hover,
-.eq-ie8 .catalog-search-index .page-actions .add:hover,
-.eq-ie8 .catalog-product-review-index .page-actions .add:hover,
-.eq-ie8 .rating-index-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-tag-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-googleshopping-types-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-sitemap-index .page-actions .add:hover,
-/* customers */
-.eq-ie8 .customer-index-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-customer-attribute-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-customer-address-attribute-index .page-actions .add:hover,
-.eq-ie8 .customer-group-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-customersegment-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-reward-rate-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-giftcardaccount-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-giftregistry-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-invitation-index .page-actions .add:hover,
-/* promotions */
-.eq-ie8 .catalog-rule-promo-catalog-index .page-actions .add:hover,
-.eq-ie8 .sales-rule-promo-quote-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-reminder-index .page-actions .add:hover,
-/* newsletter */
-.eq-ie8 .adminhtml-newsletter-template-index .page-actions .add:hover,
-/* cms */
-.eq-ie8 .cms-page-index .page-actions .add:hover,
-.eq-ie8 .cms-block-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-widget-instance-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-banner-index .page-actions .add:hover,
-/* reports */
-.eq-ie8 .adminhtml-paypal-reports-index .page-actions .task:hover,
-/* system */
-.eq-ie8 .adminhtml-webapi-user-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-webapi-role-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-system-design-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-system-email-template-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-system-variable-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-user-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-user-role-index .page-actions .add:hover,
-.eq-ie8 .tax-rule-index .page-actions .add:hover,
-.eq-ie8 .tax-rate-index .page-actions .add:hover,
-.eq-ie8 .adminhtml-integration-index .page-actions .add:hover {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e47821', endColorstr='#df6817',GradientType=0 );
-}
-
-.sales-order-index .page-actions .add:active,
-.adminhtml-rma-index .page-actions .add:active,
-.adminhtml-giftwrapping-index .page-actions .add:active,
-.adminhtml-rma-item-attribute-index .page-actions .add:active,
-.checkout-agreement-index .page-actions .add:active,
-/* catalog */
-.catalog-product-index .page-actions .btn-round > .action-default:active,
-.adminhtml-catalog-event-index .page-actions .add:active,
-.catalog-product-attribute-index .page-actions .add:active,
-.catalog-product-set-index .page-actions .add:active,
-.adminhtml-urlrewrite-index .page-actions .add:active,
-.adminhtml-targetrule-index .page-actions .add:active,
-.catalog-search-index .page-actions .add:active,
-.catalog-product-review-index .page-actions .add:active,
-.rating-index-index .page-actions .add:active,
-.adminhtml-tag-index .page-actions .add:active,
-.adminhtml-googleshopping-types-index .page-actions .add:active,
-.adminhtml-sitemap-index .page-actions .add:active,
-/* customers */
-.customer-index-index .page-actions .add:active,
-.adminhtml-customer-attribute-index .page-actions .add:active,
-.adminhtml-customer-address-attribute-index .page-actions .add:active,
-.customer-group-index .page-actions .add:active,
-.adminhtml-customersegment-index .page-actions .add:active,
-.adminhtml-reward-rate-index .page-actions .add:active,
-.adminhtml-giftcardaccount-index .page-actions .add:active,
-.adminhtml-giftregistry-index .page-actions .add:active,
-.adminhtml-invitation-index .page-actions .add:active,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions .add:active,
-.sales-rule-promo-quote-index .page-actions .add:active,
-.adminhtml-reminder-index .page-actions .add:active,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions .add:active,
-/* cms */
-.adminhtml-cms-page-index .page-actions .add:active,
-.cms-page-index .page-actions .add:active,
-.cms-block-index .page-actions .add:active,
-.adminhtml-widget-instance-index .page-actions .add:active,
-.adminhtml-banner-index .page-actions .add:active,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions .task:active,
-/* system */
-.adminhtml-webapi-user-index .page-actions .add:active,
-.adminhtml-webapi-role-index .page-actions .add:active,
-.adminhtml-system-design-index .page-actions .add:active,
-.adminhtml-system-email-template-index .page-actions .add:active,
-.adminhtml-system-variable-index .page-actions .add:active,
-.adminhtml-user-index .page-actions .add:active,
-.adminhtml-user-role-index .page-actions .add:active,
-.tax-rule-index .page-actions .add:active,
-.tax-rate-index .page-actions .add:active,
-.adminhtml-integration-index .page-actions .add:active  {
-    background: #e2701av;
-    -webkit-box-shadow: inset 0px 1px 1px 1px rgba(185, 90, 19, 1);
-    box-shadow: inset 0px 1px 1px 1px rgba(185, 90, 19, 1);
-    text-shadow: 0 -1px 0 #d06516;
-    filter: none;
-}
-
-.sales-order-index .page-actions .add > span,
-.adminhtml-rma-index .page-actions .add > span,
-.adminhtml-rma-item-attribute-index .page-actions .add > span,
-.adminhtml-giftwrapping-index .page-actions .add > span,
-.checkout-agreement-index .page-actions .add > span,
-/* catalog */
-.catalog-product-index .page-actions .btn-round > .action-default > span,
-.adminhtml-catalog-event-index .page-actions .add > span,
-.catalog-product-attribute-index .page-actions .add > span,
-.catalog-product-set-index .page-actions .add > span,
-.adminhtml-urlrewrite-index .page-actions .add > span,
-.adminhtml-targetrule-index .page-actions .add > span,
-.catalog-search-index .page-actions .add > span,
-.catalog-product-review-index .page-actions .add > span,
-.rating-index-index .page-actions .add > span,
-.adminhtml-tag-index .page-actions .add > span,
-.adminhtml-googleshopping-types-index .page-actions .add > span,
-.adminhtml-sitemap-index .page-actions .add > span,
-/* customers */
-.customer-index-index .page-actions .add > span,
-.adminhtml-customer-attribute-index .page-actions .add > span,
-.adminhtml-customer-address-attribute-index .page-actions .add > span,
-.customer-group-index .page-actions .add > span,
-.adminhtml-customersegment-index .page-actions .add > span,
-.adminhtml-reward-rate-index .page-actions .add > span,
-.adminhtml-giftcardaccount-index .page-actions .add > span,
-.adminhtml-giftregistry-index .page-actions .add > span,
-.adminhtml-invitation-index .page-actions .add > span,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions .add > span,
-.sales-rule-promo-quote-index .page-actions .add > span,
-.adminhtml-reminder-index .page-actions .add > span,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions .add > span,
-/* cms */
-.adminhtml-cms-page-index .page-actions .add > span,
-.cms-page-index .page-actions .add > span,
-.cms-block-index .page-actions .add > span,
-.adminhtml-widget-instance-index .page-actions .add > span,
-.adminhtml-banner-index .page-actions .add > span,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions .task > span,
-/* system */
-.adminhtml-webapi-user-index .page-actions .add > span,
-.adminhtml-webapi-role-index .page-actions .add > span,
-.adminhtml-system-design-index .page-actions .add > span,
-.adminhtml-system-email-template-index .page-actions .add > span,
-.adminhtml-system-variable-index .page-actions .add > span,
-.adminhtml-user-index .page-actions .add > span,
-.adminhtml-user-role-index .page-actions .add > span,
-.tax-rule-index .page-actions .add > span,
-.tax-rate-index .page-actions .add > span,
-.adminhtml-integration-index .page-actions .add > span {
-    text-indent: -999em;
-    display: block;
-    width: 32px;
-    height: 32px;
-}
-
-.sales-order-index .page-actions .add > span:before,
-.adminhtml-rma-index .page-actions .add > span:before,
-.adminhtml-giftwrapping-index .page-actions .add > span:before,
-.adminhtml-rma-item-attribute-index .page-actions .add > span:before,
-.checkout-agreement-index .page-actions .add > span:before,
-/* catalog */
-.catalog-product-index .page-actions .btn-round > .action-default > span:before,
-.adminhtml-catalog-event-index .page-actions .add > span:before,
-.catalog-product-attribute-index .page-actions .add > span:before,
-.catalog-product-set-index .page-actions .add > span:before,
-.adminhtml-urlrewrite-index .page-actions .add > span:before,
-.adminhtml-targetrule-index .page-actions .add > span:before,
-.catalog-search-index .page-actions .add > span:before,
-.catalog-product-review-index .page-actions .add > span:before,
-.rating-index-index .page-actions .add > span:before,
-.adminhtml-tag-index .page-actions .add > span:before,
-.adminhtml-googleshopping-types-index .page-actions .add > span:before,
-.adminhtml-sitemap-index .page-actions .add > span:before,
-/* customers */
-.customer-index-index .page-actions .add > span:before,
-.adminhtml-customer-attribute-index .page-actions .add > span:before,
-.adminhtml-customer-address-attribute-index .page-actions .add > span:before,
-.customer-group-index .page-actions .add > span:before,
-.adminhtml-customersegment-index .page-actions .add > span:before,
-.adminhtml-reward-rate-index .page-actions .add > span:before,
-.adminhtml-giftcardaccount-index .page-actions .add > span:before,
-.adminhtml-giftregistry-index .page-actions .add > span:before,
-.adminhtml-invitation-index .page-actions .add > span:before,
-/* promotions */
-.catalog-rule-promo-catalog-index .page-actions .add > span:before,
-.sales-rule-promo-quote-index .page-actions .add > span:before,
-.adminhtml-reminder-index .page-actions .add > span:before,
-/* newsletter */
-.adminhtml-newsletter-template-index .page-actions .add > span:before,
-/* cms */
-.adminhtml-cms-page-index .page-actions .add > span:before,
-.cms-page-index .page-actions .add > span:before,
-.cms-block-index .page-actions .add > span:before,
-.adminhtml-widget-instance-index .page-actions .add > span:before,
-.adminhtml-banner-index .page-actions .add > span:before,
-/* reports */
-.adminhtml-paypal-reports-index .page-actions .task > span:before,
-/* system */
-.adminhtml-webapi-user-index .page-actions .add > span:before,
-.adminhtml-webapi-role-index .page-actions .add > span:before,
-.adminhtml-system-design-index .page-actions .add > span:before,
-.adminhtml-system-email-template-index .page-actions .add > span:before,
-.adminhtml-system-variable-index .page-actions .add > span:before,
-.adminhtml-user-index .page-actions .add > span:before,
-.adminhtml-user-role-index .page-actions .add > span:before,
-.tax-rule-index .page-actions .add > span:before,
-.tax-rate-index .page-actions .add > span:before,
-.adminhtml-integration-index .page-actions .add > span:before {
-    text-indent: 0;
-    font-family: 'MUI-Icons';
-    font-weight: normal;
-    font-size: 24px;
-    content: '\e02d';
-    color: #fff;
-    position: absolute;
-    line-height: 30px;
-    height: 30px;
-    width: 30px;
-    text-align: center;
-    vertical-align: middle;
-    top: 0;
-    left: 0;
-    overflow: hidden;
-}
-
-.catalog-product-index .btn-round > .action-toggle,
-.catalog-product-index .btn-round > .action-toggle:focus {
-    border: 1px solid #c5c0b9;
-    border-radius: 0 20px 20px 0;
-    box-shadow: 0 1px 0 0 #f3f2f1, inset 0 1px 0 0 #f4f1ec;
-    color: #55504a;
-    background: transparent;
-    margin: 6px 0 0 -6px;
-    padding: 1px 5px 1px 10px;
-    text-shadow: none;
-    background: #f1eee7;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YxZWVlNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlYmU3ZGMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #f1eee7 0%, #ebe7dc 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f1eee7), color-stop(100%,#ebe7dc));
-    background: -webkit-linear-gradient(top, #f1eee7 0%,#ebe7dc 100%);
-    background: -o-linear-gradient(top, #f1eee7 0%,#ebe7dc 100%);
-    background: -ms-linear-gradient(top, #f1eee7 0%,#ebe7dc 100%);
-    background: linear-gradient(to bottom, #f1eee7 0%,#ebe7dc 100%);
-}
-
-.eq-ie8 .catalog-product-index .btn-round > .action-toggle,
-.eq-ie8 .catalog-product-index .btn-round > .action-toggle:focus {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1eee7', endColorstr='#ebe7dc',GradientType=0 );
-}
-
-.catalog-product-index .btn-round > .action-toggle:hover {
-    margin-left: -6px;
-    text-shadow: none;
-    background: #dfdbd4;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RmZGJkNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkM2NkYzMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #dfdbd4 0%, #d3cdc3 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dfdbd4), color-stop(100%,#d3cdc3));
-    background: -webkit-linear-gradient(top, #dfdbd4 0%,#d3cdc3 100%);
-    background: -o-linear-gradient(top, #dfdbd4 0%,#d3cdc3 100%);
-    background: -ms-linear-gradient(top, #dfdbd4 0%,#d3cdc3 100%);
-    background: linear-gradient(to bottom, #dfdbd4 0%,#d3cdc3 100%);
-}
-
-.eq-ie8 .catalog-product-index .btn-round > .action-toggle:hover {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dfdbd4', endColorstr='#d3cdc3',GradientType=0 );
-}
-
-.catalog-product-index .btn-round.active {
-    background: #fff;
-    padding: 5px 4px 6px 7px;
-    margin: -6px -4px -6px -8px;
-    border: solid #bab4ab;
-    border-width: 1px 1px 0;
-    border-radius: 5px 5px 0 0;
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-    filter: none
-}
-
-.catalog-product-index .btn-round.active > .action-toggle,
-.catalog-product-index .btn-round.active > .action-toggle:hover {
-    background: transparent;
-    border: 0;
-    border-radius: 0;
-    box-shadow: none;
-    text-shadow: none;
-    padding: 1px 5px 1px 11px;
-}
-
-.eq-ie8 .catalog-product-index .btn-round.active > .action-toggle,
-.eq-ie8 .catalog-product-index .btn-round.active > .action-toggle:hover {
-    filter: none;
-}
-
-.catalog-product-index .btn-round.active:before {
-    position: absolute;
-    display: block;
-    bottom: -2px;
-    left: 0;
-    right: 0;
-    height: 6px;
-    background: #fff;
-    content: '';
-    z-index: 5;
-}
-
-.catalog-product-index .btn-round .dropdown-menu {
-    margin-top: -4px;
-    left: -1px;
-    right: auto;
-    border-radius: 5px;
-    padding-top: 3px;
-    padding-bottom: 3px;
-    z-index: 1;
-}
-
-.catalog-product-index .dropdown-menu {
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
-}
-
-.catalog-product-index .btn-round.active .dropdown-menu > li > .item {
-    padding: 9px 10px 10px;
-}
-
-.sales-order-index .grid-actions,
-.adminhtml-rma-index .grid-actions,
-.adminhtml-giftwrapping-index .grid-actions,
-.adminhtml-rma-item-attribute-index .grid-actions,
-.checkout-agreement-index .grid-actions,
-/* catalog */
-.catalog-product-index .grid-actions,
-.adminhtml-catalog-event-index .grid-actions,
-.catalog-product-attribute-index .grid-actions,
-.catalog-product-set-index .grid-actions,
-.adminhtml-urlrewrite-index .grid-actions,
-.adminhtml-targetrule-index .grid-actions,
-.catalog-search-index .grid-actions,
-.catalog-product-review-index .grid-actions,
-.rating-index-index .grid-actions,
-.adminhtml-tag-index .grid-actions,
-.adminhtml-googleshopping-types-index .grid-actions,
-.adminhtml-sitemap-index .grid-actions,
-/* customers */
-.customer-index-index .grid-actions,
-.adminhtml-customer-attribute-index .grid-actions,
-.adminhtml-customer-address-attribute-index .grid-actions,
-.customer-group-index .grid-actions,
-.adminhtml-customersegment-index .grid-actions,
-.adminhtml-reward-rate-index .grid-actions,
-.adminhtml-giftcardaccount-index .grid-actions,
-.adminhtml-giftregistry-index .grid-actions,
-.adminhtml-invitation-index .grid-actions,
-/* promotions */
-.catalog-rule-promo-catalog-index .grid-actions,
-.sales-rule-promo-quote-index .grid-actions,
-.adminhtml-reminder-index .grid-actions,
-/* newsletter */
-.adminhtml-newsletter-template-index .grid-actions,
-/* cms */
-.adminhtml-cms-page-index .grid-actions,
-.cms-page-index .grid-actions,
-.cms-block-index .grid-actions,
-.adminhtml-widget-instance-index .grid-actions,
-.adminhtml-banner-index .grid-actions,
-/* reports */
-.adminhtml-paypal-reports-index .grid-actions,
-/* system */
-.adminhtml-webapi-user-index .grid-actions,
-.adminhtml-webapi-role-index .grid-actions,
-.adminhtml-system-design-index .grid-actions,
-.adminhtml-system-email-template-index .grid-actions,
-.adminhtml-system-variable-index .grid-actions,
-.adminhtml-user-index .grid-actions,
-.adminhtml-user-role-index .grid-actions,
-.tax-rule-index .grid-actions,
-.tax-rate-index .grid-actions,
-.adminhtml-integration-index .grid-actions {
-    border-radius: 5px 5px 0 0;
-    margin-top: 20px;
-    padding-left: 100px;
-    padding: 10px 16px 10px 65px;
-}
-
-.adminhtml-googleshopping-items-index .grid-title,
-.adminhtml-system-backup-index .page-actions,
-.adminhtml-scheduled-operation-index .page-actions,
-.adminhtml-system-currency-index .page-actions,
-.adminhtml-system-currencysymbol-index .page-actions,
-.adminhtml-cache-index .page-actions,
-.adminhtml-system-store-index .page-actions,
-.sales-order-status-index .page-actions {
-    border: 1px solid #c0bbaf;
-    border-bottom: 0;
-    background: rgb(246, 243, 236);
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2ZjNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGVhZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(246, 243, 236, 1)), color-stop(100%, rgba(237, 234, 225, 1)));
-    background: -webkit-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
-    background: -o-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
-    background: -ms-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
-    background: linear-gradient(to bottom, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#f6f3ec', endColorstr = '#edeae1', GradientType = 0);
-    padding: 7px 8px 8px;
-    position: relative;
-    float: none;
-}
-
-.adminhtml-googleshopping-items-index .grid {
-    padding-bottom: 25px;
-}
-
-.adminhtml-googleshopping-items-index .grid-title .title {
-    font-family: 'CallunaSans', Arial, sans-serif;
-    font-size: 18px;
-}
-
-.adminhtml-googleshopping-items-index .page-actions {
-    float: right;
-}
-
-.adminhtml-system-backup-index .page-actions.fixed,
-.adminhtml-scheduled-operation-index .page-actions.fixed,
-.adminhtml-system-currency-index .page-actions.fixed,
-.adminhtml-system-currencysymbol-index .page-actions.fixed,
-.adminhtml-cache-index .page-actions.fixed,
-.adminhtml-system-store-index .page-actions.fixed,
-.sales-order-status-index .page-actions.fixed {
-    background-image: none;
-    padding: 0 21px;
-    position: fixed;
-}
-
-.catalog-product-index .grid-actions {
-    padding-left: 80px;
-}
-
-.catalog-rule-promo-catalog-index .grid-actions {
-    padding-left: 210px;
-}
-
-.catalog-rule-promo-catalog-index .page-actions .apply {
-    float: right;
-    margin: 3px 0 0 10px;
-}
-
-.catalog-product-index .field-store-switcher {
-    padding: 0;
-}
-
-.sidebar-actions {
-    padding: 14px 0;
-}
-
-.sidebar-actions button {
-    margin: 0 0 5px;
-}
-
-.sales-order-create-index .grid table .action-configure {
-    float: right;
-}
-
-.adminhtml-system-currency-index .import-service {
-    float: left;
-}
-
-.adminhtml-system-currency-index .page-actions.fixed .import-service {
-    display: inline-block;
-    float: none;
-}
-
-/*
-    Product
--------------------------------------- */
-.tier {
-    margin: 20px 0 0;
-}
-
-/*
-    Edit attribute set
--------------------------------------- */
-.attribute-set-col {
-    display: block;
-    float: left;
-    width: 100%;
-    margin-left: 2.127659574%;
-    -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    -ms-box-sizing: border-box;
-    box-sizing: border-box;
-    width: 31.9149%;
-}
-
-.attribute-set-col:first-child {
-    margin-left: 0;
-}
-
-.attribute-set-tree {
-    margin-top: 5px;
-    overflow: auto;
-    height: 400px;
-    width: 100%;
-}
-
-.attribute-set:before,
-.attribute-set:after {
-    content: "";
-    display: table;
-}
-.attribute-set:after {
-    clear: both;
-}
-
-/*
-    Manage Categories
--------------------------------------- */
-.catalog-category-edit .category-edit-title {
-    float: left;
-}
-
-/*
-    Catalog Price Rule
--------------------------------------- */
-.rule-tree-wrapper {
-    line-height: 28px;
-}
-
-.rule-tree ul {
-    list-style: none;
-    padding-left: 16px;
-    border-left: dotted 1px #888;
-}
-
-.rule-tree li {
-    margin: 0 0 10px;
-}
-
-.rule-tree .x-tree ul {
-    padding-left: 0 !important;
-    border-left: none !important;
-}
-
-.rule-param .label {
-    color: #000;
-    float: none;
-    text-align: left;
-    padding: 0;
-    vertical-align: baseline;
-    width: auto;
-}
-
-.rule-param .label-disabled {
-    color: #eee;
-    cursor: default;
-    text-decoration: none;
-}
-
-.rule-chooser,
-.rule-param .element,
-.rule-param-edit .label {
-    display: none;
-}
-
-.rule-param input,
-.rule-param select {
-    width: auto !important;
-    margin: 0;
-    min-width: 170px;
-}
-
-.rule-param-edit .element {
-    display: inline;
-}
-
-.rule-param-edit .element .addafter {
-    padding-left: 5px;
-}
-
-[class^="rule-param-"] img,
-.rule-chooser-trigger img {
-    vertical-align: middle;
-}
-
-.rule-chooser {
-    border: solid 1px #CCC;
-    margin: 20px;
-    padding: 15px 10px 5px;
-}
-
-.rule-param-wait {
-    background: url(../mui/images/ajax-loader-small.gif) no-repeat left center;
-    padding-left: 20px;
-}
-
-/*
-
-    URL Rewrite
--------------------------------------- */
-.field-url-rewrite-option-select {
-    padding-top: 13px;
-}
-
-
-/* jstree */
-.jstree-default .disabled > a {
-    color: #a29c94;
-}
-/*  File brouser */
diff --git a/app/design/adminhtml/magento_backend/css/styles.css b/app/design/adminhtml/magento_backend/css/styles.css
new file mode 100644
index 00000000000..74aebf26d94
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/css/styles.css
@@ -0,0 +1,10622 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+ */
+.style2 {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 600;
+}
+@font-face {
+  font-family: 'admin-icons';
+  src: url('../fonts/icons/admin-icons.eot');
+  src: url('../fonts/icons/admin-icons.eot?#iefix') format('embedded-opentype'), url('../fonts/icons/admin-icons.svg#admin-icons') format('svg'), url('../fonts/icons/admin-icons.woff') format('woff'), url('../fonts/icons/admin-icons.ttf') format('truetype');
+  font-weight: normal;
+  font-style: normal;
+}
+@font-face {
+  font-family: 'MUI-Icons';
+  src: url('../mui/fonts/MUI-Icons.eot');
+  src: url('../mui/fonts/MUI-Icons.eot?#iefix') format('embedded-opentype'), url('../mui/fonts/MUI-Icons.svg#MUI-Icons') format('svg'), url('../mui/fonts/MUI-Icons.woff') format('woff'), url('../mui/fonts/MUI-Icons.ttf') format('truetype');
+  font-weight: normal;
+  font-style: normal;
+}
+/* @import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700 <http://fonts.googleapis.com/css?family=Open+Sans:400italic%2c400%2c600%2c700>); */
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Open Sans'), local('OpenSans'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 600;
+  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 700;
+  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 400;
+  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff');
+}
+body,
+html {
+  min-height: 100%;
+  height: 100%;
+}
+body {
+  color: #676056;
+  font: 400 14px/1.33 'Open Sans', sans-serif;
+  background: #f2ebde;
+  position: relative;
+  height: auto;
+}
+h1 {
+  color: #676056;
+  font: 400 28px/1.2 'Open Sans', sans-serif;
+}
+h2 {
+  color: #676056;
+  font: 400 20px/1.2 'Open Sans', sans-serif;
+}
+h3 {
+  color: #676056;
+  font: 600 16px/1.2 'Open Sans', sans-serif;
+}
+h4 {
+  color: #676056;
+  font: 600 14px/1.2 'Open Sans', sans-serif;
+}
+h5 {
+  color: #676056;
+  font: 600 13px/1.2 'Open Sans', sans-serif;
+}
+h6 {
+  color: #676056;
+  font: 600 12px/1.2 'Open Sans', sans-serif;
+}
+a {
+  display: inline;
+  color: #026294;
+  text-decoration: none;
+}
+a:visited,
+a:active {
+  color: #026294;
+}
+a:focus,
+a:hover {
+  color: #026294;
+  text-decoration: underline;
+}
+.DefaultButton,
+.PrimaryButton,
+input[type=button],
+input[type=submit],
+input[type=reset],
+button,
+[class^="action-"],
+.popup-window .add-widget,
+.PrimaryAddButton,
+.PrimarySplitButton > .action-toggle.primary,
+input[type=button].primary,
+input[type=submit].primary,
+input[type=reset].primary,
+button.primary,
+[class^="action-"].primary,
+.popup-window .add-widget.primary,
+.PrimarySplitButton.btn-round .action-default.primary,
+.sales-order-index .page-actions .add,
+.adminhtml-rma-index .page-actions .add,
+.adminhtml-catalog-event-index .page-actions .add,
+.adminhtml-urlrewrite-index .page-actions .add,
+.catalog-search-index .page-actions .add,
+.catalog-product-review-index .page-actions .add,
+.catalog-rule-promo-catalog-index .page-actions .add,
+.sales-rule-promo-quote-index .page-actions .add,
+.adminhtml-reminder-index .page-actions .add,
+.adminhtml-newsletter-template-index .page-actions .add,
+.adminhtml-system-email-template-index .page-actions .add,
+.adminhtml-sitemap-index .page-actions .add,
+.adminhtml-googleshopping-types-index .page-actions .add,
+.customer-index-index .page-actions .add,
+.adminhtml-cms-page-index .page-actions .add,
+.cms-block-index .page-actions .add,
+.adminhtml-banner-index .page-actions .add,
+.adminhtml-widget-instance-index .page-actions .add,
+.cms-page-index .page-actions .add,
+.adminhtml-webapi-user-index .page-actions .add,
+.adminhtml-webapi-role-index .page-actions .add,
+.adminhtml-system-variable-index .page-actions .add,
+.adminhtml-user-index .page-actions .add,
+.adminhtml-user-role-index .page-actions .add,
+.adminhtml-webhook-subscription-index .page-actions .add,
+.adminhtml-integration-index .page-actions .add,
+.adminhtml-system-design-theme-index .page-actions .add,
+.adminhtml-system-design-index .page-actions .add,
+.adminhtml-customer-attribute-index .page-actions .add,
+.adminhtml-customer-address-attribute-index .page-actions .add,
+.rating-index-index .page-actions .add,
+.tax-rule-index .page-actions .add,
+.tax-rate-index .page-actions .add,
+.adminhtml-rma-item-attribute-index .page-actions .add,
+.adminhtml-reward-rate-index .page-actions .add,
+.customer-group-index .page-actions .add,
+.checkout-agreement-index .page-actions .add,
+.catalog-product-attribute-index .page-actions .add,
+.catalog-product-set-index .page-actions .add,
+.catalog-product-new .actions-split > .action-toggle.primary,
+.catalog-product-edit .actions-split > .action-toggle.primary,
+.catalog-product-index .actions-split > .action-toggle.primary,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary {
+  font: 14px/19px 'Open Sans', sans-serif;
+  font-weight: 500;
+  background: #f2ebde;
+  border: 1px solid #ada89e;
+  color: #676056;
+  display: inline-block;
+  padding: 5px 14px;
+  text-align: center;
+  text-decoration: none;
+  vertical-align: top;
+  cursor: pointer;
+  border-radius: 2px;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+.DefaultButton:hover,
+.DefaultButton:focus,
+.DefaultButton:active,
+.PrimaryButton:hover,
+.PrimaryButton:focus,
+.PrimaryButton:active,
+input[type=button]:hover,
+input[type=button]:focus,
+input[type=button]:active,
+input[type=submit]:hover,
+input[type=submit]:focus,
+input[type=submit]:active,
+input[type=reset]:hover,
+input[type=reset]:focus,
+input[type=reset]:active,
+button:hover,
+button:focus,
+button:active,
+[class^="action-"]:hover,
+[class^="action-"]:focus,
+[class^="action-"]:active,
+.popup-window .add-widget:hover,
+.popup-window .add-widget:focus,
+.popup-window .add-widget:active,
+.PrimaryAddButton:hover,
+.PrimaryAddButton:focus,
+.PrimaryAddButton:active,
+.PrimarySplitButton > .action-toggle.primary:hover,
+.PrimarySplitButton > .action-toggle.primary:focus,
+.PrimarySplitButton > .action-toggle.primary:active,
+input[type=button].primary:hover,
+input[type=button].primary:focus,
+input[type=button].primary:active,
+input[type=submit].primary:hover,
+input[type=submit].primary:focus,
+input[type=submit].primary:active,
+input[type=reset].primary:hover,
+input[type=reset].primary:focus,
+input[type=reset].primary:active,
+button.primary:hover,
+button.primary:focus,
+button.primary:active,
+[class^="action-"].primary:hover,
+[class^="action-"].primary:focus,
+[class^="action-"].primary:active,
+.popup-window .add-widget.primary:hover,
+.popup-window .add-widget.primary:focus,
+.popup-window .add-widget.primary:active,
+.PrimarySplitButton.btn-round .action-default.primary:hover,
+.PrimarySplitButton.btn-round .action-default.primary:focus,
+.PrimarySplitButton.btn-round .action-default.primary:active,
+.sales-order-index .page-actions .add:hover,
+.sales-order-index .page-actions .add:focus,
+.sales-order-index .page-actions .add:active,
+.adminhtml-rma-index .page-actions .add:hover,
+.adminhtml-rma-index .page-actions .add:focus,
+.adminhtml-rma-index .page-actions .add:active,
+.adminhtml-catalog-event-index .page-actions .add:hover,
+.adminhtml-catalog-event-index .page-actions .add:focus,
+.adminhtml-catalog-event-index .page-actions .add:active,
+.adminhtml-urlrewrite-index .page-actions .add:hover,
+.adminhtml-urlrewrite-index .page-actions .add:focus,
+.adminhtml-urlrewrite-index .page-actions .add:active,
+.catalog-search-index .page-actions .add:hover,
+.catalog-search-index .page-actions .add:focus,
+.catalog-search-index .page-actions .add:active,
+.catalog-product-review-index .page-actions .add:hover,
+.catalog-product-review-index .page-actions .add:focus,
+.catalog-product-review-index .page-actions .add:active,
+.catalog-rule-promo-catalog-index .page-actions .add:hover,
+.catalog-rule-promo-catalog-index .page-actions .add:focus,
+.catalog-rule-promo-catalog-index .page-actions .add:active,
+.sales-rule-promo-quote-index .page-actions .add:hover,
+.sales-rule-promo-quote-index .page-actions .add:focus,
+.sales-rule-promo-quote-index .page-actions .add:active,
+.adminhtml-reminder-index .page-actions .add:hover,
+.adminhtml-reminder-index .page-actions .add:focus,
+.adminhtml-reminder-index .page-actions .add:active,
+.adminhtml-newsletter-template-index .page-actions .add:hover,
+.adminhtml-newsletter-template-index .page-actions .add:focus,
+.adminhtml-newsletter-template-index .page-actions .add:active,
+.adminhtml-system-email-template-index .page-actions .add:hover,
+.adminhtml-system-email-template-index .page-actions .add:focus,
+.adminhtml-system-email-template-index .page-actions .add:active,
+.adminhtml-sitemap-index .page-actions .add:hover,
+.adminhtml-sitemap-index .page-actions .add:focus,
+.adminhtml-sitemap-index .page-actions .add:active,
+.adminhtml-googleshopping-types-index .page-actions .add:hover,
+.adminhtml-googleshopping-types-index .page-actions .add:focus,
+.adminhtml-googleshopping-types-index .page-actions .add:active,
+.customer-index-index .page-actions .add:hover,
+.customer-index-index .page-actions .add:focus,
+.customer-index-index .page-actions .add:active,
+.adminhtml-cms-page-index .page-actions .add:hover,
+.adminhtml-cms-page-index .page-actions .add:focus,
+.adminhtml-cms-page-index .page-actions .add:active,
+.cms-block-index .page-actions .add:hover,
+.cms-block-index .page-actions .add:focus,
+.cms-block-index .page-actions .add:active,
+.adminhtml-banner-index .page-actions .add:hover,
+.adminhtml-banner-index .page-actions .add:focus,
+.adminhtml-banner-index .page-actions .add:active,
+.adminhtml-widget-instance-index .page-actions .add:hover,
+.adminhtml-widget-instance-index .page-actions .add:focus,
+.adminhtml-widget-instance-index .page-actions .add:active,
+.cms-page-index .page-actions .add:hover,
+.cms-page-index .page-actions .add:focus,
+.cms-page-index .page-actions .add:active,
+.adminhtml-webapi-user-index .page-actions .add:hover,
+.adminhtml-webapi-user-index .page-actions .add:focus,
+.adminhtml-webapi-user-index .page-actions .add:active,
+.adminhtml-webapi-role-index .page-actions .add:hover,
+.adminhtml-webapi-role-index .page-actions .add:focus,
+.adminhtml-webapi-role-index .page-actions .add:active,
+.adminhtml-system-variable-index .page-actions .add:hover,
+.adminhtml-system-variable-index .page-actions .add:focus,
+.adminhtml-system-variable-index .page-actions .add:active,
+.adminhtml-user-index .page-actions .add:hover,
+.adminhtml-user-index .page-actions .add:focus,
+.adminhtml-user-index .page-actions .add:active,
+.adminhtml-user-role-index .page-actions .add:hover,
+.adminhtml-user-role-index .page-actions .add:focus,
+.adminhtml-user-role-index .page-actions .add:active,
+.adminhtml-webhook-subscription-index .page-actions .add:hover,
+.adminhtml-webhook-subscription-index .page-actions .add:focus,
+.adminhtml-webhook-subscription-index .page-actions .add:active,
+.adminhtml-integration-index .page-actions .add:hover,
+.adminhtml-integration-index .page-actions .add:focus,
+.adminhtml-integration-index .page-actions .add:active,
+.adminhtml-system-design-theme-index .page-actions .add:hover,
+.adminhtml-system-design-theme-index .page-actions .add:focus,
+.adminhtml-system-design-theme-index .page-actions .add:active,
+.adminhtml-system-design-index .page-actions .add:hover,
+.adminhtml-system-design-index .page-actions .add:focus,
+.adminhtml-system-design-index .page-actions .add:active,
+.adminhtml-customer-attribute-index .page-actions .add:hover,
+.adminhtml-customer-attribute-index .page-actions .add:focus,
+.adminhtml-customer-attribute-index .page-actions .add:active,
+.adminhtml-customer-address-attribute-index .page-actions .add:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add:focus,
+.adminhtml-customer-address-attribute-index .page-actions .add:active,
+.rating-index-index .page-actions .add:hover,
+.rating-index-index .page-actions .add:focus,
+.rating-index-index .page-actions .add:active,
+.tax-rule-index .page-actions .add:hover,
+.tax-rule-index .page-actions .add:focus,
+.tax-rule-index .page-actions .add:active,
+.tax-rate-index .page-actions .add:hover,
+.tax-rate-index .page-actions .add:focus,
+.tax-rate-index .page-actions .add:active,
+.adminhtml-rma-item-attribute-index .page-actions .add:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add:focus,
+.adminhtml-rma-item-attribute-index .page-actions .add:active,
+.adminhtml-reward-rate-index .page-actions .add:hover,
+.adminhtml-reward-rate-index .page-actions .add:focus,
+.adminhtml-reward-rate-index .page-actions .add:active,
+.customer-group-index .page-actions .add:hover,
+.customer-group-index .page-actions .add:focus,
+.customer-group-index .page-actions .add:active,
+.checkout-agreement-index .page-actions .add:hover,
+.checkout-agreement-index .page-actions .add:focus,
+.checkout-agreement-index .page-actions .add:active,
+.catalog-product-attribute-index .page-actions .add:hover,
+.catalog-product-attribute-index .page-actions .add:focus,
+.catalog-product-attribute-index .page-actions .add:active,
+.catalog-product-set-index .page-actions .add:hover,
+.catalog-product-set-index .page-actions .add:focus,
+.catalog-product-set-index .page-actions .add:active,
+.catalog-product-new .actions-split > .action-toggle.primary:hover,
+.catalog-product-new .actions-split > .action-toggle.primary:focus,
+.catalog-product-new .actions-split > .action-toggle.primary:active,
+.catalog-product-edit .actions-split > .action-toggle.primary:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary:focus,
+.catalog-product-edit .actions-split > .action-toggle.primary:active,
+.catalog-product-index .actions-split > .action-toggle.primary:hover,
+.catalog-product-index .actions-split > .action-toggle.primary:focus,
+.catalog-product-index .actions-split > .action-toggle.primary:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-new .actions-split.btn-round .action-default.primary:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-index .actions-split.btn-round .action-default.primary:active {
+  background: #cac3b4;
+  color: #676056;
+}
+.DefaultButton:active,
+.PrimaryButton:active,
+input[type=button]:active,
+input[type=submit]:active,
+input[type=reset]:active,
+button:active,
+[class^="action-"]:active,
+.popup-window .add-widget:active,
+.PrimaryAddButton:active,
+.PrimarySplitButton > .action-toggle.primary:active,
+input[type=button].primary:active,
+input[type=submit].primary:active,
+input[type=reset].primary:active,
+button.primary:active,
+[class^="action-"].primary:active,
+.popup-window .add-widget.primary:active,
+.PrimarySplitButton.btn-round .action-default.primary:active,
+.sales-order-index .page-actions .add:active,
+.adminhtml-rma-index .page-actions .add:active,
+.adminhtml-catalog-event-index .page-actions .add:active,
+.adminhtml-urlrewrite-index .page-actions .add:active,
+.catalog-search-index .page-actions .add:active,
+.catalog-product-review-index .page-actions .add:active,
+.catalog-rule-promo-catalog-index .page-actions .add:active,
+.sales-rule-promo-quote-index .page-actions .add:active,
+.adminhtml-reminder-index .page-actions .add:active,
+.adminhtml-newsletter-template-index .page-actions .add:active,
+.adminhtml-system-email-template-index .page-actions .add:active,
+.adminhtml-sitemap-index .page-actions .add:active,
+.adminhtml-googleshopping-types-index .page-actions .add:active,
+.customer-index-index .page-actions .add:active,
+.adminhtml-cms-page-index .page-actions .add:active,
+.cms-block-index .page-actions .add:active,
+.adminhtml-banner-index .page-actions .add:active,
+.adminhtml-widget-instance-index .page-actions .add:active,
+.cms-page-index .page-actions .add:active,
+.adminhtml-webapi-user-index .page-actions .add:active,
+.adminhtml-webapi-role-index .page-actions .add:active,
+.adminhtml-system-variable-index .page-actions .add:active,
+.adminhtml-user-index .page-actions .add:active,
+.adminhtml-user-role-index .page-actions .add:active,
+.adminhtml-webhook-subscription-index .page-actions .add:active,
+.adminhtml-integration-index .page-actions .add:active,
+.adminhtml-system-design-theme-index .page-actions .add:active,
+.adminhtml-system-design-index .page-actions .add:active,
+.adminhtml-customer-attribute-index .page-actions .add:active,
+.adminhtml-customer-address-attribute-index .page-actions .add:active,
+.rating-index-index .page-actions .add:active,
+.tax-rule-index .page-actions .add:active,
+.tax-rate-index .page-actions .add:active,
+.adminhtml-rma-item-attribute-index .page-actions .add:active,
+.adminhtml-reward-rate-index .page-actions .add:active,
+.customer-group-index .page-actions .add:active,
+.checkout-agreement-index .page-actions .add:active,
+.catalog-product-attribute-index .page-actions .add:active,
+.catalog-product-set-index .page-actions .add:active,
+.catalog-product-new .actions-split > .action-toggle.primary:active,
+.catalog-product-edit .actions-split > .action-toggle.primary:active,
+.catalog-product-index .actions-split > .action-toggle.primary:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary:active {
+  border: 1px solid #989287;
+}
+.DefaultButton:visited,
+.PrimaryButton:visited,
+input[type=button]:visited,
+input[type=submit]:visited,
+input[type=reset]:visited,
+button:visited,
+[class^="action-"]:visited,
+.popup-window .add-widget:visited,
+.PrimaryAddButton:visited,
+.PrimarySplitButton > .action-toggle.primary:visited,
+input[type=button].primary:visited,
+input[type=submit].primary:visited,
+input[type=reset].primary:visited,
+button.primary:visited,
+[class^="action-"].primary:visited,
+.popup-window .add-widget.primary:visited,
+.PrimarySplitButton.btn-round .action-default.primary:visited,
+.sales-order-index .page-actions .add:visited,
+.adminhtml-rma-index .page-actions .add:visited,
+.adminhtml-catalog-event-index .page-actions .add:visited,
+.adminhtml-urlrewrite-index .page-actions .add:visited,
+.catalog-search-index .page-actions .add:visited,
+.catalog-product-review-index .page-actions .add:visited,
+.catalog-rule-promo-catalog-index .page-actions .add:visited,
+.sales-rule-promo-quote-index .page-actions .add:visited,
+.adminhtml-reminder-index .page-actions .add:visited,
+.adminhtml-newsletter-template-index .page-actions .add:visited,
+.adminhtml-system-email-template-index .page-actions .add:visited,
+.adminhtml-sitemap-index .page-actions .add:visited,
+.adminhtml-googleshopping-types-index .page-actions .add:visited,
+.customer-index-index .page-actions .add:visited,
+.adminhtml-cms-page-index .page-actions .add:visited,
+.cms-block-index .page-actions .add:visited,
+.adminhtml-banner-index .page-actions .add:visited,
+.adminhtml-widget-instance-index .page-actions .add:visited,
+.cms-page-index .page-actions .add:visited,
+.adminhtml-webapi-user-index .page-actions .add:visited,
+.adminhtml-webapi-role-index .page-actions .add:visited,
+.adminhtml-system-variable-index .page-actions .add:visited,
+.adminhtml-user-index .page-actions .add:visited,
+.adminhtml-user-role-index .page-actions .add:visited,
+.adminhtml-webhook-subscription-index .page-actions .add:visited,
+.adminhtml-integration-index .page-actions .add:visited,
+.adminhtml-system-design-theme-index .page-actions .add:visited,
+.adminhtml-system-design-index .page-actions .add:visited,
+.adminhtml-customer-attribute-index .page-actions .add:visited,
+.adminhtml-customer-address-attribute-index .page-actions .add:visited,
+.rating-index-index .page-actions .add:visited,
+.tax-rule-index .page-actions .add:visited,
+.tax-rate-index .page-actions .add:visited,
+.adminhtml-rma-item-attribute-index .page-actions .add:visited,
+.adminhtml-reward-rate-index .page-actions .add:visited,
+.customer-group-index .page-actions .add:visited,
+.checkout-agreement-index .page-actions .add:visited,
+.catalog-product-attribute-index .page-actions .add:visited,
+.catalog-product-set-index .page-actions .add:visited,
+.catalog-product-new .actions-split > .action-toggle.primary:visited,
+.catalog-product-edit .actions-split > .action-toggle.primary:visited,
+.catalog-product-index .actions-split > .action-toggle.primary:visited,
+.catalog-product-new .actions-split.btn-round .action-default.primary:visited,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:visited,
+.catalog-product-index .actions-split.btn-round .action-default.primary:visited {
+  color: #676056;
+}
+.DefaultButton[disabled],
+.DefaultButton.disabled,
+.PrimaryButton[disabled],
+.PrimaryButton.disabled,
+input[type=button][disabled],
+input[type=button].disabled,
+input[type=submit][disabled],
+input[type=submit].disabled,
+input[type=reset][disabled],
+input[type=reset].disabled,
+button[disabled],
+button.disabled,
+[class^="action-"][disabled],
+[class^="action-"].disabled,
+.popup-window .add-widget[disabled],
+.popup-window .add-widget.disabled,
+.PrimaryAddButton[disabled],
+.PrimaryAddButton.disabled,
+.PrimarySplitButton > .action-toggle.primary[disabled],
+.PrimarySplitButton > .action-toggle.primary.disabled,
+input[type=button].primary[disabled],
+input[type=button].primary.disabled,
+input[type=submit].primary[disabled],
+input[type=submit].primary.disabled,
+input[type=reset].primary[disabled],
+input[type=reset].primary.disabled,
+button.primary[disabled],
+button.primary.disabled,
+[class^="action-"].primary[disabled],
+[class^="action-"].primary.disabled,
+.popup-window .add-widget.primary[disabled],
+.popup-window .add-widget.primary.disabled,
+.PrimarySplitButton.btn-round .action-default.primary[disabled],
+.PrimarySplitButton.btn-round .action-default.primary.disabled,
+.sales-order-index .page-actions .add[disabled],
+.sales-order-index .page-actions .add.disabled,
+.adminhtml-rma-index .page-actions .add[disabled],
+.adminhtml-rma-index .page-actions .add.disabled,
+.adminhtml-catalog-event-index .page-actions .add[disabled],
+.adminhtml-catalog-event-index .page-actions .add.disabled,
+.adminhtml-urlrewrite-index .page-actions .add[disabled],
+.adminhtml-urlrewrite-index .page-actions .add.disabled,
+.catalog-search-index .page-actions .add[disabled],
+.catalog-search-index .page-actions .add.disabled,
+.catalog-product-review-index .page-actions .add[disabled],
+.catalog-product-review-index .page-actions .add.disabled,
+.catalog-rule-promo-catalog-index .page-actions .add[disabled],
+.catalog-rule-promo-catalog-index .page-actions .add.disabled,
+.sales-rule-promo-quote-index .page-actions .add[disabled],
+.sales-rule-promo-quote-index .page-actions .add.disabled,
+.adminhtml-reminder-index .page-actions .add[disabled],
+.adminhtml-reminder-index .page-actions .add.disabled,
+.adminhtml-newsletter-template-index .page-actions .add[disabled],
+.adminhtml-newsletter-template-index .page-actions .add.disabled,
+.adminhtml-system-email-template-index .page-actions .add[disabled],
+.adminhtml-system-email-template-index .page-actions .add.disabled,
+.adminhtml-sitemap-index .page-actions .add[disabled],
+.adminhtml-sitemap-index .page-actions .add.disabled,
+.adminhtml-googleshopping-types-index .page-actions .add[disabled],
+.adminhtml-googleshopping-types-index .page-actions .add.disabled,
+.customer-index-index .page-actions .add[disabled],
+.customer-index-index .page-actions .add.disabled,
+.adminhtml-cms-page-index .page-actions .add[disabled],
+.adminhtml-cms-page-index .page-actions .add.disabled,
+.cms-block-index .page-actions .add[disabled],
+.cms-block-index .page-actions .add.disabled,
+.adminhtml-banner-index .page-actions .add[disabled],
+.adminhtml-banner-index .page-actions .add.disabled,
+.adminhtml-widget-instance-index .page-actions .add[disabled],
+.adminhtml-widget-instance-index .page-actions .add.disabled,
+.cms-page-index .page-actions .add[disabled],
+.cms-page-index .page-actions .add.disabled,
+.adminhtml-webapi-user-index .page-actions .add[disabled],
+.adminhtml-webapi-user-index .page-actions .add.disabled,
+.adminhtml-webapi-role-index .page-actions .add[disabled],
+.adminhtml-webapi-role-index .page-actions .add.disabled,
+.adminhtml-system-variable-index .page-actions .add[disabled],
+.adminhtml-system-variable-index .page-actions .add.disabled,
+.adminhtml-user-index .page-actions .add[disabled],
+.adminhtml-user-index .page-actions .add.disabled,
+.adminhtml-user-role-index .page-actions .add[disabled],
+.adminhtml-user-role-index .page-actions .add.disabled,
+.adminhtml-webhook-subscription-index .page-actions .add[disabled],
+.adminhtml-webhook-subscription-index .page-actions .add.disabled,
+.adminhtml-integration-index .page-actions .add[disabled],
+.adminhtml-integration-index .page-actions .add.disabled,
+.adminhtml-system-design-theme-index .page-actions .add[disabled],
+.adminhtml-system-design-theme-index .page-actions .add.disabled,
+.adminhtml-system-design-index .page-actions .add[disabled],
+.adminhtml-system-design-index .page-actions .add.disabled,
+.adminhtml-customer-attribute-index .page-actions .add[disabled],
+.adminhtml-customer-attribute-index .page-actions .add.disabled,
+.adminhtml-customer-address-attribute-index .page-actions .add[disabled],
+.adminhtml-customer-address-attribute-index .page-actions .add.disabled,
+.rating-index-index .page-actions .add[disabled],
+.rating-index-index .page-actions .add.disabled,
+.tax-rule-index .page-actions .add[disabled],
+.tax-rule-index .page-actions .add.disabled,
+.tax-rate-index .page-actions .add[disabled],
+.tax-rate-index .page-actions .add.disabled,
+.adminhtml-rma-item-attribute-index .page-actions .add[disabled],
+.adminhtml-rma-item-attribute-index .page-actions .add.disabled,
+.adminhtml-reward-rate-index .page-actions .add[disabled],
+.adminhtml-reward-rate-index .page-actions .add.disabled,
+.customer-group-index .page-actions .add[disabled],
+.customer-group-index .page-actions .add.disabled,
+.checkout-agreement-index .page-actions .add[disabled],
+.checkout-agreement-index .page-actions .add.disabled,
+.catalog-product-attribute-index .page-actions .add[disabled],
+.catalog-product-attribute-index .page-actions .add.disabled,
+.catalog-product-set-index .page-actions .add[disabled],
+.catalog-product-set-index .page-actions .add.disabled,
+.catalog-product-new .actions-split > .action-toggle.primary[disabled],
+.catalog-product-new .actions-split > .action-toggle.primary.disabled,
+.catalog-product-edit .actions-split > .action-toggle.primary[disabled],
+.catalog-product-edit .actions-split > .action-toggle.primary.disabled,
+.catalog-product-index .actions-split > .action-toggle.primary[disabled],
+.catalog-product-index .actions-split > .action-toggle.primary.disabled,
+.catalog-product-new .actions-split.btn-round .action-default.primary[disabled],
+.catalog-product-new .actions-split.btn-round .action-default.primary.disabled,
+.catalog-product-edit .actions-split.btn-round .action-default.primary[disabled],
+.catalog-product-edit .actions-split.btn-round .action-default.primary.disabled,
+.catalog-product-index .actions-split.btn-round .action-default.primary[disabled],
+.catalog-product-index .actions-split.btn-round .action-default.primary.disabled {
+  cursor: not-allowed;
+  opacity: 0.5;
+  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
+}
+.DefaultButton[disabled]:hover,
+.DefaultButton.disabled:hover,
+.DefaultButton[disabled]:active,
+.DefaultButton.disabled:active,
+.PrimaryButton[disabled]:hover,
+.PrimaryButton.disabled:hover,
+.PrimaryButton[disabled]:active,
+.PrimaryButton.disabled:active,
+input[type=button][disabled]:hover,
+input[type=button].disabled:hover,
+input[type=button][disabled]:active,
+input[type=button].disabled:active,
+input[type=submit][disabled]:hover,
+input[type=submit].disabled:hover,
+input[type=submit][disabled]:active,
+input[type=submit].disabled:active,
+input[type=reset][disabled]:hover,
+input[type=reset].disabled:hover,
+input[type=reset][disabled]:active,
+input[type=reset].disabled:active,
+button[disabled]:hover,
+button.disabled:hover,
+button[disabled]:active,
+button.disabled:active,
+[class^="action-"][disabled]:hover,
+[class^="action-"].disabled:hover,
+[class^="action-"][disabled]:active,
+[class^="action-"].disabled:active,
+.popup-window .add-widget[disabled]:hover,
+.popup-window .add-widget.disabled:hover,
+.popup-window .add-widget[disabled]:active,
+.popup-window .add-widget.disabled:active,
+.PrimaryAddButton[disabled]:hover,
+.PrimaryAddButton.disabled:hover,
+.PrimaryAddButton[disabled]:active,
+.PrimaryAddButton.disabled:active,
+.PrimarySplitButton > .action-toggle.primary[disabled]:hover,
+.PrimarySplitButton > .action-toggle.primary.disabled:hover,
+.PrimarySplitButton > .action-toggle.primary[disabled]:active,
+.PrimarySplitButton > .action-toggle.primary.disabled:active,
+input[type=button].primary[disabled]:hover,
+input[type=button].primary.disabled:hover,
+input[type=button].primary[disabled]:active,
+input[type=button].primary.disabled:active,
+input[type=submit].primary[disabled]:hover,
+input[type=submit].primary.disabled:hover,
+input[type=submit].primary[disabled]:active,
+input[type=submit].primary.disabled:active,
+input[type=reset].primary[disabled]:hover,
+input[type=reset].primary.disabled:hover,
+input[type=reset].primary[disabled]:active,
+input[type=reset].primary.disabled:active,
+button.primary[disabled]:hover,
+button.primary.disabled:hover,
+button.primary[disabled]:active,
+button.primary.disabled:active,
+[class^="action-"].primary[disabled]:hover,
+[class^="action-"].primary.disabled:hover,
+[class^="action-"].primary[disabled]:active,
+[class^="action-"].primary.disabled:active,
+.popup-window .add-widget.primary[disabled]:hover,
+.popup-window .add-widget.primary.disabled:hover,
+.popup-window .add-widget.primary[disabled]:active,
+.popup-window .add-widget.primary.disabled:active,
+.PrimarySplitButton.btn-round .action-default.primary[disabled]:hover,
+.PrimarySplitButton.btn-round .action-default.primary.disabled:hover,
+.PrimarySplitButton.btn-round .action-default.primary[disabled]:active,
+.PrimarySplitButton.btn-round .action-default.primary.disabled:active,
+.sales-order-index .page-actions .add[disabled]:hover,
+.sales-order-index .page-actions .add.disabled:hover,
+.sales-order-index .page-actions .add[disabled]:active,
+.sales-order-index .page-actions .add.disabled:active,
+.adminhtml-rma-index .page-actions .add[disabled]:hover,
+.adminhtml-rma-index .page-actions .add.disabled:hover,
+.adminhtml-rma-index .page-actions .add[disabled]:active,
+.adminhtml-rma-index .page-actions .add.disabled:active,
+.adminhtml-catalog-event-index .page-actions .add[disabled]:hover,
+.adminhtml-catalog-event-index .page-actions .add.disabled:hover,
+.adminhtml-catalog-event-index .page-actions .add[disabled]:active,
+.adminhtml-catalog-event-index .page-actions .add.disabled:active,
+.adminhtml-urlrewrite-index .page-actions .add[disabled]:hover,
+.adminhtml-urlrewrite-index .page-actions .add.disabled:hover,
+.adminhtml-urlrewrite-index .page-actions .add[disabled]:active,
+.adminhtml-urlrewrite-index .page-actions .add.disabled:active,
+.catalog-search-index .page-actions .add[disabled]:hover,
+.catalog-search-index .page-actions .add.disabled:hover,
+.catalog-search-index .page-actions .add[disabled]:active,
+.catalog-search-index .page-actions .add.disabled:active,
+.catalog-product-review-index .page-actions .add[disabled]:hover,
+.catalog-product-review-index .page-actions .add.disabled:hover,
+.catalog-product-review-index .page-actions .add[disabled]:active,
+.catalog-product-review-index .page-actions .add.disabled:active,
+.catalog-rule-promo-catalog-index .page-actions .add[disabled]:hover,
+.catalog-rule-promo-catalog-index .page-actions .add.disabled:hover,
+.catalog-rule-promo-catalog-index .page-actions .add[disabled]:active,
+.catalog-rule-promo-catalog-index .page-actions .add.disabled:active,
+.sales-rule-promo-quote-index .page-actions .add[disabled]:hover,
+.sales-rule-promo-quote-index .page-actions .add.disabled:hover,
+.sales-rule-promo-quote-index .page-actions .add[disabled]:active,
+.sales-rule-promo-quote-index .page-actions .add.disabled:active,
+.adminhtml-reminder-index .page-actions .add[disabled]:hover,
+.adminhtml-reminder-index .page-actions .add.disabled:hover,
+.adminhtml-reminder-index .page-actions .add[disabled]:active,
+.adminhtml-reminder-index .page-actions .add.disabled:active,
+.adminhtml-newsletter-template-index .page-actions .add[disabled]:hover,
+.adminhtml-newsletter-template-index .page-actions .add.disabled:hover,
+.adminhtml-newsletter-template-index .page-actions .add[disabled]:active,
+.adminhtml-newsletter-template-index .page-actions .add.disabled:active,
+.adminhtml-system-email-template-index .page-actions .add[disabled]:hover,
+.adminhtml-system-email-template-index .page-actions .add.disabled:hover,
+.adminhtml-system-email-template-index .page-actions .add[disabled]:active,
+.adminhtml-system-email-template-index .page-actions .add.disabled:active,
+.adminhtml-sitemap-index .page-actions .add[disabled]:hover,
+.adminhtml-sitemap-index .page-actions .add.disabled:hover,
+.adminhtml-sitemap-index .page-actions .add[disabled]:active,
+.adminhtml-sitemap-index .page-actions .add.disabled:active,
+.adminhtml-googleshopping-types-index .page-actions .add[disabled]:hover,
+.adminhtml-googleshopping-types-index .page-actions .add.disabled:hover,
+.adminhtml-googleshopping-types-index .page-actions .add[disabled]:active,
+.adminhtml-googleshopping-types-index .page-actions .add.disabled:active,
+.customer-index-index .page-actions .add[disabled]:hover,
+.customer-index-index .page-actions .add.disabled:hover,
+.customer-index-index .page-actions .add[disabled]:active,
+.customer-index-index .page-actions .add.disabled:active,
+.adminhtml-cms-page-index .page-actions .add[disabled]:hover,
+.adminhtml-cms-page-index .page-actions .add.disabled:hover,
+.adminhtml-cms-page-index .page-actions .add[disabled]:active,
+.adminhtml-cms-page-index .page-actions .add.disabled:active,
+.cms-block-index .page-actions .add[disabled]:hover,
+.cms-block-index .page-actions .add.disabled:hover,
+.cms-block-index .page-actions .add[disabled]:active,
+.cms-block-index .page-actions .add.disabled:active,
+.adminhtml-banner-index .page-actions .add[disabled]:hover,
+.adminhtml-banner-index .page-actions .add.disabled:hover,
+.adminhtml-banner-index .page-actions .add[disabled]:active,
+.adminhtml-banner-index .page-actions .add.disabled:active,
+.adminhtml-widget-instance-index .page-actions .add[disabled]:hover,
+.adminhtml-widget-instance-index .page-actions .add.disabled:hover,
+.adminhtml-widget-instance-index .page-actions .add[disabled]:active,
+.adminhtml-widget-instance-index .page-actions .add.disabled:active,
+.cms-page-index .page-actions .add[disabled]:hover,
+.cms-page-index .page-actions .add.disabled:hover,
+.cms-page-index .page-actions .add[disabled]:active,
+.cms-page-index .page-actions .add.disabled:active,
+.adminhtml-webapi-user-index .page-actions .add[disabled]:hover,
+.adminhtml-webapi-user-index .page-actions .add.disabled:hover,
+.adminhtml-webapi-user-index .page-actions .add[disabled]:active,
+.adminhtml-webapi-user-index .page-actions .add.disabled:active,
+.adminhtml-webapi-role-index .page-actions .add[disabled]:hover,
+.adminhtml-webapi-role-index .page-actions .add.disabled:hover,
+.adminhtml-webapi-role-index .page-actions .add[disabled]:active,
+.adminhtml-webapi-role-index .page-actions .add.disabled:active,
+.adminhtml-system-variable-index .page-actions .add[disabled]:hover,
+.adminhtml-system-variable-index .page-actions .add.disabled:hover,
+.adminhtml-system-variable-index .page-actions .add[disabled]:active,
+.adminhtml-system-variable-index .page-actions .add.disabled:active,
+.adminhtml-user-index .page-actions .add[disabled]:hover,
+.adminhtml-user-index .page-actions .add.disabled:hover,
+.adminhtml-user-index .page-actions .add[disabled]:active,
+.adminhtml-user-index .page-actions .add.disabled:active,
+.adminhtml-user-role-index .page-actions .add[disabled]:hover,
+.adminhtml-user-role-index .page-actions .add.disabled:hover,
+.adminhtml-user-role-index .page-actions .add[disabled]:active,
+.adminhtml-user-role-index .page-actions .add.disabled:active,
+.adminhtml-webhook-subscription-index .page-actions .add[disabled]:hover,
+.adminhtml-webhook-subscription-index .page-actions .add.disabled:hover,
+.adminhtml-webhook-subscription-index .page-actions .add[disabled]:active,
+.adminhtml-webhook-subscription-index .page-actions .add.disabled:active,
+.adminhtml-integration-index .page-actions .add[disabled]:hover,
+.adminhtml-integration-index .page-actions .add.disabled:hover,
+.adminhtml-integration-index .page-actions .add[disabled]:active,
+.adminhtml-integration-index .page-actions .add.disabled:active,
+.adminhtml-system-design-theme-index .page-actions .add[disabled]:hover,
+.adminhtml-system-design-theme-index .page-actions .add.disabled:hover,
+.adminhtml-system-design-theme-index .page-actions .add[disabled]:active,
+.adminhtml-system-design-theme-index .page-actions .add.disabled:active,
+.adminhtml-system-design-index .page-actions .add[disabled]:hover,
+.adminhtml-system-design-index .page-actions .add.disabled:hover,
+.adminhtml-system-design-index .page-actions .add[disabled]:active,
+.adminhtml-system-design-index .page-actions .add.disabled:active,
+.adminhtml-customer-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-customer-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-customer-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-customer-attribute-index .page-actions .add.disabled:active,
+.adminhtml-customer-address-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-customer-address-attribute-index .page-actions .add.disabled:active,
+.rating-index-index .page-actions .add[disabled]:hover,
+.rating-index-index .page-actions .add.disabled:hover,
+.rating-index-index .page-actions .add[disabled]:active,
+.rating-index-index .page-actions .add.disabled:active,
+.tax-rule-index .page-actions .add[disabled]:hover,
+.tax-rule-index .page-actions .add.disabled:hover,
+.tax-rule-index .page-actions .add[disabled]:active,
+.tax-rule-index .page-actions .add.disabled:active,
+.tax-rate-index .page-actions .add[disabled]:hover,
+.tax-rate-index .page-actions .add.disabled:hover,
+.tax-rate-index .page-actions .add[disabled]:active,
+.tax-rate-index .page-actions .add.disabled:active,
+.adminhtml-rma-item-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-rma-item-attribute-index .page-actions .add.disabled:active,
+.adminhtml-reward-rate-index .page-actions .add[disabled]:hover,
+.adminhtml-reward-rate-index .page-actions .add.disabled:hover,
+.adminhtml-reward-rate-index .page-actions .add[disabled]:active,
+.adminhtml-reward-rate-index .page-actions .add.disabled:active,
+.customer-group-index .page-actions .add[disabled]:hover,
+.customer-group-index .page-actions .add.disabled:hover,
+.customer-group-index .page-actions .add[disabled]:active,
+.customer-group-index .page-actions .add.disabled:active,
+.checkout-agreement-index .page-actions .add[disabled]:hover,
+.checkout-agreement-index .page-actions .add.disabled:hover,
+.checkout-agreement-index .page-actions .add[disabled]:active,
+.checkout-agreement-index .page-actions .add.disabled:active,
+.catalog-product-attribute-index .page-actions .add[disabled]:hover,
+.catalog-product-attribute-index .page-actions .add.disabled:hover,
+.catalog-product-attribute-index .page-actions .add[disabled]:active,
+.catalog-product-attribute-index .page-actions .add.disabled:active,
+.catalog-product-set-index .page-actions .add[disabled]:hover,
+.catalog-product-set-index .page-actions .add.disabled:hover,
+.catalog-product-set-index .page-actions .add[disabled]:active,
+.catalog-product-set-index .page-actions .add.disabled:active,
+.catalog-product-new .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-new .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-new .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-new .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-edit .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-edit .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-index .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-index .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-index .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-index .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary.disabled:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary.disabled:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary.disabled:active {
+  color: #676056;
+  background: #f2ebde;
+  border: 1px solid #ada89e;
+}
+.PrimaryButton,
+.PrimaryAddButton,
+.PrimarySplitButton > .action-toggle.primary,
+input[type=button].primary,
+input[type=submit].primary,
+input[type=reset].primary,
+button.primary,
+[class^="action-"].primary,
+.popup-window .add-widget.primary,
+.PrimarySplitButton.btn-round .action-default.primary,
+.sales-order-index .page-actions .add,
+.adminhtml-rma-index .page-actions .add,
+.adminhtml-catalog-event-index .page-actions .add,
+.adminhtml-urlrewrite-index .page-actions .add,
+.catalog-search-index .page-actions .add,
+.catalog-product-review-index .page-actions .add,
+.catalog-rule-promo-catalog-index .page-actions .add,
+.sales-rule-promo-quote-index .page-actions .add,
+.adminhtml-reminder-index .page-actions .add,
+.adminhtml-newsletter-template-index .page-actions .add,
+.adminhtml-system-email-template-index .page-actions .add,
+.adminhtml-sitemap-index .page-actions .add,
+.adminhtml-googleshopping-types-index .page-actions .add,
+.customer-index-index .page-actions .add,
+.adminhtml-cms-page-index .page-actions .add,
+.cms-block-index .page-actions .add,
+.adminhtml-banner-index .page-actions .add,
+.adminhtml-widget-instance-index .page-actions .add,
+.cms-page-index .page-actions .add,
+.adminhtml-webapi-user-index .page-actions .add,
+.adminhtml-webapi-role-index .page-actions .add,
+.adminhtml-system-variable-index .page-actions .add,
+.adminhtml-user-index .page-actions .add,
+.adminhtml-user-role-index .page-actions .add,
+.adminhtml-webhook-subscription-index .page-actions .add,
+.adminhtml-integration-index .page-actions .add,
+.adminhtml-system-design-theme-index .page-actions .add,
+.adminhtml-system-design-index .page-actions .add,
+.adminhtml-customer-attribute-index .page-actions .add,
+.adminhtml-customer-address-attribute-index .page-actions .add,
+.rating-index-index .page-actions .add,
+.tax-rule-index .page-actions .add,
+.tax-rate-index .page-actions .add,
+.adminhtml-rma-item-attribute-index .page-actions .add,
+.adminhtml-reward-rate-index .page-actions .add,
+.customer-group-index .page-actions .add,
+.checkout-agreement-index .page-actions .add,
+.catalog-product-attribute-index .page-actions .add,
+.catalog-product-set-index .page-actions .add,
+.catalog-product-new .actions-split > .action-toggle.primary,
+.catalog-product-edit .actions-split > .action-toggle.primary,
+.catalog-product-index .actions-split > .action-toggle.primary,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary,
+.PrimaryAddButton,
+.PrimarySplitButton > .action-toggle.primary,
+input[type=button].primary,
+input[type=submit].primary,
+input[type=reset].primary,
+button.primary,
+[class^="action-"].primary,
+.popup-window .add-widget.primary,
+.PrimarySplitButton.btn-round .action-default.primary,
+.sales-order-index .page-actions .add,
+.adminhtml-rma-index .page-actions .add,
+.adminhtml-catalog-event-index .page-actions .add,
+.adminhtml-urlrewrite-index .page-actions .add,
+.catalog-search-index .page-actions .add,
+.catalog-product-review-index .page-actions .add,
+.catalog-rule-promo-catalog-index .page-actions .add,
+.sales-rule-promo-quote-index .page-actions .add,
+.adminhtml-reminder-index .page-actions .add,
+.adminhtml-newsletter-template-index .page-actions .add,
+.adminhtml-system-email-template-index .page-actions .add,
+.adminhtml-sitemap-index .page-actions .add,
+.adminhtml-googleshopping-types-index .page-actions .add,
+.customer-index-index .page-actions .add,
+.adminhtml-cms-page-index .page-actions .add,
+.cms-block-index .page-actions .add,
+.adminhtml-banner-index .page-actions .add,
+.adminhtml-widget-instance-index .page-actions .add,
+.cms-page-index .page-actions .add,
+.adminhtml-webapi-user-index .page-actions .add,
+.adminhtml-webapi-role-index .page-actions .add,
+.adminhtml-system-variable-index .page-actions .add,
+.adminhtml-user-index .page-actions .add,
+.adminhtml-user-role-index .page-actions .add,
+.adminhtml-webhook-subscription-index .page-actions .add,
+.adminhtml-integration-index .page-actions .add,
+.adminhtml-system-design-theme-index .page-actions .add,
+.adminhtml-system-design-index .page-actions .add,
+.adminhtml-customer-attribute-index .page-actions .add,
+.adminhtml-customer-address-attribute-index .page-actions .add,
+.rating-index-index .page-actions .add,
+.tax-rule-index .page-actions .add,
+.tax-rate-index .page-actions .add,
+.adminhtml-rma-item-attribute-index .page-actions .add,
+.adminhtml-reward-rate-index .page-actions .add,
+.customer-group-index .page-actions .add,
+.checkout-agreement-index .page-actions .add,
+.catalog-product-attribute-index .page-actions .add,
+.catalog-product-set-index .page-actions .add,
+.catalog-product-new .actions-split > .action-toggle.primary,
+.catalog-product-edit .actions-split > .action-toggle.primary,
+.catalog-product-index .actions-split > .action-toggle.primary,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary {
+  color: #fff;
+  background: #007dbd;
+  border: 1px solid #0574ad;
+}
+.PrimaryButton:focus,
+.PrimaryButton:hover,
+.PrimaryAddButton:focus,
+.PrimaryAddButton:hover,
+.PrimarySplitButton > .action-toggle.primary:focus,
+.PrimarySplitButton > .action-toggle.primary:hover,
+input[type=button].primary:focus,
+input[type=button].primary:hover,
+input[type=submit].primary:focus,
+input[type=submit].primary:hover,
+input[type=reset].primary:focus,
+input[type=reset].primary:hover,
+button.primary:focus,
+button.primary:hover,
+[class^="action-"].primary:focus,
+[class^="action-"].primary:hover,
+.popup-window .add-widget.primary:focus,
+.popup-window .add-widget.primary:hover,
+.PrimarySplitButton.btn-round .action-default.primary:focus,
+.PrimarySplitButton.btn-round .action-default.primary:hover,
+.sales-order-index .page-actions .add:focus,
+.sales-order-index .page-actions .add:hover,
+.adminhtml-rma-index .page-actions .add:focus,
+.adminhtml-rma-index .page-actions .add:hover,
+.adminhtml-catalog-event-index .page-actions .add:focus,
+.adminhtml-catalog-event-index .page-actions .add:hover,
+.adminhtml-urlrewrite-index .page-actions .add:focus,
+.adminhtml-urlrewrite-index .page-actions .add:hover,
+.catalog-search-index .page-actions .add:focus,
+.catalog-search-index .page-actions .add:hover,
+.catalog-product-review-index .page-actions .add:focus,
+.catalog-product-review-index .page-actions .add:hover,
+.catalog-rule-promo-catalog-index .page-actions .add:focus,
+.catalog-rule-promo-catalog-index .page-actions .add:hover,
+.sales-rule-promo-quote-index .page-actions .add:focus,
+.sales-rule-promo-quote-index .page-actions .add:hover,
+.adminhtml-reminder-index .page-actions .add:focus,
+.adminhtml-reminder-index .page-actions .add:hover,
+.adminhtml-newsletter-template-index .page-actions .add:focus,
+.adminhtml-newsletter-template-index .page-actions .add:hover,
+.adminhtml-system-email-template-index .page-actions .add:focus,
+.adminhtml-system-email-template-index .page-actions .add:hover,
+.adminhtml-sitemap-index .page-actions .add:focus,
+.adminhtml-sitemap-index .page-actions .add:hover,
+.adminhtml-googleshopping-types-index .page-actions .add:focus,
+.adminhtml-googleshopping-types-index .page-actions .add:hover,
+.customer-index-index .page-actions .add:focus,
+.customer-index-index .page-actions .add:hover,
+.adminhtml-cms-page-index .page-actions .add:focus,
+.adminhtml-cms-page-index .page-actions .add:hover,
+.cms-block-index .page-actions .add:focus,
+.cms-block-index .page-actions .add:hover,
+.adminhtml-banner-index .page-actions .add:focus,
+.adminhtml-banner-index .page-actions .add:hover,
+.adminhtml-widget-instance-index .page-actions .add:focus,
+.adminhtml-widget-instance-index .page-actions .add:hover,
+.cms-page-index .page-actions .add:focus,
+.cms-page-index .page-actions .add:hover,
+.adminhtml-webapi-user-index .page-actions .add:focus,
+.adminhtml-webapi-user-index .page-actions .add:hover,
+.adminhtml-webapi-role-index .page-actions .add:focus,
+.adminhtml-webapi-role-index .page-actions .add:hover,
+.adminhtml-system-variable-index .page-actions .add:focus,
+.adminhtml-system-variable-index .page-actions .add:hover,
+.adminhtml-user-index .page-actions .add:focus,
+.adminhtml-user-index .page-actions .add:hover,
+.adminhtml-user-role-index .page-actions .add:focus,
+.adminhtml-user-role-index .page-actions .add:hover,
+.adminhtml-webhook-subscription-index .page-actions .add:focus,
+.adminhtml-webhook-subscription-index .page-actions .add:hover,
+.adminhtml-integration-index .page-actions .add:focus,
+.adminhtml-integration-index .page-actions .add:hover,
+.adminhtml-system-design-theme-index .page-actions .add:focus,
+.adminhtml-system-design-theme-index .page-actions .add:hover,
+.adminhtml-system-design-index .page-actions .add:focus,
+.adminhtml-system-design-index .page-actions .add:hover,
+.adminhtml-customer-attribute-index .page-actions .add:focus,
+.adminhtml-customer-attribute-index .page-actions .add:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add:focus,
+.adminhtml-customer-address-attribute-index .page-actions .add:hover,
+.rating-index-index .page-actions .add:focus,
+.rating-index-index .page-actions .add:hover,
+.tax-rule-index .page-actions .add:focus,
+.tax-rule-index .page-actions .add:hover,
+.tax-rate-index .page-actions .add:focus,
+.tax-rate-index .page-actions .add:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add:focus,
+.adminhtml-rma-item-attribute-index .page-actions .add:hover,
+.adminhtml-reward-rate-index .page-actions .add:focus,
+.adminhtml-reward-rate-index .page-actions .add:hover,
+.customer-group-index .page-actions .add:focus,
+.customer-group-index .page-actions .add:hover,
+.checkout-agreement-index .page-actions .add:focus,
+.checkout-agreement-index .page-actions .add:hover,
+.catalog-product-attribute-index .page-actions .add:focus,
+.catalog-product-attribute-index .page-actions .add:hover,
+.catalog-product-set-index .page-actions .add:focus,
+.catalog-product-set-index .page-actions .add:hover,
+.catalog-product-new .actions-split > .action-toggle.primary:focus,
+.catalog-product-new .actions-split > .action-toggle.primary:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary:focus,
+.catalog-product-edit .actions-split > .action-toggle.primary:hover,
+.catalog-product-index .actions-split > .action-toggle.primary:focus,
+.catalog-product-index .actions-split > .action-toggle.primary:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-new .actions-split.btn-round .action-default.primary:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-index .actions-split.btn-round .action-default.primary:hover {
+  color: #fff;
+  background: #026294;
+  border: 1px solid #026294;
+}
+.PrimaryButton:active,
+.PrimaryAddButton:active,
+.PrimarySplitButton > .action-toggle.primary:active,
+input[type=button].primary:active,
+input[type=submit].primary:active,
+input[type=reset].primary:active,
+button.primary:active,
+[class^="action-"].primary:active,
+.popup-window .add-widget.primary:active,
+.PrimarySplitButton.btn-round .action-default.primary:active,
+.sales-order-index .page-actions .add:active,
+.adminhtml-rma-index .page-actions .add:active,
+.adminhtml-catalog-event-index .page-actions .add:active,
+.adminhtml-urlrewrite-index .page-actions .add:active,
+.catalog-search-index .page-actions .add:active,
+.catalog-product-review-index .page-actions .add:active,
+.catalog-rule-promo-catalog-index .page-actions .add:active,
+.sales-rule-promo-quote-index .page-actions .add:active,
+.adminhtml-reminder-index .page-actions .add:active,
+.adminhtml-newsletter-template-index .page-actions .add:active,
+.adminhtml-system-email-template-index .page-actions .add:active,
+.adminhtml-sitemap-index .page-actions .add:active,
+.adminhtml-googleshopping-types-index .page-actions .add:active,
+.customer-index-index .page-actions .add:active,
+.adminhtml-cms-page-index .page-actions .add:active,
+.cms-block-index .page-actions .add:active,
+.adminhtml-banner-index .page-actions .add:active,
+.adminhtml-widget-instance-index .page-actions .add:active,
+.cms-page-index .page-actions .add:active,
+.adminhtml-webapi-user-index .page-actions .add:active,
+.adminhtml-webapi-role-index .page-actions .add:active,
+.adminhtml-system-variable-index .page-actions .add:active,
+.adminhtml-user-index .page-actions .add:active,
+.adminhtml-user-role-index .page-actions .add:active,
+.adminhtml-webhook-subscription-index .page-actions .add:active,
+.adminhtml-integration-index .page-actions .add:active,
+.adminhtml-system-design-theme-index .page-actions .add:active,
+.adminhtml-system-design-index .page-actions .add:active,
+.adminhtml-customer-attribute-index .page-actions .add:active,
+.adminhtml-customer-address-attribute-index .page-actions .add:active,
+.rating-index-index .page-actions .add:active,
+.tax-rule-index .page-actions .add:active,
+.tax-rate-index .page-actions .add:active,
+.adminhtml-rma-item-attribute-index .page-actions .add:active,
+.adminhtml-reward-rate-index .page-actions .add:active,
+.customer-group-index .page-actions .add:active,
+.checkout-agreement-index .page-actions .add:active,
+.catalog-product-attribute-index .page-actions .add:active,
+.catalog-product-set-index .page-actions .add:active,
+.catalog-product-new .actions-split > .action-toggle.primary:active,
+.catalog-product-edit .actions-split > .action-toggle.primary:active,
+.catalog-product-index .actions-split > .action-toggle.primary:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary:active {
+  color: #fff;
+  background: #026294;
+  border: 1px solid #004c74;
+}
+.PrimaryButton:visited,
+.PrimaryAddButton:visited,
+.PrimarySplitButton > .action-toggle.primary:visited,
+input[type=button].primary:visited,
+input[type=submit].primary:visited,
+input[type=reset].primary:visited,
+button.primary:visited,
+[class^="action-"].primary:visited,
+.popup-window .add-widget.primary:visited,
+.PrimarySplitButton.btn-round .action-default.primary:visited,
+.sales-order-index .page-actions .add:visited,
+.adminhtml-rma-index .page-actions .add:visited,
+.adminhtml-catalog-event-index .page-actions .add:visited,
+.adminhtml-urlrewrite-index .page-actions .add:visited,
+.catalog-search-index .page-actions .add:visited,
+.catalog-product-review-index .page-actions .add:visited,
+.catalog-rule-promo-catalog-index .page-actions .add:visited,
+.sales-rule-promo-quote-index .page-actions .add:visited,
+.adminhtml-reminder-index .page-actions .add:visited,
+.adminhtml-newsletter-template-index .page-actions .add:visited,
+.adminhtml-system-email-template-index .page-actions .add:visited,
+.adminhtml-sitemap-index .page-actions .add:visited,
+.adminhtml-googleshopping-types-index .page-actions .add:visited,
+.customer-index-index .page-actions .add:visited,
+.adminhtml-cms-page-index .page-actions .add:visited,
+.cms-block-index .page-actions .add:visited,
+.adminhtml-banner-index .page-actions .add:visited,
+.adminhtml-widget-instance-index .page-actions .add:visited,
+.cms-page-index .page-actions .add:visited,
+.adminhtml-webapi-user-index .page-actions .add:visited,
+.adminhtml-webapi-role-index .page-actions .add:visited,
+.adminhtml-system-variable-index .page-actions .add:visited,
+.adminhtml-user-index .page-actions .add:visited,
+.adminhtml-user-role-index .page-actions .add:visited,
+.adminhtml-webhook-subscription-index .page-actions .add:visited,
+.adminhtml-integration-index .page-actions .add:visited,
+.adminhtml-system-design-theme-index .page-actions .add:visited,
+.adminhtml-system-design-index .page-actions .add:visited,
+.adminhtml-customer-attribute-index .page-actions .add:visited,
+.adminhtml-customer-address-attribute-index .page-actions .add:visited,
+.rating-index-index .page-actions .add:visited,
+.tax-rule-index .page-actions .add:visited,
+.tax-rate-index .page-actions .add:visited,
+.adminhtml-rma-item-attribute-index .page-actions .add:visited,
+.adminhtml-reward-rate-index .page-actions .add:visited,
+.customer-group-index .page-actions .add:visited,
+.checkout-agreement-index .page-actions .add:visited,
+.catalog-product-attribute-index .page-actions .add:visited,
+.catalog-product-set-index .page-actions .add:visited,
+.catalog-product-new .actions-split > .action-toggle.primary:visited,
+.catalog-product-edit .actions-split > .action-toggle.primary:visited,
+.catalog-product-index .actions-split > .action-toggle.primary:visited,
+.catalog-product-new .actions-split.btn-round .action-default.primary:visited,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:visited,
+.catalog-product-index .actions-split.btn-round .action-default.primary:visited {
+  color: #fff;
+}
+.PrimaryButton[disabled]:hover,
+.PrimaryButton.disabled:hover,
+.PrimaryButton[disabled]:active,
+.PrimaryButton.disabled:active,
+.PrimaryAddButton[disabled]:hover,
+.PrimaryAddButton.disabled:hover,
+.PrimaryAddButton[disabled]:active,
+.PrimaryAddButton.disabled:active,
+.PrimarySplitButton > .action-toggle.primary[disabled]:hover,
+.PrimarySplitButton > .action-toggle.primary.disabled:hover,
+.PrimarySplitButton > .action-toggle.primary[disabled]:active,
+.PrimarySplitButton > .action-toggle.primary.disabled:active,
+input[type=button].primary[disabled]:hover,
+input[type=button].primary.disabled:hover,
+input[type=button].primary[disabled]:active,
+input[type=button].primary.disabled:active,
+input[type=submit].primary[disabled]:hover,
+input[type=submit].primary.disabled:hover,
+input[type=submit].primary[disabled]:active,
+input[type=submit].primary.disabled:active,
+input[type=reset].primary[disabled]:hover,
+input[type=reset].primary.disabled:hover,
+input[type=reset].primary[disabled]:active,
+input[type=reset].primary.disabled:active,
+button.primary[disabled]:hover,
+button.primary.disabled:hover,
+button.primary[disabled]:active,
+button.primary.disabled:active,
+[class^="action-"].primary[disabled]:hover,
+[class^="action-"].primary.disabled:hover,
+[class^="action-"].primary[disabled]:active,
+[class^="action-"].primary.disabled:active,
+.popup-window .add-widget.primary[disabled]:hover,
+.popup-window .add-widget.primary.disabled:hover,
+.popup-window .add-widget.primary[disabled]:active,
+.popup-window .add-widget.primary.disabled:active,
+.PrimarySplitButton.btn-round .action-default.primary[disabled]:hover,
+.PrimarySplitButton.btn-round .action-default.primary.disabled:hover,
+.PrimarySplitButton.btn-round .action-default.primary[disabled]:active,
+.PrimarySplitButton.btn-round .action-default.primary.disabled:active,
+.sales-order-index .page-actions .add[disabled]:hover,
+.sales-order-index .page-actions .add.disabled:hover,
+.sales-order-index .page-actions .add[disabled]:active,
+.sales-order-index .page-actions .add.disabled:active,
+.adminhtml-rma-index .page-actions .add[disabled]:hover,
+.adminhtml-rma-index .page-actions .add.disabled:hover,
+.adminhtml-rma-index .page-actions .add[disabled]:active,
+.adminhtml-rma-index .page-actions .add.disabled:active,
+.adminhtml-catalog-event-index .page-actions .add[disabled]:hover,
+.adminhtml-catalog-event-index .page-actions .add.disabled:hover,
+.adminhtml-catalog-event-index .page-actions .add[disabled]:active,
+.adminhtml-catalog-event-index .page-actions .add.disabled:active,
+.adminhtml-urlrewrite-index .page-actions .add[disabled]:hover,
+.adminhtml-urlrewrite-index .page-actions .add.disabled:hover,
+.adminhtml-urlrewrite-index .page-actions .add[disabled]:active,
+.adminhtml-urlrewrite-index .page-actions .add.disabled:active,
+.catalog-search-index .page-actions .add[disabled]:hover,
+.catalog-search-index .page-actions .add.disabled:hover,
+.catalog-search-index .page-actions .add[disabled]:active,
+.catalog-search-index .page-actions .add.disabled:active,
+.catalog-product-review-index .page-actions .add[disabled]:hover,
+.catalog-product-review-index .page-actions .add.disabled:hover,
+.catalog-product-review-index .page-actions .add[disabled]:active,
+.catalog-product-review-index .page-actions .add.disabled:active,
+.catalog-rule-promo-catalog-index .page-actions .add[disabled]:hover,
+.catalog-rule-promo-catalog-index .page-actions .add.disabled:hover,
+.catalog-rule-promo-catalog-index .page-actions .add[disabled]:active,
+.catalog-rule-promo-catalog-index .page-actions .add.disabled:active,
+.sales-rule-promo-quote-index .page-actions .add[disabled]:hover,
+.sales-rule-promo-quote-index .page-actions .add.disabled:hover,
+.sales-rule-promo-quote-index .page-actions .add[disabled]:active,
+.sales-rule-promo-quote-index .page-actions .add.disabled:active,
+.adminhtml-reminder-index .page-actions .add[disabled]:hover,
+.adminhtml-reminder-index .page-actions .add.disabled:hover,
+.adminhtml-reminder-index .page-actions .add[disabled]:active,
+.adminhtml-reminder-index .page-actions .add.disabled:active,
+.adminhtml-newsletter-template-index .page-actions .add[disabled]:hover,
+.adminhtml-newsletter-template-index .page-actions .add.disabled:hover,
+.adminhtml-newsletter-template-index .page-actions .add[disabled]:active,
+.adminhtml-newsletter-template-index .page-actions .add.disabled:active,
+.adminhtml-system-email-template-index .page-actions .add[disabled]:hover,
+.adminhtml-system-email-template-index .page-actions .add.disabled:hover,
+.adminhtml-system-email-template-index .page-actions .add[disabled]:active,
+.adminhtml-system-email-template-index .page-actions .add.disabled:active,
+.adminhtml-sitemap-index .page-actions .add[disabled]:hover,
+.adminhtml-sitemap-index .page-actions .add.disabled:hover,
+.adminhtml-sitemap-index .page-actions .add[disabled]:active,
+.adminhtml-sitemap-index .page-actions .add.disabled:active,
+.adminhtml-googleshopping-types-index .page-actions .add[disabled]:hover,
+.adminhtml-googleshopping-types-index .page-actions .add.disabled:hover,
+.adminhtml-googleshopping-types-index .page-actions .add[disabled]:active,
+.adminhtml-googleshopping-types-index .page-actions .add.disabled:active,
+.customer-index-index .page-actions .add[disabled]:hover,
+.customer-index-index .page-actions .add.disabled:hover,
+.customer-index-index .page-actions .add[disabled]:active,
+.customer-index-index .page-actions .add.disabled:active,
+.adminhtml-cms-page-index .page-actions .add[disabled]:hover,
+.adminhtml-cms-page-index .page-actions .add.disabled:hover,
+.adminhtml-cms-page-index .page-actions .add[disabled]:active,
+.adminhtml-cms-page-index .page-actions .add.disabled:active,
+.cms-block-index .page-actions .add[disabled]:hover,
+.cms-block-index .page-actions .add.disabled:hover,
+.cms-block-index .page-actions .add[disabled]:active,
+.cms-block-index .page-actions .add.disabled:active,
+.adminhtml-banner-index .page-actions .add[disabled]:hover,
+.adminhtml-banner-index .page-actions .add.disabled:hover,
+.adminhtml-banner-index .page-actions .add[disabled]:active,
+.adminhtml-banner-index .page-actions .add.disabled:active,
+.adminhtml-widget-instance-index .page-actions .add[disabled]:hover,
+.adminhtml-widget-instance-index .page-actions .add.disabled:hover,
+.adminhtml-widget-instance-index .page-actions .add[disabled]:active,
+.adminhtml-widget-instance-index .page-actions .add.disabled:active,
+.cms-page-index .page-actions .add[disabled]:hover,
+.cms-page-index .page-actions .add.disabled:hover,
+.cms-page-index .page-actions .add[disabled]:active,
+.cms-page-index .page-actions .add.disabled:active,
+.adminhtml-webapi-user-index .page-actions .add[disabled]:hover,
+.adminhtml-webapi-user-index .page-actions .add.disabled:hover,
+.adminhtml-webapi-user-index .page-actions .add[disabled]:active,
+.adminhtml-webapi-user-index .page-actions .add.disabled:active,
+.adminhtml-webapi-role-index .page-actions .add[disabled]:hover,
+.adminhtml-webapi-role-index .page-actions .add.disabled:hover,
+.adminhtml-webapi-role-index .page-actions .add[disabled]:active,
+.adminhtml-webapi-role-index .page-actions .add.disabled:active,
+.adminhtml-system-variable-index .page-actions .add[disabled]:hover,
+.adminhtml-system-variable-index .page-actions .add.disabled:hover,
+.adminhtml-system-variable-index .page-actions .add[disabled]:active,
+.adminhtml-system-variable-index .page-actions .add.disabled:active,
+.adminhtml-user-index .page-actions .add[disabled]:hover,
+.adminhtml-user-index .page-actions .add.disabled:hover,
+.adminhtml-user-index .page-actions .add[disabled]:active,
+.adminhtml-user-index .page-actions .add.disabled:active,
+.adminhtml-user-role-index .page-actions .add[disabled]:hover,
+.adminhtml-user-role-index .page-actions .add.disabled:hover,
+.adminhtml-user-role-index .page-actions .add[disabled]:active,
+.adminhtml-user-role-index .page-actions .add.disabled:active,
+.adminhtml-webhook-subscription-index .page-actions .add[disabled]:hover,
+.adminhtml-webhook-subscription-index .page-actions .add.disabled:hover,
+.adminhtml-webhook-subscription-index .page-actions .add[disabled]:active,
+.adminhtml-webhook-subscription-index .page-actions .add.disabled:active,
+.adminhtml-integration-index .page-actions .add[disabled]:hover,
+.adminhtml-integration-index .page-actions .add.disabled:hover,
+.adminhtml-integration-index .page-actions .add[disabled]:active,
+.adminhtml-integration-index .page-actions .add.disabled:active,
+.adminhtml-system-design-theme-index .page-actions .add[disabled]:hover,
+.adminhtml-system-design-theme-index .page-actions .add.disabled:hover,
+.adminhtml-system-design-theme-index .page-actions .add[disabled]:active,
+.adminhtml-system-design-theme-index .page-actions .add.disabled:active,
+.adminhtml-system-design-index .page-actions .add[disabled]:hover,
+.adminhtml-system-design-index .page-actions .add.disabled:hover,
+.adminhtml-system-design-index .page-actions .add[disabled]:active,
+.adminhtml-system-design-index .page-actions .add.disabled:active,
+.adminhtml-customer-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-customer-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-customer-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-customer-attribute-index .page-actions .add.disabled:active,
+.adminhtml-customer-address-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-customer-address-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-customer-address-attribute-index .page-actions .add.disabled:active,
+.rating-index-index .page-actions .add[disabled]:hover,
+.rating-index-index .page-actions .add.disabled:hover,
+.rating-index-index .page-actions .add[disabled]:active,
+.rating-index-index .page-actions .add.disabled:active,
+.tax-rule-index .page-actions .add[disabled]:hover,
+.tax-rule-index .page-actions .add.disabled:hover,
+.tax-rule-index .page-actions .add[disabled]:active,
+.tax-rule-index .page-actions .add.disabled:active,
+.tax-rate-index .page-actions .add[disabled]:hover,
+.tax-rate-index .page-actions .add.disabled:hover,
+.tax-rate-index .page-actions .add[disabled]:active,
+.tax-rate-index .page-actions .add.disabled:active,
+.adminhtml-rma-item-attribute-index .page-actions .add[disabled]:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add.disabled:hover,
+.adminhtml-rma-item-attribute-index .page-actions .add[disabled]:active,
+.adminhtml-rma-item-attribute-index .page-actions .add.disabled:active,
+.adminhtml-reward-rate-index .page-actions .add[disabled]:hover,
+.adminhtml-reward-rate-index .page-actions .add.disabled:hover,
+.adminhtml-reward-rate-index .page-actions .add[disabled]:active,
+.adminhtml-reward-rate-index .page-actions .add.disabled:active,
+.customer-group-index .page-actions .add[disabled]:hover,
+.customer-group-index .page-actions .add.disabled:hover,
+.customer-group-index .page-actions .add[disabled]:active,
+.customer-group-index .page-actions .add.disabled:active,
+.checkout-agreement-index .page-actions .add[disabled]:hover,
+.checkout-agreement-index .page-actions .add.disabled:hover,
+.checkout-agreement-index .page-actions .add[disabled]:active,
+.checkout-agreement-index .page-actions .add.disabled:active,
+.catalog-product-attribute-index .page-actions .add[disabled]:hover,
+.catalog-product-attribute-index .page-actions .add.disabled:hover,
+.catalog-product-attribute-index .page-actions .add[disabled]:active,
+.catalog-product-attribute-index .page-actions .add.disabled:active,
+.catalog-product-set-index .page-actions .add[disabled]:hover,
+.catalog-product-set-index .page-actions .add.disabled:hover,
+.catalog-product-set-index .page-actions .add[disabled]:active,
+.catalog-product-set-index .page-actions .add.disabled:active,
+.catalog-product-new .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-new .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-new .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-new .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-edit .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-edit .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-edit .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-index .actions-split > .action-toggle.primary[disabled]:hover,
+.catalog-product-index .actions-split > .action-toggle.primary.disabled:hover,
+.catalog-product-index .actions-split > .action-toggle.primary[disabled]:active,
+.catalog-product-index .actions-split > .action-toggle.primary.disabled:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-new .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-new .actions-split.btn-round .action-default.primary.disabled:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-edit .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-edit .actions-split.btn-round .action-default.primary.disabled:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary[disabled]:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary.disabled:hover,
+.catalog-product-index .actions-split.btn-round .action-default.primary[disabled]:active,
+.catalog-product-index .actions-split.btn-round .action-default.primary.disabled:active {
+  color: #fff;
+  background: #007dbd;
+  border: 1px solid #0574ad;
+}
+.PrimaryAddButton,
+.PrimarySplitButton.btn-round .action-default.primary,
+.sales-order-index .page-actions .add,
+.adminhtml-rma-index .page-actions .add,
+.adminhtml-catalog-event-index .page-actions .add,
+.adminhtml-urlrewrite-index .page-actions .add,
+.catalog-search-index .page-actions .add,
+.catalog-product-review-index .page-actions .add,
+.catalog-rule-promo-catalog-index .page-actions .add,
+.sales-rule-promo-quote-index .page-actions .add,
+.adminhtml-reminder-index .page-actions .add,
+.adminhtml-newsletter-template-index .page-actions .add,
+.adminhtml-system-email-template-index .page-actions .add,
+.adminhtml-sitemap-index .page-actions .add,
+.adminhtml-googleshopping-types-index .page-actions .add,
+.customer-index-index .page-actions .add,
+.adminhtml-cms-page-index .page-actions .add,
+.cms-block-index .page-actions .add,
+.adminhtml-banner-index .page-actions .add,
+.adminhtml-widget-instance-index .page-actions .add,
+.cms-page-index .page-actions .add,
+.adminhtml-webapi-user-index .page-actions .add,
+.adminhtml-webapi-role-index .page-actions .add,
+.adminhtml-system-variable-index .page-actions .add,
+.adminhtml-user-index .page-actions .add,
+.adminhtml-user-role-index .page-actions .add,
+.adminhtml-webhook-subscription-index .page-actions .add,
+.adminhtml-integration-index .page-actions .add,
+.adminhtml-system-design-theme-index .page-actions .add,
+.adminhtml-system-design-index .page-actions .add,
+.adminhtml-customer-attribute-index .page-actions .add,
+.adminhtml-customer-address-attribute-index .page-actions .add,
+.rating-index-index .page-actions .add,
+.tax-rule-index .page-actions .add,
+.tax-rate-index .page-actions .add,
+.adminhtml-rma-item-attribute-index .page-actions .add,
+.adminhtml-reward-rate-index .page-actions .add,
+.customer-group-index .page-actions .add,
+.checkout-agreement-index .page-actions .add,
+.catalog-product-attribute-index .page-actions .add,
+.catalog-product-set-index .page-actions .add,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary,
+.PrimarySplitButton.btn-round .action-default.primary,
+.sales-order-index .page-actions .add,
+.adminhtml-rma-index .page-actions .add,
+.adminhtml-catalog-event-index .page-actions .add,
+.adminhtml-urlrewrite-index .page-actions .add,
+.catalog-search-index .page-actions .add,
+.catalog-product-review-index .page-actions .add,
+.catalog-rule-promo-catalog-index .page-actions .add,
+.sales-rule-promo-quote-index .page-actions .add,
+.adminhtml-reminder-index .page-actions .add,
+.adminhtml-newsletter-template-index .page-actions .add,
+.adminhtml-system-email-template-index .page-actions .add,
+.adminhtml-sitemap-index .page-actions .add,
+.adminhtml-googleshopping-types-index .page-actions .add,
+.customer-index-index .page-actions .add,
+.adminhtml-cms-page-index .page-actions .add,
+.cms-block-index .page-actions .add,
+.adminhtml-banner-index .page-actions .add,
+.adminhtml-widget-instance-index .page-actions .add,
+.cms-page-index .page-actions .add,
+.adminhtml-webapi-user-index .page-actions .add,
+.adminhtml-webapi-role-index .page-actions .add,
+.adminhtml-system-variable-index .page-actions .add,
+.adminhtml-user-index .page-actions .add,
+.adminhtml-user-role-index .page-actions .add,
+.adminhtml-webhook-subscription-index .page-actions .add,
+.adminhtml-integration-index .page-actions .add,
+.adminhtml-system-design-theme-index .page-actions .add,
+.adminhtml-system-design-index .page-actions .add,
+.adminhtml-customer-attribute-index .page-actions .add,
+.adminhtml-customer-address-attribute-index .page-actions .add,
+.rating-index-index .page-actions .add,
+.tax-rule-index .page-actions .add,
+.tax-rate-index .page-actions .add,
+.adminhtml-rma-item-attribute-index .page-actions .add,
+.adminhtml-reward-rate-index .page-actions .add,
+.customer-group-index .page-actions .add,
+.checkout-agreement-index .page-actions .add,
+.catalog-product-attribute-index .page-actions .add,
+.catalog-product-set-index .page-actions .add,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary {
+  width: 36px;
+  height: 31px;
+  overflow: hidden;
+  position: relative;
+  z-index: 1;
+  padding: 0;
+}
+.PrimaryAddButton:focus,
+.PrimarySplitButton.btn-round .action-default.primary:focus,
+.sales-order-index .page-actions .add:focus,
+.adminhtml-rma-index .page-actions .add:focus,
+.adminhtml-catalog-event-index .page-actions .add:focus,
+.adminhtml-urlrewrite-index .page-actions .add:focus,
+.catalog-search-index .page-actions .add:focus,
+.catalog-product-review-index .page-actions .add:focus,
+.catalog-rule-promo-catalog-index .page-actions .add:focus,
+.sales-rule-promo-quote-index .page-actions .add:focus,
+.adminhtml-reminder-index .page-actions .add:focus,
+.adminhtml-newsletter-template-index .page-actions .add:focus,
+.adminhtml-system-email-template-index .page-actions .add:focus,
+.adminhtml-sitemap-index .page-actions .add:focus,
+.adminhtml-googleshopping-types-index .page-actions .add:focus,
+.customer-index-index .page-actions .add:focus,
+.adminhtml-cms-page-index .page-actions .add:focus,
+.cms-block-index .page-actions .add:focus,
+.adminhtml-banner-index .page-actions .add:focus,
+.adminhtml-widget-instance-index .page-actions .add:focus,
+.cms-page-index .page-actions .add:focus,
+.adminhtml-webapi-user-index .page-actions .add:focus,
+.adminhtml-webapi-role-index .page-actions .add:focus,
+.adminhtml-system-variable-index .page-actions .add:focus,
+.adminhtml-user-index .page-actions .add:focus,
+.adminhtml-user-role-index .page-actions .add:focus,
+.adminhtml-webhook-subscription-index .page-actions .add:focus,
+.adminhtml-integration-index .page-actions .add:focus,
+.adminhtml-system-design-theme-index .page-actions .add:focus,
+.adminhtml-system-design-index .page-actions .add:focus,
+.adminhtml-customer-attribute-index .page-actions .add:focus,
+.adminhtml-customer-address-attribute-index .page-actions .add:focus,
+.rating-index-index .page-actions .add:focus,
+.tax-rule-index .page-actions .add:focus,
+.tax-rate-index .page-actions .add:focus,
+.adminhtml-rma-item-attribute-index .page-actions .add:focus,
+.adminhtml-reward-rate-index .page-actions .add:focus,
+.customer-group-index .page-actions .add:focus,
+.checkout-agreement-index .page-actions .add:focus,
+.catalog-product-attribute-index .page-actions .add:focus,
+.catalog-product-set-index .page-actions .add:focus,
+.catalog-product-new .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-index .actions-split.btn-round .action-default.primary:focus {
+  outline: none;
+}
+.PrimaryAddButton > span,
+.PrimarySplitButton.btn-round .action-default.primary > span,
+.sales-order-index .page-actions .add > span,
+.adminhtml-rma-index .page-actions .add > span,
+.adminhtml-catalog-event-index .page-actions .add > span,
+.adminhtml-urlrewrite-index .page-actions .add > span,
+.catalog-search-index .page-actions .add > span,
+.catalog-product-review-index .page-actions .add > span,
+.catalog-rule-promo-catalog-index .page-actions .add > span,
+.sales-rule-promo-quote-index .page-actions .add > span,
+.adminhtml-reminder-index .page-actions .add > span,
+.adminhtml-newsletter-template-index .page-actions .add > span,
+.adminhtml-system-email-template-index .page-actions .add > span,
+.adminhtml-sitemap-index .page-actions .add > span,
+.adminhtml-googleshopping-types-index .page-actions .add > span,
+.customer-index-index .page-actions .add > span,
+.adminhtml-cms-page-index .page-actions .add > span,
+.cms-block-index .page-actions .add > span,
+.adminhtml-banner-index .page-actions .add > span,
+.adminhtml-widget-instance-index .page-actions .add > span,
+.cms-page-index .page-actions .add > span,
+.adminhtml-webapi-user-index .page-actions .add > span,
+.adminhtml-webapi-role-index .page-actions .add > span,
+.adminhtml-system-variable-index .page-actions .add > span,
+.adminhtml-user-index .page-actions .add > span,
+.adminhtml-user-role-index .page-actions .add > span,
+.adminhtml-webhook-subscription-index .page-actions .add > span,
+.adminhtml-integration-index .page-actions .add > span,
+.adminhtml-system-design-theme-index .page-actions .add > span,
+.adminhtml-system-design-index .page-actions .add > span,
+.adminhtml-customer-attribute-index .page-actions .add > span,
+.adminhtml-customer-address-attribute-index .page-actions .add > span,
+.rating-index-index .page-actions .add > span,
+.tax-rule-index .page-actions .add > span,
+.tax-rate-index .page-actions .add > span,
+.adminhtml-rma-item-attribute-index .page-actions .add > span,
+.adminhtml-reward-rate-index .page-actions .add > span,
+.customer-group-index .page-actions .add > span,
+.checkout-agreement-index .page-actions .add > span,
+.catalog-product-attribute-index .page-actions .add > span,
+.catalog-product-set-index .page-actions .add > span,
+.catalog-product-new .actions-split.btn-round .action-default.primary > span,
+.catalog-product-edit .actions-split.btn-round .action-default.primary > span,
+.catalog-product-index .actions-split.btn-round .action-default.primary > span {
+  text-indent: -999em;
+  display: block;
+  width: 34px;
+  height: 29px;
+}
+.PrimaryAddButton > span:before,
+.PrimarySplitButton.btn-round .action-default.primary > span:before,
+.sales-order-index .page-actions .add > span:before,
+.adminhtml-rma-index .page-actions .add > span:before,
+.adminhtml-catalog-event-index .page-actions .add > span:before,
+.adminhtml-urlrewrite-index .page-actions .add > span:before,
+.catalog-search-index .page-actions .add > span:before,
+.catalog-product-review-index .page-actions .add > span:before,
+.catalog-rule-promo-catalog-index .page-actions .add > span:before,
+.sales-rule-promo-quote-index .page-actions .add > span:before,
+.adminhtml-reminder-index .page-actions .add > span:before,
+.adminhtml-newsletter-template-index .page-actions .add > span:before,
+.adminhtml-system-email-template-index .page-actions .add > span:before,
+.adminhtml-sitemap-index .page-actions .add > span:before,
+.adminhtml-googleshopping-types-index .page-actions .add > span:before,
+.customer-index-index .page-actions .add > span:before,
+.adminhtml-cms-page-index .page-actions .add > span:before,
+.cms-block-index .page-actions .add > span:before,
+.adminhtml-banner-index .page-actions .add > span:before,
+.adminhtml-widget-instance-index .page-actions .add > span:before,
+.cms-page-index .page-actions .add > span:before,
+.adminhtml-webapi-user-index .page-actions .add > span:before,
+.adminhtml-webapi-role-index .page-actions .add > span:before,
+.adminhtml-system-variable-index .page-actions .add > span:before,
+.adminhtml-user-index .page-actions .add > span:before,
+.adminhtml-user-role-index .page-actions .add > span:before,
+.adminhtml-webhook-subscription-index .page-actions .add > span:before,
+.adminhtml-integration-index .page-actions .add > span:before,
+.adminhtml-system-design-theme-index .page-actions .add > span:before,
+.adminhtml-system-design-index .page-actions .add > span:before,
+.adminhtml-customer-attribute-index .page-actions .add > span:before,
+.adminhtml-customer-address-attribute-index .page-actions .add > span:before,
+.rating-index-index .page-actions .add > span:before,
+.tax-rule-index .page-actions .add > span:before,
+.tax-rate-index .page-actions .add > span:before,
+.adminhtml-rma-item-attribute-index .page-actions .add > span:before,
+.adminhtml-reward-rate-index .page-actions .add > span:before,
+.customer-group-index .page-actions .add > span:before,
+.checkout-agreement-index .page-actions .add > span:before,
+.catalog-product-attribute-index .page-actions .add > span:before,
+.catalog-product-set-index .page-actions .add > span:before,
+.catalog-product-new .actions-split.btn-round .action-default.primary > span:before,
+.catalog-product-edit .actions-split.btn-round .action-default.primary > span:before,
+.catalog-product-index .actions-split.btn-round .action-default.primary > span:before {
+  text-indent: 0;
+  font-family: 'MUI-Icons';
+  font-weight: normal;
+  font-size: 22px;
+  content: '\e02d';
+  color: #fff;
+  position: absolute;
+  width: 34px;
+  height: 29px;
+  line-height: 29px;
+  text-align: center;
+  vertical-align: middle;
+  top: 0;
+  left: 0;
+  overflow: hidden;
+}
+.eq-ie9 .PrimaryAddButton > span:before,
+.eq-ie9 .PrimarySplitButton.btn-round .action-default.primary > span:before,
+.eq-ie9 .sales-order-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-rma-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-catalog-event-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-urlrewrite-index .page-actions .add > span:before,
+.eq-ie9 .catalog-search-index .page-actions .add > span:before,
+.eq-ie9 .catalog-product-review-index .page-actions .add > span:before,
+.eq-ie9 .catalog-rule-promo-catalog-index .page-actions .add > span:before,
+.eq-ie9 .sales-rule-promo-quote-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-reminder-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-newsletter-template-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-system-email-template-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-sitemap-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-googleshopping-types-index .page-actions .add > span:before,
+.eq-ie9 .customer-index-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-cms-page-index .page-actions .add > span:before,
+.eq-ie9 .cms-block-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-banner-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-widget-instance-index .page-actions .add > span:before,
+.eq-ie9 .cms-page-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-webapi-user-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-webapi-role-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-system-variable-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-user-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-user-role-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-webhook-subscription-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-integration-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-system-design-theme-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-system-design-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-customer-attribute-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-customer-address-attribute-index .page-actions .add > span:before,
+.eq-ie9 .rating-index-index .page-actions .add > span:before,
+.eq-ie9 .tax-rule-index .page-actions .add > span:before,
+.eq-ie9 .tax-rate-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-rma-item-attribute-index .page-actions .add > span:before,
+.eq-ie9 .adminhtml-reward-rate-index .page-actions .add > span:before,
+.eq-ie9 .customer-group-index .page-actions .add > span:before,
+.eq-ie9 .checkout-agreement-index .page-actions .add > span:before,
+.eq-ie9 .catalog-product-attribute-index .page-actions .add > span:before,
+.eq-ie9 .catalog-product-set-index .page-actions .add > span:before,
+.eq-ie9 .catalog-product-new .actions-split.btn-round .action-default.primary > span:before,
+.eq-ie9 .catalog-product-edit .actions-split.btn-round .action-default.primary > span:before,
+.eq-ie9 .catalog-product-index .actions-split.btn-round .action-default.primary > span:before {
+  line-height: 31px;
+}
+.PrimarySplitButton.btn-round .action-default.primary,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary,
+.catalog-product-new .actions-split.btn-round .action-default.primary,
+.catalog-product-edit .actions-split.btn-round .action-default.primary,
+.catalog-product-index .actions-split.btn-round .action-default.primary {
+  border-radius: 2px 0 0 2px;
+}
+.PrimarySplitButton.btn-round .action-default.primary:focus,
+.catalog-product-new .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-edit .actions-split.btn-round .action-default.primary:focus,
+.catalog-product-index .actions-split.btn-round .action-default.primary:focus {
+  outline: none;
+}
+.PrimarySplitButton > .action-default.primary,
+.catalog-product-new .actions-split > .action-default.primary,
+.catalog-product-edit .actions-split > .action-default.primary,
+.catalog-product-index .actions-split > .action-default.primary {
+  border-radius: 2px 0 0 2px;
+}
+.PrimarySplitButton > .action-default.primary:focus,
+.catalog-product-new .actions-split > .action-default.primary:focus,
+.catalog-product-edit .actions-split > .action-default.primary:focus,
+.catalog-product-index .actions-split > .action-default.primary:focus {
+  outline: none;
+}
+.PrimarySplitButton > .action-toggle.primary,
+.catalog-product-new .actions-split > .action-toggle.primary,
+.catalog-product-edit .actions-split > .action-toggle.primary,
+.catalog-product-index .actions-split > .action-toggle.primary,
+.catalog-product-new .actions-split > .action-toggle.primary,
+.catalog-product-edit .actions-split > .action-toggle.primary,
+.catalog-product-index .actions-split > .action-toggle.primary {
+  overflow: hidden;
+  z-index: 1;
+  padding: 0;
+  border-radius: 0 2px 2px 0;
+  font-size: 15px;
+  width: 30px;
+  height: 31px;
+  line-height: 30px;
+  margin-left: -1px;
+  position: relative;
+  z-index: 2;
+  filter: none;
+}
+.PrimarySplitButton > .action-toggle.primary:focus,
+.catalog-product-new .actions-split > .action-toggle.primary:focus,
+.catalog-product-edit .actions-split > .action-toggle.primary:focus,
+.catalog-product-index .actions-split > .action-toggle.primary:focus {
+  outline: none;
+}
+.PrimarySplitButton > .action-toggle.primary:before,
+.catalog-product-new .actions-split > .action-toggle.primary:before,
+.catalog-product-edit .actions-split > .action-toggle.primary:before,
+.catalog-product-index .actions-split > .action-toggle.primary:before {
+  text-align: center;
+}
+.PrimarySplitButton .dropdown-menu,
+.catalog-product-new .actions-split .dropdown-menu,
+.catalog-product-edit .actions-split .dropdown-menu,
+.catalog-product-index .actions-split .dropdown-menu {
+  left: 0;
+  right: auto;
+  z-index: 1;
+}
+.PrimarySplitButton .dropdown-menu > li > .item,
+.catalog-product-new .actions-split .dropdown-menu > li > .item,
+.catalog-product-edit .actions-split .dropdown-menu > li > .item,
+.catalog-product-index .actions-split .dropdown-menu > li > .item {
+  padding: 9px 10px 10px;
+}
+.PrimarySplitButton.active > .action-toggle.primary,
+.PrimarySplitButton.active > .action-toggle.primary:hover,
+.catalog-product-new .actions-split.active > .action-toggle.primary,
+.catalog-product-new .actions-split.active > .action-toggle.primary:hover,
+.catalog-product-edit .actions-split.active > .action-toggle.primary,
+.catalog-product-edit .actions-split.active > .action-toggle.primary:hover,
+.catalog-product-index .actions-split.active > .action-toggle.primary,
+.catalog-product-index .actions-split.active > .action-toggle.primary:hover {
+  background: #026294;
+  border: 1px solid #004c74;
+}
+.dont-use-this-class-big-size {
+  font-size: 18px;
+  line-height: 24px;
+  padding: 8px 19px;
+}
+/*
+    Reset 'button view' for actions
+-------------------------------------- */
+.customer-current-activity .action-refresh,
+.pager .action-next,
+.pager .action-previous,
+.pager .action-next:hover,
+.pager .action-previous:hover,
+.pager .action-next.disabled:focus,
+.pager .action-previous.disabled:focus,
+.pager .action-next.disabled:active,
+.pager .action-previous.disabled:active,
+.data-table .action-.delete,
+.data-table .action-.delete:hover,
+.data-table .action-.delete:active,
+.data-table .action-.delete.active,
+.data-table .action-delete,
+.data-table .action-delete:hover,
+.data-table .action-delete:active,
+.data-table .action-delete.active,
+.data-table .action-locked,
+.data-table .action-locked:hover,
+.data-table .action-locked:active,
+.data-table .action-locked.active,
+.data-table .action-locked[disabled],
+#product-variations-matrix .action-choose,
+#product-variations-matrix .action-choose:hover,
+#product-variations-matrix .action-choose:active,
+#product-variations-matrix .action-choose.active,
+#product-variations-matrix .action-choose[disabled],
+.action-manage-images,
+.action-manage-images:hover,
+.action-manage-images:active,
+.action-manage-images.active,
+.action-manage-images[disabled],
+.image-panel .action-close,
+.image-panel .action-close:hover,
+.image-panel .action-close:active,
+.image-panel .action-close.active,
+.image-panel .action-close[disabled],
+.image-panel-controls .action-remove,
+.image-panel-controls .action-remove:hover,
+.image-panel-controls .action-remove:active,
+.image-panel-controls .action-remove.active,
+.image-panel-controls .action-remove[disabled],
+.vde-image-sizing .action-connect,
+.vde-image-sizing .action-connect:hover,
+.vde-image-sizing .action-connect:active,
+.vde-image-sizing .action-connect.active,
+.vde-image-sizing .action-connect[disabled],
+.suggest-expandable .action-show-all,
+.suggest-expandable .action-show-all:hover,
+.suggest-expandable .action-show-all:active,
+.suggest-expandable .action-show-all.active,
+.suggest-expandable .action-show-all[disabled],
+.custom-file > .action-add,
+.custom-file > .action-add:hover,
+.custom-file > .action-add:active,
+.custom-file > .action-add.active,
+.custom-file > .action-add[disabled],
+.vde-tools-header .action-close,
+.vde-tools-header .action-close:hover,
+.vde-tools-header .action-close:active,
+.vde-tools-header .action-close.active,
+.image .action-delete,
+.image .action-delete:hover,
+.image .action-delete:active,
+.image .action-delete.active,
+.fieldset-wrapper-title .actions .action-delete,
+.fieldset-wrapper-title .actions .action-delete:hover,
+.fieldset-wrapper-title .actions .action-delete:active,
+.fieldset-wrapper-title .actions .action-delete.active,
+.address-list-item-actions .action-delete,
+.address-list-item-actions .action-delete:hover,
+.address-list-item-actions .action-delete:active,
+.address-list-item-actions .action-delete.active,
+.notification .action-close,
+.notification .action-close:hover,
+.notification .action-close:active,
+.notification .action-close.active,
+.page-login .action-forgotpassword,
+.page-login .action-forgotpassword:hover,
+.page-login .action-forgotpassword:active,
+.page-login .action-forgotpassword.active,
+.page-login .action-back,
+.page-login .action-back:hover,
+.page-login .action-back:active,
+.page-login .action-back.active,
+.attribute-popup .page-actions #reset,
+.attribute-popup .page-actions #reset:hover,
+.attribute-popup .page-actions #reset:active,
+.attribute-popup .page-actions #reset.active,
+.attribute-popup .page-actions #reset[disabled] {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  filter: none;
+}
+.attribute-popup .messages {
+  margin: 0 15px;
+}
+.eq-ie8 .customer-current-activity .action-refresh,
+.eq-ie8 .pager .action-next,
+.eq-ie8 .pager .action-previous,
+.eq-ie8 .pager .action-next:hover,
+.eq-ie8 .pager .action-previous:hover,
+.eq-ie8 .pager .action-next.disabled:focus,
+.eq-ie8 .pager .action-previous.disabled:focus,
+.eq-ie8 .pager .action-next.disabled:active,
+.eq-ie8 .pager .action-previous.disabled:active,
+.eq-ie8 .data-table .action-.delete,
+.eq-ie8 .data-table .action-.delete:hover,
+.eq-ie8 .data-table .action-.delete:active,
+.eq-ie8 .data-table .action-.delete.active,
+.eq-ie8 .data-table .action-delete,
+.eq-ie8 .data-table .action-delete:hover,
+.eq-ie8 .data-table .action-delete:active,
+.eq-ie8 .data-table .action-delete.active,
+.eq-ie8 .data-table .action-locked,
+.eq-ie8 .data-table .action-locked:hover,
+.eq-ie8 .data-table .action-locked:active,
+.eq-ie8 .data-table .action-locked.active,
+.eq-ie8 #product-variations-matrix .action-choose,
+.eq-ie8 #product-variations-matrix .action-choose:hover,
+.eq-ie8 #product-variations-matrix .action-choose:active,
+.eq-ie8 #product-variations-matrix .action-choose.active,
+.eq-ie8 .image-panel .action-close,
+.eq-ie8 .eq-ie8 .image-panel .action-close:hover,
+.eq-ie8 .image-panel .action-close:active,
+.eq-ie8 .image-panel .action-close.active,
+.eq-ie8 .image-panel-controls .action-remove,
+.eq-ie8 .image-panel-controls .action-remove:hover,
+.eq-ie8 .image-panel-controls .action-remove:active,
+.eq-ie8 .image-panel-controls .action-remove.active,
+.eq-ie8 .suggest-expandable .action-show-all,
+.eq-ie8 .suggest-expandable .action-show-all:hover,
+.eq-ie8 .suggest-expandable .action-show-all:active,
+.eq-ie8 .suggest-expandable .action-show-all.active,
+.eq-ie8 .vde-tools-header .action-close,
+.eq-ie8 .vde-tools-header .action-close:hover,
+.eq-ie8 .vde-tools-header .action-close:active,
+.eq-ie8 .vde-tools-header .action-close.active,
+.eq-ie8 .image .action-delete,
+.eq-ie8 .image .action-delete:hover,
+.eq-ie8 .image .action-delete:active,
+.eq-ie8 .image .action-delete.active,
+.eq-ie8 .fieldset-wrapper-title .actions .action-delete,
+.eq-ie8 .fieldset-wrapper-title .actions .action-delete:hover,
+.eq-ie8 .fieldset-wrapper-title .actions .action-delete:active,
+.eq-ie8 .fieldset-wrapper-title .actions .action-delete.active,
+.eq-ie8 .address-list-item-actions .action-delete,
+.eq-ie8 .address-list-item-actions .action-delete:hover,
+.eq-ie8 .address-list-item-actions .action-delete:active,
+.eq-ie8 .address-list-item-actions .action-delete.active,
+.eq-ie8 .notification .action-close,
+.eq-ie8 .notification .action-close:hover,
+.eq-ie8 .notification .action-close:active,
+.eq-ie8 .notification .action-close.active,
+.eq-ie8 .page-login .action-forgotpassword,
+.eq-ie8 .page-login .action-forgotpassword:hover,
+.eq-ie8 .page-login .action-forgotpassword:active,
+.eq-ie8 .page-login .action-forgotpassword.active,
+.eq-ie8 .page-login .action-back,
+.eq-ie8 .page-login .action-back:hover,
+.eq-ie8 .page-login .action-back:active,
+.eq-ie8 .page-login .action-back.active {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  filter: none;
+}
+.data-table .action-.delete[disabled],
+.data-table .action-delete[disabled],
+.data-table .action-locked[disabled],
+#product-variations-matrix .action-choose[disabled],
+.image-panel .action-close[disabled],
+.image-panel-controls .action-remove[disabled],
+.suggest-expandable .action-show-all[disabled],
+#store-view-window [class^='action-close'],
+#store-view-window [class^='action-close']:hover,
+#store-view-window [class^='action-close']:active,
+#store-view-window [class^='action-close'].active,
+#store-view-window [class^='action-close'][disabled],
+.custom-file > .action-add[disabled],
+.image .action-delete,
+.image .action-delete:hover,
+.image .action-delete:active,
+.image .action-delete.active,
+.fieldset-wrapper-title .actions .action-delete,
+.fieldset-wrapper-title .actions .action-delete:hover,
+.fieldset-wrapper-title .actions .action-delete:active,
+.fieldset-wrapper-title .actions .action-delete.active,
+.address-list-item-actions .action-delete,
+.address-list-item-actions .action-delete:hover,
+.address-list-item-actions .action-delete:active,
+.address-list-item-actions .action-delete.active,
+.notification .action-close,
+.notification .action-close:hover,
+.notification .action-close:active,
+.notification .action-close.active {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  filter: none;
+}
+.fade.critical-notification {
+  display: block;
+}
+.fade.critical-notification .popup {
+  top: 200px;
+}
+.data-table .action-.delete[disabled],
+.data-table .action-delete[disabled],
+.data-table .action-locked[disabled],
+#product-variations-matrix .action-choose[disabled],
+.image-panel .action-close[disabled],
+.image-panel-controls .action-remove[disabled],
+.suggest-expandable .action-show-all[disabled],
+#store-view-window [class^='action-close'],
+#store-view-window [class^='action-close']:hover,
+#store-view-window [class^='action-close']:active,
+#store-view-window [class^='action-close'].active,
+#store-view-window [class^='action-close'][disabled],
+.custom-file > .action-add[disabled],
+.vde-tools-header .action-close[disabled],
+.vde-image-sizing .action-reset,
+.vde-image-sizing .action-reset:hover,
+.vde-image-sizing .action-reset:active,
+.vde-image-sizing .action-reset.active,
+.vde-image-sizing .action-reset[disabled],
+.image .action-delete[disabled],
+.fieldset-wrapper-title .actions .action-delete[disabled],
+.address-list-item-actions .action-delete[disabled],
+[class^=" catalog-product-"] .page-actions .action-back,
+[class^=" catalog-product-"] .page-actions .action-back:hover,
+[class^=" catalog-product-"] .page-actions .action-back:active,
+[class^=" catalog-product-"] .page-actions .action-back.active,
+[class^=" catalog-product-"] .page-actions .action-back[disabled],
+[class^=" adminhtml-newsletter-"] .page-actions .action-back,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:hover,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:active,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back.active,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back[disabled],
+.notifications [class^="action-"],
+.notifications [class^="action-"]:hover,
+.notifications [class^="action-"]:active,
+.notifications [class^="action-"].active,
+.notifications [class^="action-"][disabled],
+.notification .action-close,
+.notification .action-close:hover,
+.notification .action-close:active,
+.notification .action-close.active,
+.notification .action-close[disabled],
+.sales-order-create-index .page-actions-inner .cancel,
+.sales-order-create-index .page-actions-inner .cancel:hover,
+.sales-order-create-index .page-actions-inner .cancel:active,
+.sales-order-create-index .page-actions-inner .cancel.active,
+.sales-order-create-index .page-actions-inner .cancel[disabled] {
+  border: 0;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  filter: none;
+}
+.vde-image-sizing .action-connect,
+.vde-image-sizing .action-connect:hover,
+.vde-image-sizing .action-connect:active,
+.vde-image-sizing .action-connect.active,
+.vde-image-sizing .action-connect[disabled],
+.vde-tab-data .action-download,
+.vde-tab-data .action-download:hover,
+.vde-tab-data .action-download:active,
+.vde-tab-data .action-download.active,
+.vde-tab-data .action-download[disabled],
+.vde-tab-data .action-delete,
+.vde-tab-data .action-delete:hover,
+.vde-tab-data .action-delete:active,
+.vde-tab-data .action-delete.active,
+.vde-tab-data .action-delete[disabled],
+.vde-tab-data .action-edit,
+.vde-tab-data .action-edit:hover,
+.vde-tab-data .action-edit:active,
+.vde-tab-data .action-edit.active,
+.vde-tab-data .action-edit[disabled] {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+}
+/*
+    Actions as links
+-------------------------------------- */
+.notification-entry-dialog .action-cancel,
+.attribute-popup .page-actions #reset {
+  background: none;
+  border: none;
+  color: #6d665e;
+  font-weight: normal;
+  font-size: 12px;
+  cursor: pointer;
+  text-decoration: underline;
+}
+.notification-entry-dialog .action-cancel:hover,
+.attribute-popup .page-actions #reset:hover {
+  color: #000;
+  border-bottom-color: #000;
+  filter: none;
+}
+/*
+    Fileupload button
+-------------------------------------- */
+.action-upload {
+  position: relative;
+}
+.action-upload > input[type="file"] {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  opacity: 0;
+  font-size: 10em;
+}
+/*
+    Dropdown menu
+-------------------------------------- */
+.dropdown-menu,
+.ui-autocomplete {
+  position: absolute;
+  display: none;
+  list-style: none;
+  min-width: 100px;
+  margin: 3px 0 0 0;
+  padding: 0;
+  right: 0;
+  top: 100%;
+  border: 1px solid #cac2b5;
+  border-radius: 3px;
+  background: #fff;
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
+  z-index: 990;
+}
+.dropdown-menu > li,
+.ui-autocomplete > li {
+  padding: 5px;
+  border-bottom: 1px solid #e5e5e5;
+}
+.dropdown-menu > li.selected,
+.ui-autocomplete > li.selected {
+  background: #eef8fc;
+}
+.dropdown-menu > li:hover,
+.ui-autocomplete > li:hover {
+  background: #eef8fc;
+}
+.dropdown-menu > li:last-child,
+.ui-autocomplete > li:last-child {
+  border-bottom: none;
+}
+.dropdown-menu > li > .item,
+.ui-autocomplete > li > .item {
+  cursor: pointer;
+}
+.dropdown-menu-top {
+  margin: 0 0 3px 0;
+  top: auto;
+  bottom: 100%;
+}
+.ui-autocomplete {
+  right: auto;
+}
+.ui-autocomplete > li {
+  padding: 0;
+}
+.ui-autocomplete > li > a {
+  display: block;
+  padding: 5px;
+}
+.ui-autocomplete > li > a.level-0 {
+  padding-left: 5px !important;
+}
+.ui-autocomplete .ui-state-focus {
+  background: #f5f5f5;
+}
+/*
+    Suggest
+-------------------------------------- */
+.mage-suggest {
+  position: relative;
+  display: inline-block;
+  vertical-align: top;
+  width: 100%;
+  background-color: #fff;
+  border: 1px solid #ccc;
+  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);
+}
+.mage-suggest:after {
+  position: absolute;
+  top: 0;
+  right: 3px;
+  bottom: 0;
+  width: 22px;
+  text-align: center;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e01f';
+  /* search icon */
+
+  font-size: 20px;
+  color: #b2b2b2;
+}
+.mage-suggest input[type="search"],
+.mage-suggest input.search {
+  width: 100%;
+  border: none;
+  background: none;
+  padding-right: 30px;
+}
+.mage-suggest-dropdown {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 100%;
+  margin: 3px -1px 0 -1px;
+  border: 1px solid #cac2b5;
+  border-radius: 3px;
+  background: #fff;
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+  z-index: 990;
+}
+.mage-suggest-dropdown ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.mage-suggest-dropdown li {
+  border-bottom: 1px solid #e5e5e5;
+  padding: 0;
+}
+.field-category_ids .mage-suggest-dropdown,
+.field-new_category_parent .mage-suggest-dropdown {
+  max-height: 200px;
+  overflow: auto;
+}
+.mage-suggest-dropdown li a {
+  display: block;
+}
+.mage-suggest-dropdown li a,
+.mage-suggest-dropdown .jstree li a:hover,
+.mage-suggest-dropdown .jstree .jstree-hovered,
+.mage-suggest-dropdown .jstree .jstree-clicked {
+  padding: 6px 12px 5px;
+  text-decoration: none;
+  color: #333;
+}
+.mage-suggest-dropdown .jstree li a:hover,
+.mage-suggest-dropdown .jstree .jstree-hovered,
+.mage-suggest-dropdown .jstree .jstree-clicked {
+  border: none;
+}
+.mage-suggest-dropdown li a.ui-state-focus {
+  background: #f5f5f5;
+}
+.mage-suggest-dropdown .jstree li {
+  border-bottom: 0;
+}
+.mage-suggest-dropdown .jstree li a {
+  display: inline-block;
+}
+.mage-suggest-dropdown .jstree .mage-suggest-selected > a {
+  color: #000000;
+  background: #F1FFEB;
+}
+.mage-suggest-dropdown .jstree .mage-suggest-selected > a:hover,
+.mage-suggest-dropdown .jstree .mage-suggest-selected > .jstree-hovered,
+.mage-suggest-dropdown .jstree .mage-suggest-selected > .jstree-clicked,
+.mage-suggest-dropdown .jstree .mage-suggest-selected.mage-suggest-not-active > .jstree-hovered,
+.mage-suggest-dropdown .jstree .mage-suggest-selected.mage-suggest-not-active > .jstree-clicked {
+  background: #E5FFD9;
+}
+.mage-suggest-dropdown .jstree .mage-suggest-not-active > a {
+  color: #D4D4D4;
+}
+.mage-suggest-dropdown .jstree .mage-suggest-not-active > a:hover,
+.mage-suggest-dropdown .jstree .mage-suggest-not-active > .jstree-hovered,
+.mage-suggest-dropdown .jstree .mage-suggest-not-active > .jstree-clicked {
+  background: #F5F5F5;
+}
+.mage-suggest-dropdown .category-path {
+  font-size: 11px;
+  margin-left: 10px;
+  color: #9ba8b5;
+}
+.suggest-expandable .actions-split .action-toggle {
+  display: inline-block;
+  max-width: 500px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  background: none;
+  border: none;
+  box-shadow: none;
+  color: #676056;
+  font-size: 12px;
+  padding: 5px 4px;
+  filter: none;
+}
+.suggest-expandable .actions-split .action-toggle span {
+  display: inline;
+}
+.suggest-expandable .actions-split .action-toggle:before {
+  display: inline-block;
+  float: right;
+  margin-left: 4px;
+  font-size: 13px;
+  color: #b2b0ad;
+}
+.suggest-expandable .actions-split .action-toggle:hover:before {
+  color: #7e7e7e;
+}
+.suggest-expandable .dropdown-menu {
+  margin: 1px 0 0;
+  left: 0;
+  right: auto;
+  width: 221px;
+}
+.suggest-expandable .mage-suggest {
+  border: none;
+}
+.suggest-expandable .mage-suggest:after {
+  top: 6px;
+  right: 6px;
+}
+.suggest-expandable .mage-suggest-inner .title {
+  margin: 0;
+  padding: 0 10px 4px;
+  text-transform: uppercase;
+  color: #a6a098;
+  font-size: 12px;
+  border-bottom: 1px solid #e5e5e5;
+}
+.suggest-expandable .mage-suggest-inner > input[type="search"],
+.suggest-expandable .mage-suggest-inner > input.search {
+  position: relative;
+  margin: 6px 5px 5px;
+  padding-right: 20px;
+  border: 1px solid #ccc;
+  width: 211px;
+  z-index: 1;
+}
+.suggest-expandable .mage-suggest-inner > input.ui-autocomplete-loading,
+.suggest-expandable .mage-suggest-inner > input.mage-suggest-state-loading {
+  background: #ffffff url(../mui/images/ajax-loader-small.gif) no-repeat 190px 50%;
+}
+.suggest-expandable .mage-suggest {
+  border-radius: 3px 3px 0 0;
+}
+.suggest-expandable .mage-suggest-dropdown {
+  margin-top: 0;
+  border-top: 0;
+  border-radius: 0 0 3px 3px;
+  max-height: 300px;
+  overflow: auto;
+  width: 100%;
+  float: left;
+}
+.suggest-expandable .mage-suggest-dropdown ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.suggest-expandable .action-show-all,
+.suggest-expandable .action-show-all:hover,
+.suggest-expandable .action-show-all:active,
+.suggest-expandable .action-show-all:focus,
+.suggest-expandable .action-show-all[disabled] {
+  border-top: 1px solid #e5e5e5;
+  display: block;
+  width: 100%;
+  padding: 8px 10px 10px;
+  text-align: left;
+  font: 12px/1.333 Arial, Verdana, sans-serif;
+  color: #676056;
+}
+.page-actions .suggest-expandable {
+  max-width: 500px;
+  float: left;
+  margin-top: 1px;
+}
+.page-actions.fixed #product-template-suggest-container {
+  display: none;
+}
+/*
+    Actions Split
+-------------------------------------- */
+.actions-split {
+  text-align: left;
+  position: relative;
+  display: inline-block;
+}
+.actions-split > [class^='action-'] {
+  float: left;
+  border-radius: 0;
+}
+.actions-split > .action-default {
+  border-radius: 5px 0 0 5px;
+}
+.actions-split > .action-toggle {
+  border-left: 1px solid #c5c0b9;
+  border-radius: 0 5px 5px 0;
+  margin-left: -1px;
+  padding: 4px 7px;
+}
+.actions-split > .action-toggle > span {
+  display: none;
+}
+.actions-split > .action-toggle:before {
+  display: block;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02c';
+  /* arrow down */
+
+  font-size: 11px;
+}
+.actions-split > .action-toggle.active:before {
+  content: '\e029';
+  /* arrow up */
+
+}
+.actions-split > .action-toggle.primary {
+  border-left: 1px solid #e1721d;
+}
+.actions-split > .action-toggle.primary:hover {
+  background: #e2701a;
+  margin-left: -1px;
+}
+.actions-split.active .dropdown-menu {
+  display: block;
+  white-space: nowrap;
+}
+.actions-split.active .dropdown-menu > li {
+  padding: 0;
+}
+.actions-split .dropdown-menu > li > .item {
+  display: block;
+  padding: 6px 10px 5px;
+  color: #333;
+  text-decoration: none;
+}
+/* Variations Image Uploader */
+.actions-image-uploader > img {
+  float: left;
+  border: solid #b7b2a7;
+  border-width: 1px 0 1px 1px;
+  width: 32px;
+  height: 31px;
+}
+.eq-ie8 .actions-image-uploader .action-upload {
+  filter: none;
+}
+.actions-image-uploader .action-toggle,
+.actions-image-uploader .action-toggle:hover,
+.actions-image-uploader .action-toggle:active,
+.actions-image-uploader .action-toggle:focus,
+.actions-image-uploader .action-toggle[disabled] {
+  position: relative;
+  height: 33px;
+  padding-left: 2px;
+  padding-right: 2px;
+  background: #fff;
+  filter: none;
+  color: #888;
+}
+.actions-image-uploader.active .action-toggle {
+  border-radius: 0 5px 0 0;
+}
+.actions-image-uploader.active .action-toggle:after {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: -1px;
+  height: 1px;
+  background: #fff;
+  z-index: 991;
+  content: '';
+}
+.actions-image-uploader .dropdown-menu {
+  margin-top: -1px;
+  border-radius: 3px 0 3px 3px;
+}
+/*
+    Action delete icon
+-------------------------------------- */
+/* TODO: replase ".action-.delete" to ".action-delete" after buttons refactoring */
+.data-table .action-.delete span,
+.data-table .action-delete span,
+.data-table .action-locked span,
+.image .action-delete span,
+.fieldset-wrapper-title .actions .action-delete span,
+.address-list-item-actions .action-delete span {
+  display: none;
+}
+.data-table .action-.delete:before,
+.data-table .action-delete:before,
+.image .action-delete:before,
+.fieldset-wrapper-title .actions .action-delete:before,
+.address-list-item-actions .action-delete:before {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  font-size: 18px;
+  -webkit-font-smoothing: antialiased;
+  content: '\e07f';
+  /* delete icon */
+
+  color: #b7b3ad;
+}
+/*
+    Locked action icon
+-------------------------------------- */
+.data-table .action-locked:before {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  font-size: 20px;
+  -webkit-font-smoothing: antialiased;
+  content: '\e03e';
+  /* lock icon */
+
+  color: #b7b3ad;
+}
+.data-table .action-.delete:hover:before,
+.data-table .action-delete:hover:before,
+.data-table .action-locked:hover:before,
+.image .action-delete:hover:before,
+.fieldset-wrapper-title .actions .action-delete:hover:before,
+.address-list-item-actions .action-delete:hover:before {
+  color: #7e7e7e;
+}
+.data-table input.action-.delete[type="button"],
+.data-table input.action-.delete[type="submit"],
+.data-table input.action-.delete[type="reset"],
+.data-table button.action-.delete,
+.data-table input.action-.delete[type="button"]:visited,
+.data-table input.action-.delete[type="submit"]:visited,
+.data-table input.action-.delete[type="reset"]:visited,
+.data-table button.action-.delete:visited,
+.data-table input.action-.delete[type="button"]:hover,
+.data-table input.action-.delete[type="submit"]:hover,
+.data-table input.action-.delete[type="reset"]:hover,
+.data-table button.action-.delete:hover,
+.data-table input.action-.delete[type="button"]:active,
+.data-table input.action-.delete[type="submit"]:active,
+.data-table input.action-.delete[type="reset"]:active,
+.data-table button.action-.delete:active {
+  background: transparent;
+  padding: 3px 7px 0;
+}
+.data-table input.action-.delete[type=button]:hover:before,
+.data-table input.action-.delete[type=submit]:hover:before,
+.data-table input.action-.delete[type=reset]:hover:before,
+.data-table button.action-.delete:hover:before,
+.data-table input.action-.delete[type=button]:focus:before,
+.data-table input.action-.delete[type=submit]:focus:before,
+.data-table input.action-.delete[type=reset]:focus:before,
+.data-table button.action-.delete:focus:before {
+  background: transparent;
+  color: #a5a29d;
+}
+/*
+    Forms
+-------------------------------------- */
+fieldset {
+  border: 1px solid #ccc;
+  padding: 20px;
+}
+legend {
+  padding: 0 10px;
+  margin: 0 -10px;
+}
+fieldset legend + br {
+  display: none;
+}
+label {
+  display: inline-block;
+}
+label > input[type="radio"],
+label > input[type="checkbox"] {
+  margin: -3px 3px 0 0;
+  vertical-align: middle;
+}
+input[type=text],
+input[type=password],
+input[type=datetime],
+input[type=datetime-local],
+input[type=date],
+input[type=month],
+input[type=time],
+input[type=week],
+input[type=number],
+input[type=range],
+input[type=email],
+input[type=url],
+input[type=search],
+input.search,
+input[type=tel],
+input[type=color],
+textarea,
+.input-text {
+  display: inline-block;
+  padding: 4px;
+  margin: 0;
+  background-color: #fff;
+  height: 28px;
+  color: #676056;
+  font-size: 14px;
+  font-weight: 400;
+  border: 1px solid #ccc;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  border-radius: 4px;
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+}
+textarea,
+.input-text {
+  height: auto;
+}
+textarea {
+  resize: vertical;
+}
+select {
+  height: 28px;
+  padding: 4px 4px 5px;
+  margin: 0 0 8px;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+input[type=text]:focus,
+input[type=password]:focus,
+input[type=datetime]:focus,
+input[type=datetime-local]:focus,
+input[type=date]:focus,
+input[type=month]:focus,
+input[type=time]:focus,
+input[type=week]:focus,
+input[type=number]:focus,
+input[type=range]:focus,
+input[type=email]:focus,
+input[type=url]:focus,
+input[type=search]:focus,
+input.search:focus,
+input[type=tel]:focus,
+input[type=color]:focus,
+textarea:focus,
+select:focus {
+  outline: 0;
+  border-color: #75b9f0;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+}
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 3px 0;
+  line-height: normal;
+}
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+  cursor: not-allowed;
+  background-color: #fff;
+  border-color: #eee;
+  box-shadow: none;
+  color: #999;
+}
+select[disabled].multiselect > option[selected] {
+  color: #fff;
+  background: #6d6d6d;
+}
+.eq-ie8 select[disabled="disabled"][multiple="multiple"] option[selected="selected"] {
+  background-color: #ddd;
+}
+textarea:-moz-placeholder,
+input:-moz-placeholder {
+  color: #999 !important;
+  font-style: italic;
+}
+option.placeholder {
+  color: #999 !important;
+  font-style: italic !important;
+}
+:-ms-input-placeholder {
+  color: #999 !important;
+  font-style: italic;
+}
+::-webkit-input-placeholder {
+  color: #999 !important;
+}
+:-moz-placeholder {
+  color: #999 !important;
+}
+.form-inline .control {
+  width: 100%;
+}
+.form-inline .label {
+  width: 20%;
+  padding-top: 6px;
+}
+.form-inline .label ~ .control {
+  width: 60%;
+}
+.form-inline .no-label .control {
+  margin-left: 20%;
+  width: 60%;
+}
+fieldset.field [class^='fields-group-'] .field .control {
+  width: auto;
+  margin: 0 0 0 20px;
+}
+.form-inline .field-service {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 20%;
+  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;
+  white-space: nowrap;
+  display: block;
+  margin-bottom: 5px;
+}
+.form-inline .field-service .checkbox {
+  margin: 0;
+  vertical-align: middle;
+}
+.control > input {
+  width: 100%;
+}
+.control > input[type="button"] {
+  width: auto;
+}
+.control > input.hasDatepicker {
+  width: 130px;
+}
+.control > input[type="radio"],
+.control > input[type="checkbox"],
+.control > input[type="file"] {
+  width: auto;
+}
+.control > table {
+  width: 100%;
+}
+.multi-input {
+  margin: 0 0 20px;
+}
+.multi-input > input {
+  width: 100%;
+}
+.control .input-file {
+  margin-top: 4px;
+}
+/* TODO: remove styles for images when images will be replaced by font icons */
+.control .hasDatepicker + img {
+  margin: -3px 0 0 5px;
+  vertical-align: middle;
+}
+.nobr {
+  white-space: nowrap;
+}
+/*
+    Form Validation
+-------------------------------------- */
+label.mage-error {
+  display: block;
+  color: red;
+  text-align: left;
+  clear: both;
+  margin: 3px 0 0 0;
+}
+textarea.mage-error,
+select.mage-error,
+input.mage-error {
+  border-color: #fa7973 !important;
+  box-shadow: 0 0 8px rgba(250, 121, 115, 0.6) !important;
+}
+input.mage-error ~ .addafter {
+  border-color: #fa7973 !important;
+  box-shadow: 0 0 8px rgba(250, 121, 115, 0.6) !important;
+}
+/*
+    Forms for Store Scope
+-------------------------------------- */
+.form-inline .field-store_id .label + .control,
+.form-inline .field-store_ids .label + .control,
+.form-inline .field-website_ids .label + .control,
+.form-inline .field-website_id .label + .control,
+.form-inline .field-select_stores .label + .control,
+.form-inline .field-stores .label + .control {
+  width: auto;
+}
+/*
+    Forms styles
+-------------------------------------- */
+.page-content-inner {
+  position: relative;
+  background: #f5f2ed;
+  border: 1px solid #b7b2a6;
+  border-radius: 5px;
+  padding: 20px;
+}
+.fieldset-wrapper,
+.fieldset {
+  background: #fff;
+  border: 1px solid #eae6e0;
+  border-radius: 5px;
+  margin: 0 0 8px;
+  padding: 5px 18px 18px;
+  position: relative;
+}
+.eq-ie8 .fieldset {
+  border-width: 0 0 1px;
+}
+.fieldset-wrapper > .fieldset-wrapper-title,
+.fieldset > .legend {
+  position: static;
+  float: left;
+  width: 100%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  padding: 0;
+  border-bottom: 1px solid #ededed;
+  margin: 0 0 18px;
+}
+.fieldset-wrapper > .fieldset-wrapper-title {
+  float: none;
+}
+.fieldset-wrapper > .fieldset-wrapper-title .title,
+.fieldset > .legend span {
+  color: #676056;
+  font-size: 20px;
+  font-weight: 400;
+  padding: 7px 0 10px;
+  display: inline-block;
+}
+/* Collapsable fieldset-wrapper */
+.collapsable-wrapper {
+  padding-bottom: 2px;
+}
+.collapsable-wrapper.opened {
+  padding-bottom: 18px;
+}
+.collapsable-wrapper > .fieldset-wrapper-title {
+  border-bottom: none;
+  margin-bottom: 0;
+}
+.collapsable-wrapper.opened > .fieldset-wrapper-title {
+  border-bottom: 1px solid #ededed;
+  margin-bottom: 18px;
+}
+.collapsable-wrapper .fieldset-wrapper-title > .title {
+  position: relative;
+  padding-left: 22px;
+  cursor: pointer;
+  float: left;
+}
+.collapsable-wrapper .fieldset-wrapper-title > .title:before {
+  position: absolute;
+  left: 0;
+  top: 7px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02a';
+  /* arrow right icon */
+
+  color: #b2b0ad;
+}
+.collapsable-wrapper.opened > .fieldset-wrapper-title > .title:before {
+  content: '\e02c';
+  /* arrow down icon */
+
+}
+.collapsable-wrapper .fieldset-wrapper-title > .title:hover:before {
+  color: #7e7e7e;
+}
+/* Fieldset styles in another fieldset */
+.fieldset .fieldset-wrapper,
+.fieldset-wrapper .fieldset-wrapper {
+  border-color: #cccbca;
+  padding: 0;
+}
+.fieldset .fieldset-wrapper .fieldset-wrapper-title,
+.fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-title {
+  background: #f4f2ef;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y0ZjJlZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZWViZTYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #f4f2ef 0%, #eeebe6 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f2ef), color-stop(100%, #eeebe6));
+  background: -webkit-linear-gradient(top, #f4f2ef 0%, #eeebe6 100%);
+  background: -o-linear-gradient(top, #f4f2ef 0%, #eeebe6 100%);
+  background: -ms-linear-gradient(top, #f4f2ef 0%, #eeebe6 100%);
+  background: linear-gradient(to bottom, #f4f2ef 0%, #eeebe6 100%);
+  padding: 0 18px;
+  border-radius: 5px;
+}
+.eq-ie8 .fieldset .fieldset-wrapper .fieldset-wrapper-title,
+.eq-ie8 .fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-title {
+  background: #f4f2ef;
+}
+.fieldset .fieldset-wrapper.opened .fieldset-wrapper-title,
+.fieldset-wrapper .fieldset-wrapper.opened .fieldset-wrapper-title {
+  border-radius: 5px 5px 0 0;
+  border-bottom: 1px solid #cccbca;
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  min-height: 39px;
+}
+.fieldset .fieldset-wrapper .fieldset-wrapper-title .actions,
+.fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-title .actions {
+  padding: 10px 2px 0 0;
+}
+.fieldset .fieldset-wrapper .fieldset-wrapper-title .title,
+.fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-title .title {
+  padding-top: 9px;
+  padding-bottom: 8px;
+  color: #555;
+  font: normal 16px/1.333 Arial, Verdana, sans-serif;
+}
+.fieldset .fieldset-wrapper .fieldset-wrapper-title .title:before,
+.fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-title .title:before {
+  top: 9px;
+}
+.fieldset-wrapper-content .fieldset > .title {
+  margin-top: 0;
+  padding-left: 22px;
+}
+.fieldset-wrapper .draggable-handle,
+.fieldset .draggable-handle {
+  width: 8px;
+  height: 14px;
+  line-height: 14px;
+  background: url(Magento_Backend::images/draggable-handle-vertical.gif) no-repeat 0 0;
+  cursor: ns-resize;
+  color: #b2b0ad;
+}
+.fieldset-wrapper-title > .draggable-handle {
+  position: absolute;
+  left: 10px;
+  top: 12px;
+}
+.fieldset .fieldset-wrapper .fieldset-wrapper-content,
+.fieldset-wrapper .fieldset-wrapper .fieldset-wrapper-content {
+  padding: 0 10px;
+}
+/* Sortable fieldsets */
+.ui-sortable .entry-edit .fieldset-wrapper-title,
+#product_options_container_top .fieldset-wrapper-title {
+  padding-left: 30px;
+}
+.fieldset-wrapper-title > .actions,
+.fieldset .legend > .actions {
+  float: right;
+  padding-top: 8px;
+}
+.fieldset > .legend + br {
+  display: block;
+  height: 0;
+  overflow: hidden;
+  clear: left;
+}
+.fieldset-wrapper .fieldset,
+.fieldset .fieldset {
+  background: transparent;
+  padding: 9px 0;
+  border: none;
+  border-radius: 0;
+  margin: 0 0 29px;
+}
+.eq-ie8 .fieldset-alt,
+.eq-ie8 .fieldset-alt > .fieldset {
+  display: block;
+  width: 100%;
+}
+.eq-ie8 .fieldset-alt > .field {
+  display: inline-block;
+}
+.fieldset .comment {
+  margin: 0 0 29px 10px;
+}
+.fieldset .field {
+  margin: 0 0 29px;
+}
+.with-note .note,
+.field .note {
+  color: #676056;
+  font-size: 12px;
+  font-weight: 400;
+}
+.fieldset .field .options-list {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+.fieldset .field .options-list input[type="checkbox"],
+.fieldset .field .options-list input[type="radio"] {
+  margin-right: 5px;
+}
+[class^="fields-group-"] .field {
+  margin-bottom: 0;
+}
+.fieldset-wrapper .fieldset:last-child,
+.fieldset .fieldset:last-child,
+.fieldset .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset .label {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 600;
+}
+.fieldset .control .label {
+  color: #676056;
+  font-size: 14px;
+  font-weight: 400;
+}
+.field.required > .label:after {
+  color: #e22626;
+  font-size: 13px;
+  font-weight: 400;
+}
+.with-addon .textarea {
+  margin: 0 0 6px;
+}
+.fieldset .control .textarea,
+.fieldset .control .addon .textarea {
+  border-radius: 4px;
+  width: 100%;
+}
+.fieldset > .field > input[type="checkbox"] {
+  margin-top: 12px;
+}
+.fieldset-alt {
+  position: relative;
+  display: table-row;
+  border: 0;
+  padding: 0;
+  margin-bottom: 20px;
+  width: 100%;
+}
+.fieldset-alt > .field {
+  display: table-cell;
+  vertical-align: top;
+  padding-right: 4%;
+}
+.fieldset-alt > .field.no-display {
+  display: none;
+}
+.fieldset-alt .field > .label {
+  display: block;
+  width: 100%;
+  clear: both;
+  text-align: left;
+  margin: 0 0 10px;
+}
+.fieldset-alt .label + .control {
+  width: 100%;
+}
+.fieldset-alt .field-option-title {
+  width: 50%;
+}
+.fieldset .tooltip .help {
+  margin: 7px 0 0 15px;
+}
+.fieldset-alt .field-option-store-view {
+  width: 20%;
+}
+.fieldset-alt .field-option-input-type {
+  width: 20%;
+}
+.fieldset-alt .field-option-input-type select {
+  width: 100%;
+}
+.fieldset-alt .field-option-req {
+  width: 105px;
+  white-space: nowrap;
+}
+.fieldset-alt .field-option-req .control {
+  position: relative;
+  top: 32px;
+}
+.fieldset-alt .field-option-position,
+.fieldset-alt .field-option-position .control {
+  width: 60px;
+}
+/* "Use default" checkbox */
+.use-default-control {
+  display: none;
+}
+.use-default-label {
+  cursor: pointer;
+  text-decoration: underline;
+  font-size: 11px;
+  color: #a29c94;
+}
+.use-default-label:hover {
+  color: #7e7e7e;
+}
+/*
+    Custom Multiselect
+-------------------------------------- */
+.multiselect-alt {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+  color: #333;
+}
+.multiselect-alt .item {
+  position: relative;
+  border-top: 1px solid #fff;
+  cursor: pointer;
+}
+.multiselect-alt .item:first-child {
+  border-top: 0;
+}
+.multiselect-alt .item.selected {
+  background: #d7ebf5;
+}
+.multiselect-alt .item.selected:hover {
+  background: #afdef2;
+}
+.multiselect-alt label {
+  display: block;
+  cursor: pointer;
+  padding: 6px 25px 5px;
+}
+.multiselect-alt .item.selected label:before {
+  position: absolute;
+  left: 8px;
+  top: 1px;
+  bottom: 0;
+  width: 10px;
+  line-height: 28px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e01e';
+  /* checked icon */
+
+  text-align: center;
+  color: #7ba4b1;
+  font-size: 9px;
+  text-shadow: 0 -1px 1px #60727b;
+}
+.multiselect-alt input[type="checkbox"] {
+  width: 0;
+  height: 0;
+  opacity: 0;
+  margin: 0;
+  padding: 0;
+}
+/*
+    Form item with table
+-------------------------------------- */
+.with-table .label {
+  float: none;
+  text-align: left;
+  width: 100%;
+}
+.with-table .control {
+  clear: left;
+  float: none;
+  width: 100%;
+}
+/*
+    Form currency label
+-------------------------------------- */
+.addon input {
+  border-width: 1px 0 1px 1px;
+}
+.addon input:focus ~ .addafter {
+  border-color: #75b9f0;
+  box-shadow: 0 0 8px rgba(82, 168, 236, 0.6);
+}
+.addon input ~ .addafter strong {
+  background: #fff;
+  display: block;
+  line-height: 24px;
+  margin: 0 3px 0 -2px;
+  padding-left: 4px;
+  padding-right: 4px;
+  position: relative;
+  font-size: 12px;
+  top: 0;
+}
+.addon input:focus ~ .addafter strong {
+  margin-top: 0;
+}
+.addon .addafter {
+  background: none;
+  color: #a6a6a6;
+  border-width: 1px 1px 1px 0;
+  border-radius: 4px 4px 0 0;
+  padding: 0;
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.075) inset;
+}
+.field .control input[type='text'][disabled],
+.field .control input[type='text'][disabled] ~ .addafter,
+.field .control select[disabled],
+.field .control select[disabled] ~ .addafter {
+  background-color: #fff;
+  border-color: #eee;
+  box-shadow: none;
+  color: #999;
+}
+.field .control input[type='text'][disabled] ~ .addafter strong,
+.field .control select[disabled] ~ .addafter strong {
+  background-color: #fff;
+}
+.field.type-price .addon,
+.field-price .addon,
+.field-special_price .addon,
+.field-msrp .addon {
+  direction: rtl;
+}
+.field.type-price .addon > *,
+.field-price .addon > *,
+.field-special_price .addon > *,
+.field-msrp .addon > * {
+  direction: ltr;
+}
+.field.type-price .addon .addafter,
+.field-price .addon .addafter,
+.field-special_price .addon .addafter,
+.field-msrp .addon .addafter {
+  border-width: 1px 0 1px 1px;
+  border-radius: 4px 0 0 4px;
+}
+.field.type-price .addon input:first-child,
+.field-price .addon input:first-child,
+.field-special_price .addon input:first-child,
+.field-msrp .addon input:first-child {
+  border-radius: 0 4px 4px 0;
+}
+.eq-ie8 .field.type-price .addon .addafter,
+.eq-ie8 .field-price .addon .addafter,
+.eq-ie8 .field-special_price .addon .addafter,
+.eq-ie8 .field-msrp .addon .addafter {
+  border-width: 1px 1px 1px 0;
+}
+.field.type-price input,
+.field-price input,
+.field-special_price input,
+.field-msrp input {
+  border-width: 1px 1px 1px 0;
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.075) inset;
+}
+.field.type-price input:focus,
+.field-price input:focus,
+.field-special_price input:focus,
+.field-msrp input:focus {
+  box-shadow: 0 0 8px rgba(82, 168, 236, 0.6);
+}
+.field.type-price input:focus ~ label.addafter,
+.field-price input:focus ~ label.addafter,
+.field-special_price input:focus ~ label.addafter,
+.field-msrp input:focus ~ label.addafter {
+  box-shadow: 0 0 8px rgba(82, 168, 236, 0.6);
+}
+.field.type-price input ~ label.addafter strong,
+.field-price input ~ label.addafter strong,
+.field-special_price input ~ label.addafter strong,
+.field-msrp input ~ label.addafter strong {
+  margin-left: 2px;
+  margin-right: -2px;
+}
+.eq-ie8 .field-apply_to .multiselect {
+  height: 120px;
+}
+/*
+    Calendar
+-------------------------------------- */
+.ui-datepicker {
+  z-index: 998 !important;
+}
+.ui-datepicker .ui-datepicker-calendar td {
+  padding: 0;
+}
+.ui-datepicker .ui-datepicker-calendar th {
+  background: #efefef;
+  border: 1px solid #cfcfcf;
+  padding: 4px;
+  color: #676056;
+  font-weight: bold;
+}
+.ui-datepicker-calendar tbody tr td,
+.ui-datepicker-calendar tbody tr:nth-child(2n+1) td {
+  background: #fff;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+  margin-top: -1px;
+}
+/*
+    Details element
+-------------------------------------- */
+summary {
+  cursor: pointer;
+  display: inline-block;
+}
+.no-details details > * {
+  display: none;
+}
+.no-details details > summary:before {
+  float: left;
+  width: 20px;
+  content: 'â–º ';
+}
+.no-details details.open > summary:before {
+  content: 'â–¼ ';
+}
+.no-details details summary {
+  display: block;
+}
+/*
+    Blockquotes
+-------------------------------------- */
+blockquote {
+  border-left: 2px solid #ccc;
+  padding-left: 5px;
+}
+blockquote small:before {
+  content: '\2014 \00A0';
+}
+/*
+    Addresses
+-------------------------------------- */
+address {
+  font-style: normal;
+}
+/*
+    Tables
+-------------------------------------- */
+table > caption {
+  margin-bottom: 5px;
+}
+table tfoot,
+table th {
+  background: #e6e6e6;
+}
+table tfoot,
+table thead {
+  background: #666158;
+  color: #cac3b4;
+}
+table thead.active {
+  /*background:#F37B21;*/
+
+}
+table th {
+  text-align: left;
+  background: transparent;
+  font-weight: normal;
+}
+table th,
+table td {
+  border: 1px solid #C0BBAF;
+  padding: 6px 10px 7px;
+}
+table tbody tr td {
+  background: #F5F2ED;
+  color: #676056;
+  padding-top: 12px;
+}
+table tbody tr:not(:last-child) td {
+  border-top: 1px solid transparent;
+  border-bottom: 1px solid transparent;
+}
+table .dropdown-menu li {
+  padding: 7px 15px;
+  line-height: 14px;
+  cursor: pointer;
+}
+table tbody tr td:first-child input[type="checkbox"] {
+  margin: 0;
+}
+table tbody tr:nth-child(odd) td,
+table tbody tr:nth-child(odd) th {
+  background-color: #E6E3DE;
+}
+table tbody tr.selected td,
+table tbody tr.selected th {
+  border: 1px solid #C0BBAF;
+}
+table tbody tr.selected td,
+table tbody tr.selected th,
+table tbody tr:hover td,
+table tbody tr:hover th,
+table tbody tr:nth-child(odd):hover td,
+table tbody tr:nth-child(odd):hover th {
+  background-color: #fff;
+}
+/*
+    X-tree styles
+-------------------------------------- */
+.x-tree-node .leaf .x-tree-node-icon {
+  background-image: url(../images/fam_leaf.png);
+}
+.x-tree-node .system-leaf .x-tree-node-icon {
+  background-image: url(../images/fam_application_form_delete.png);
+}
+.x-tree-node-ct {
+  overflow: hidden;
+}
+/*
+    Styles for "js" tooltip with positionings
+-------------------------------------- */
+.tipsy {
+  padding: 11px;
+}
+.tipsy-inner {
+  padding: 12px 15px;
+  max-width: 185px;
+  background: #faf8f6;
+  border: 1px solid #dcd8ce;
+  box-shadow: 0 2px 5px rgba(49, 48, 43, 0.4);
+}
+.tipsy-inner .error {
+  width: 158px;
+}
+.tipsy-inner .error h5 {
+  color: #be0a0a;
+  font-size: 16px;
+  font-weight: 500;
+  margin: 0 0 6px 0;
+}
+.tipsy-inner .error p {
+  color: #676056;
+  line-height: 1.5;
+  margin: 0;
+}
+.tipsy-e .tipsy-arrow {
+  top: 50%;
+  left: 1px;
+  margin-top: -10px;
+  border-top: 10px solid transparent;
+  border-right: 10px solid #dcd8ce;
+  border-bottom: 10px solid transparent;
+  border-left: none;
+}
+.tipsy-w .tipsy-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -10px;
+  border-top: 10px solid transparent;
+  border-right: none;
+  border-bottom: 10px solid transparent;
+  border-left: 10px solid #dcd8ce;
+}
+.tipsy-n .tipsy-arrow,
+.tipsy-ne .tipsy-arrow,
+.tipsy-nw .tipsy-arrow {
+  bottom: 1px;
+  border-top: 10px solid #dcd8ce;
+  border-right: 10px solid transparent;
+  border-bottom: none;
+  border-left: 10px solid transparent;
+}
+.tipsy-ne .tipsy-arrow {
+  left: 16px;
+}
+.tipsy-nw .tipsy-arrow {
+  right: 16px;
+}
+.tipsy-s .tipsy-arrow,
+.tipsy-se .tipsy-arrow,
+.tipsy-sw .tipsy-arrow {
+  top: 1px;
+  border-left: 10px solid transparent;
+  border-right: 10px solid transparent;
+  border-bottom: 10px solid #dcd8ce;
+  border-top: none;
+}
+.tipsy-se .tipsy-arrow {
+  left: 16px;
+}
+.tipsy-sw .tipsy-arrow {
+  right: 16px;
+}
+.tipsy-arrow:after,
+.tipsy-arrow:before {
+  position: absolute;
+  width: 0;
+  height: 0;
+  content: '';
+}
+.tipsy-e .tipsy-arrow:after {
+  top: -5px;
+  left: 2px;
+  margin-top: -4px;
+  border-top: 9px solid transparent;
+  border-right: 9px solid #faf8f6;
+  border-bottom: 9px solid transparent;
+}
+.tipsy-e .tipsy-arrow:before {
+  top: -8px;
+  margin-top: 0;
+  border-top: 10px solid transparent;
+  border-right: 10px solid rgba(49, 48, 43, 0.1);
+  border-bottom: 10px solid transparent;
+}
+.tipsy-w .tipsy-arrow:after {
+  top: -5px;
+  left: -12px;
+  margin-top: -4px;
+  border-top: 9px solid transparent;
+  border-right: none;
+  border-bottom: 9px solid transparent;
+  border-left: 9px solid #faf8f6;
+}
+.tipsy-w .tipsy-arrow:before {
+  top: -8px;
+  left: -10px;
+  margin-top: 0;
+  border-top: 10px solid transparent;
+  border-right: none;
+  border-bottom: 10px solid transparent;
+  border-left: 10px solid rgba(49, 48, 43, 0.1);
+}
+.tipsy-n .tipsy-arrow:after,
+.tipsy-ne .tipsy-arrow:after,
+.tipsy-nw .tipsy-arrow:after {
+  margin-top: -4px;
+  left: -9px;
+  top: -7px;
+  border-top: 9px solid #faf8f6;
+  border-right: 9px solid transparent;
+  border-left: 9px solid transparent;
+}
+.tipsy-n .tipsy-arrow:before,
+.tipsy-ne .tipsy-arrow:before,
+.tipsy-nw .tipsy-arrow:before {
+  left: -10px;
+  top: -8px;
+  margin-top: 0;
+  border-top: 10px solid rgba(49, 48, 43, 0.1);
+  border-right: 10px solid transparent;
+  border-left: 10px solid transparent;
+}
+.tipsy-s .tipsy-arrow:after,
+.tipsy-sw .tipsy-arrow:after,
+.tipsy-se .tipsy-arrow:after {
+  left: -9px;
+  top: 6px;
+  margin-top: -4px;
+  border-top: none;
+  border-right: 9px solid transparent;
+  border-bottom: 9px solid #faf8f6;
+  border-left: 9px solid transparent;
+}
+.tipsy-inner dl {
+  margin: 0;
+}
+.tipsy-inner dt {
+  margin: 0 0 4px;
+  font-size: 16px;
+  font-weight: 400;
+  color: #f47b20;
+}
+.tipsy-inner dd {
+  margin: 0;
+  color: #676056;
+  font-size: 12px;
+  line-height: 18px;
+  font-family: Arial, Helvetica, sans-serif;
+}
+/*
+    Popups
+-------------------------------------- */
+.fade .popup {
+  padding: 0;
+  border: 5px solid #969288;
+  border-radius: 8px;
+}
+.wrapper-popup {
+  padding: 0 10px;
+}
+.fade .popup .popup-inner {
+  padding: 20px;
+  border-radius: 3px;
+}
+.fade .popup .popup-title {
+  margin: 0 0 10px;
+}
+.popup-loading {
+  position: fixed;
+  z-index: 1003;
+  width: 200px;
+  background: rgba(255, 255, 255, 0.8);
+  left: 50%;
+  top: 40%;
+  margin-left: -100px;
+  color: #d85909;
+  border-color: #d85909;
+  font-size: 14px;
+  font-weight: bold;
+  text-align: center;
+  padding: 100px 0 10px;
+}
+.popup-loading:after {
+  position: absolute;
+  left: 50%;
+  top: 40%;
+  background-image: url(../mui/images/ajax-loader-big.gif);
+  width: 64px;
+  height: 64px;
+  margin: -32px 0 0 -32px;
+  content: '';
+  z-index: 2;
+}
+.eq-ie8 .popup-loading {
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
+}
+/* Loading mask */
+.loading-old,
+.loading-mask {
+  background: rgba(255, 255, 255, 0.4);
+  z-index: 999;
+}
+.loading-old,
+.loading-mask {
+  position: fixed;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+}
+.loading-old .loader,
+.loading-mask .loader {
+  position: absolute;
+  margin: auto;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  width: 160px;
+  height: 160px;
+  color: #5e5b56;
+  font-size: 14px;
+  font-weight: bold;
+  text-align: center;
+  background: #e5e2dd url(../mui/images/ajax-loader-big.gif) no-repeat 50% 30%;
+  border-radius: 5px;
+  opacity: .95;
+}
+.loading-mask img {
+  display: none;
+}
+.loading-old p,
+.loading-mask p {
+  margin-top: 118px;
+}
+.eq-ie8 .loading-old,
+.eq-ie8 .loading-mask {
+  background: #fff;
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
+}
+/* Backup popup */
+/* TODO: remove after backups page js refactoring */
+.backup-dialog {
+  margin-top: inherit !important;
+}
+/* Backup popup */
+/* TODO: remove after backups page js refactoring */
+.backup-dialog {
+  margin-top: inherit !important;
+}
+/*
+    Global Navigation
+-------------------------------------- */
+.navigation {
+  position: relative;
+  border-bottom: 1px solid #aaa69c;
+  background: #726c62;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzcyNmM2MiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NTYwNTciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #726c62 0%, #656057 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #726c62), color-stop(100%, #656057));
+  background: -webkit-linear-gradient(top, #726c62 0%, #656057 100%);
+  background: -o-linear-gradient(top, #726c62 0%, #656057 100%);
+  background: -ms-linear-gradient(top, #726c62 0%, #656057 100%);
+  background: linear-gradient(to bottom, #726c62 0%, #656057 100%);
+  padding: 0 20px;
+}
+.navigation:hover .level-0 > a {
+  /*background: red !important;*/
+
+}
+.eq-ie8 .navigation {
+  background: #726c62;
+}
+.navigation:before {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 0;
+  height: 5px;
+  box-shadow: 0 2px 4px #46433d inset;
+  content: '';
+  z-index: 991;
+}
+.eq-ie8 .navigation:before {
+  border-top: 1px solid #46433d;
+}
+.navigation:after {
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  height: 1px;
+  background: #4e483f;
+  content: '';
+  z-index: 1;
+}
+.navigation .level-0.reverse > .submenu {
+  right: 1px;
+}
+.navigation > ul {
+  position: relative;
+  min-width: 960px;
+  max-width: 1300px;
+  margin: 0 auto;
+  text-align: right;
+  z-index: 900;
+}
+.navigation .level-0 > .submenu {
+  display: none;
+  position: absolute;
+  top: 100%;
+  padding: 19px 10px;
+}
+.navigation .level-0 > .submenu a {
+  display: block;
+  color: #007dbd;
+  font-size: 13px;
+  font-weight: 400;
+  line-height: 1.385;
+  padding: 5px 20px 4px;
+  text-decoration: none;
+  -webkit-transition: color 0.15s ease-out;
+  -moz-transition: color 0.15s ease-out;
+}
+.navigation .level-0 > .submenu a:focus,
+.navigation .level-0 > .submenu a:hover {
+  text-decoration: underline;
+}
+.navigation .level-0 > .submenu li {
+  margin-bottom: 1px;
+}
+.navigation .level-0 > .submenu a[href="#"] {
+  cursor: default;
+  display: block;
+  color: #676056;
+  font-size: 14px;
+  font-weight: 600;
+  line-height: 1;
+  margin: 7px 0 6px;
+  padding: 0 20px;
+}
+.navigation .level-0 > .submenu a[href="#"]:focus,
+.navigation .level-0 > .submenu a[href="#"]:hover {
+  text-decoration: none;
+}
+.navigation .level-0 {
+  display: inline-block;
+  float: left;
+  text-align: left;
+  -webkit-transition: display 0.15s ease-out;
+  -moz-transition: display 0.15s ease-out;
+}
+.navigation .level-0 > a {
+  background: none;
+  position: relative;
+  display: inline-block;
+  padding: 37px 21px 11px;
+  color: #f2ebde;
+  font-size: 13px;
+  font-weight: 400;
+  text-shadow: 0 1px 3px #222;
+  text-transform: uppercase;
+  text-decoration: none;
+  -webkit-transition: background 0.15s ease-out;
+  -moz-transition: background 0.15s ease-out;
+}
+.navigation .level-0.active > a {
+  background: #625d54;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iIzYyNWQ1NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1NjUyNDkiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #625d54 1%, #565249 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #625d54), color-stop(100%, #565249));
+  background: -webkit-linear-gradient(top, #625d54 1%, #565249 100%);
+  background: -o-linear-gradient(top, #625d54 1%, #565249 100%);
+  background: -ms-linear-gradient(top, #625d54 1%, #565249 100%);
+  background: linear-gradient(to bottom, #625d54 1%, #565249 100%);
+}
+.eq-ie8 .navigation .level-0.active > a {
+  background: #625d54;
+}
+/*.navigation .level-0:hover > a,
+.eq-ie8 .navigation .level-0:hover > a,*/
+.navigation .level-0.hover.recent > a {
+  background: #fff;
+  color: #676056;
+  font-size: 13px;
+  font-weight: 400;
+  text-shadow: 0 1px 3px #c1bfbb;
+}
+.navigation .level-0 > a:focus {
+  outline: none;
+}
+.navigation .level-0 > .submenu {
+  opacity: 0;
+  visibility: hidden;
+}
+.navigation .level-0.recent.hover > .submenu {
+  opacity: 1;
+  visibility: visible;
+}
+.no-js .navigation .level-0:hover > .submenu,
+.no-js .navigation .level-0.hover > .submenu,
+.no-js .navigation .level-0 > a:focus + .submenu {
+  display: block;
+}
+.eq-ie8 .navigation .level-0.active > a,
+.eq-ie8 .navigation .level-0:hover > a,
+.eq-ie8 .navigation .level-0.hover > a {
+  border-top: 1px solid #46433d;
+  padding-top: 36px;
+}
+.navigation .level-0 > a:before {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 12px;
+  text-align: center;
+  height: 20px;
+  content: '';
+  font-family: 'admin-icons';
+  font-size: 18px;
+  speak: none;
+  font-weight: normal;
+  line-height: 1;
+  -webkit-font-smoothing: antialiased;
+  text-shadow: none;
+}
+.navigation .level-0.item-dashboard > a:before,
+.navigation .level-0.item-hub > a:before {
+  content: '\e007';
+  font-size: 17px;
+}
+.navigation .level-0.item-sales > a:before,
+.navigation .level-0.item-sales-and-orders > a:before {
+  content: '\e008';
+}
+.navigation .level-0.item-catalog > a:before {
+  content: '\e00b';
+}
+.navigation .level-0.item-customer > a:before,
+.navigation .level-0.item-customers > a:before {
+  content: '\e009';
+  font-size: 24px;
+  top: 10px;
+}
+.navigation .level-0.item-promo > a:before,
+.navigation .level-0.item-marketing > a:before {
+  content: '\e00a';
+  font-size: 17px;
+  top: 13px;
+}
+.navigation .level-0.item-cms > a:before,
+.navigation .level-0.item-content > a:before {
+  content: '\e006';
+  font-size: 16px;
+}
+.navigation .level-0.item-report > a:before,
+.navigation .level-0.item-reports > a:before {
+  content: '\e00c';
+  font-size: 16px;
+  top: 13px;
+}
+.navigation .level-0.item-newsletter > a:before {
+  font-family: 'MUI-Icons';
+  content: '\e03c';
+  font-size: 22px;
+  top: 9px;
+}
+.navigation .level-0 > .submenu {
+  background: #fff;
+  box-shadow: 0 3px 3px rgba(49, 48, 43, 0.5);
+  border-radius: 0 0 5px 5px;
+}
+.no-boxshadow .navigation .level-0 > .submenu {
+  border: 1px solid #cbc1b4;
+  border-width: 0 1px 1px;
+  margin-left: -1px;
+}
+.navigation .level-0 > .submenu li {
+  max-width: 200px;
+}
+.navigation .level-0 > .submenu > ul {
+  white-space: nowrap;
+}
+.navigation .level-0 > .submenu .column {
+  display: inline-block;
+  vertical-align: top;
+}
+.eq-ie8 .navigation .level-0 > .submenu .column {
+  float: left;
+}
+.navigation .level-0 .submenu .level-1 {
+  white-space: normal;
+}
+.navigation .level-0.parent .submenu .level-1.parent {
+  margin: 17px 0;
+}
+.navigation .level-0.parent .level-1.parent:first-child {
+  margin-top: 0;
+}
+.navigation .level-2 .submenu {
+  margin-left: 7px;
+}
+.navigation .level-0 > .submenu .level-2 > a[href="#"] {
+  font-size: 13px;
+  margin-top: 10px;
+  margin-left: 7px;
+}
+.navigation .level-2 > .submenu a {
+  font-size: 12px;
+  line-height: 1.231;
+}
+.navigation .level-0 > .submenu .level-3 > a[href="#"],
+.navigation .level-3 .submenu {
+  margin-left: 15px;
+}
+/*
+    Admin and Store Settings
+-------------------------------------- */
+.navigation .level-0.item-system,
+.navigation .level-0.item-stores {
+  float: none;
+  margin: 21px 0 0;
+}
+.navigation .level-0.item-system > .submenu,
+.navigation .level-0.item-stores > .submenu {
+  left: auto;
+  right: 1px;
+}
+.navigation .level-0.item-system.hover:after,
+.navigation .level-0.item-stores.hover:after {
+  color: #c2b59c;
+}
+.navigation .level-0.item-system > a,
+.navigation .level-0.item-stores > a {
+  position: relative;
+  padding: 0;
+}
+.eq-ie8 .navigation .level-0.item-system > a,
+.eq-ie8 .navigation .level-0.item-system:hover > a,
+.eq-ie8 .navigation .level-0.item-system.hover > a,
+.eq-ie8 .navigation .level-0.item-stores > a,
+.eq-ie8 .navigation .level-0.item-stores:hover > a,
+.eq-ie8 .navigation .level-0.item-stores.hover > a {
+  border-top: 0;
+  padding-top: 0;
+}
+.navigation .level-0.item-system:hover > a,
+.navigation .level-0.item-system.hover > a,
+.navigation .level-0.item-stores:hover > a,
+.navigation .level-0.item-stores.hover > a {
+  background: transparent;
+}
+.no-js .navigation .level-0.item-system:hover > a:before,
+.navigation .level-0.item-system:hover > a:before,
+.navigation .level-0.item-system.hover > a:before,
+.no-js .navigation .level-0.item-stores:hover > a:before,
+.navigation .level-0.item-stores:hover > a:before,
+.navigation .level-0.item-stores.hover > a:before {
+  display: none;
+  position: absolute;
+  top: 1.4em;
+  left: auto;
+  right: -19px;
+  height: 20px;
+  width: 20px;
+  content: '';
+  border: 10px solid #fff;
+  border-width: 0 0 10px 10px;
+  border-radius: 0 0 0 20px;
+  z-index: 2;
+}
+.navigation .level-0.item-system > a:after,
+.navigation .level-0.item-stores > a:after {
+  display: none;
+  position: absolute;
+  top: 2em;
+  left: -20px;
+  margin-top: -1px;
+  width: 20px;
+  height: 20px;
+  content: '';
+  border: 10px solid #fff;
+  border-width: 0 10px 10px 0;
+  border-radius: 0 0 20px;
+  z-index: 1;
+}
+.no-js .navigation .level-0.item-system:hover > a:after,
+.navigation .level-0.item-system.hover > a:after,
+.no-js .navigation .level-0.item-system:hover > a:before,
+.navigation .level-0.item-system.hover > a:before,
+.no-js .navigation .level-0.item-stores:hover > a:after,
+.navigation .level-0.item-stores.hover > a:after,
+.no-js .navigation .level-0.item-stores:hover > a:before,
+.navigation .level-0.item-stores.hover > a:before {
+  display: block;
+}
+.no-js .navigation .level-0.last:hover > a:before,
+.navigation .level-0.last.hover > a:before,
+.eq-ie8 .navigation .level-0.item-system > a:before,
+.eq-ie8 .navigation .level-0.item-system > a:after,
+.eq-ie8 .navigation .level-0.item-stores > a:before,
+.eq-ie8 .navigation .level-0.item-stores > a:after {
+  display: none;
+}
+.navigation .level-0.item-system > a span,
+.navigation .level-0.item-stores > a span {
+  display: block;
+  position: relative;
+  padding: 4px 20px 5px 10px;
+  border: 1px solid #4c483f;
+  border-left: 0;
+  font: 12px/1.333 "Helvetica", Arial, serif;
+  text-transform: none;
+  text-shadow: none;
+  background: #58534a;
+  color: #f2ebde;
+  height: 1.333em;
+}
+.navigation .level-0.item-system:hover > a span,
+.navigation .level-0.item-stores:hover > a span {
+  background: #31302B;
+}
+.navigation .level-0.item-system:hover > a span:after,
+.navigation .level-0.item-stores:hover > a span:after {
+  color: #58534a;
+}
+.no-js .navigation .level-0.item-system:hover > a span,
+.navigation .level-0.item-system.hover > a span,
+.no-js .navigation .level-0.item-stores:hover > a span,
+.navigation .level-0.item-stores.hover > a span {
+  background: #fff;
+  color: #676056;
+  text-shadow: none;
+  border-bottom: 0;
+  border-right: 0;
+  padding-right: 21px;
+  padding-bottom: 2em;
+  margin-bottom: -2em;
+}
+.no-js .navigation .level-0.last:hover > a span,
+.navigation .level-0.last.hover > a span {
+  background: #fff;
+  color: #676056;
+  text-shadow: none;
+  border-bottom: 0;
+  border-right: 0;
+  padding-right: 21px;
+  padding-bottom: 2em;
+  margin-bottom: -2em;
+}
+.no-js .navigation .level-0.last:hover > a span,
+.navigation .level-0.last.hover > a span {
+  border-right: 1px solid;
+  padding-right: 20px;
+}
+.navigation .level-0.item-system > a span:after,
+.navigation .level-0.item-stores > a span:after {
+  position: absolute;
+  top: 7px;
+  right: 7px;
+  width: 10px;
+  height: 10px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: "\e02c";
+  font-size: 8px;
+  text-align: center;
+  color: #31302b;
+  z-index: 2;
+}
+.navigation .level-0.item-stores > a span:before {
+  position: absolute;
+  left: -22px;
+  top: -1px;
+  bottom: -1px;
+  height: 1.333em;
+  padding: 0 0 9px;
+  width: 21px;
+  border: 1px solid #4c483f;
+  border-right: 0;
+  border-radius: 5px 0 0 5px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  font-size: 12px;
+  line-height: 2;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e07e';
+  text-align: center;
+  color: #31302b;
+}
+.navigation .level-0.last > a,
+.navigation .level-0.last > a span {
+  border-radius: 0 5px 5px 0;
+}
+.no-js .navigation .level-0.last:hover > a span,
+.navigation .level-0.last.hover > a span,
+.navigation .level-0.last > a:focus span {
+  border-radius: 0;
+}
+/*
+    Login page
+-------------------------------------- */
+.page-login {
+  height: 100%;
+}
+.page-login .wrapper {
+  min-height: 100%;
+  padding: 0;
+}
+.page-login .wrapper-inner {
+  overflow: auto;
+  padding-bottom: 140px;
+}
+.page-login .footer {
+  clear: both;
+  height: 140px;
+  margin-top: -140px;
+  position: relative;
+}
+.page-login .footer-content {
+  max-width: none;
+  min-width: 0;
+}
+.page-login .footer-copyright {
+  text-align: right;
+}
+.page-login .form-login {
+  width: 280px;
+  margin: 160px auto 60px;
+  padding: 30px 25px;
+  border: 1px solid #e3ded5;
+  border-radius: 5px;
+  background: #f7f2ec;
+}
+.page-login .fieldset {
+  background: transparent;
+  border: 0;
+  border-radius: 0;
+  margin: 0;
+  padding: 0;
+}
+.page-login .fieldset > .legend {
+  border-bottom: 0;
+  margin-bottom: 15px;
+}
+.page-login .fieldset > .legend span {
+  font-size: 32px;
+  line-height: 32px;
+  padding: 0;
+  color: #8a847c;
+  display: inline;
+}
+.page-login .fieldset .field {
+  margin: 0 0 13px;
+}
+.page-login .form-inline .label {
+  width: auto;
+  padding: 0;
+  margin-bottom: 13px;
+}
+.page-login .field-username label,
+.page-login .field-password label,
+.page-login .field-confirmation label {
+  display: none;
+}
+.eq-ie8 .page-login .field-username label,
+.eq-ie8 .page-login .field-password label,
+.eq-ie8 .page-login .field-confirmation label {
+  display: block;
+}
+.page-login .form-inline .label + .control {
+  width: auto;
+  float: none;
+}
+.page-login .header {
+  margin-bottom: 30px;
+  background: transparent;
+  padding: 0;
+  z-index: auto;
+  position: static;
+}
+.page-login .header .logo {
+  display: block;
+  width: 262px;
+  height: 64px;
+  text-indent: -999em;
+  background: url(Magento_Backend::images/logo-magento.png) no-repeat;
+}
+/*
+.page-login .logo {
+    display: block;
+    width: 100px;
+    height: 65px;
+    margin: 0;
+    text-indent: -999em;
+    position: relative;
+    z-index: 1;
+}
+
+.page-login .logo:before,
+.page-login .logo:after {
+    font-family: 'admin-icons';
+    font-size: 65px;
+    content: '\e00d';
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    text-indent: 0;
+    line-height: 1;
+    font-weight: normal;
+}
+
+.page-login .logo:before {
+    content: '\e00d';
+    color: #f37b20;
+}
+
+.page-login .logo:after {
+    content: '\e00e';
+    color: #fab57f;
+}
+
+.page-login .logo span:before {
+    font-family: 'admin-icons';
+    content: '\e00f';
+    display: block;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 70px;
+    font-size: 154px;
+    margin-top: -42px;
+    text-indent: 0;
+    line-height: 1;
+    font-weight: normal;
+    color: #000;
+}*/
+.page-login .form-actions {
+  padding: 0;
+  margin: 0;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.page-login .actions,
+.page-login .links {
+  display: inline-block;
+  vertical-align: middle;
+}
+.page-login input[type=text],
+.page-login input[type=password] {
+  border-color: #cac3b4;
+  font-size: 18px;
+  padding: 12px 12px 14px;
+  height: auto;
+}
+.page-login :-ms-input-placeholder {
+  color: #bebab1 !important;
+}
+.page-login ::-webkit-input-placeholder {
+  color: #bebab1 !important;
+}
+.page-login :-moz-placeholder {
+  color: #bebab1 !important;
+}
+.page-login .action-login,
+.page-login .action-retrieve {
+  font-size: 22px;
+  padding: 14px 22px 16px;
+}
+.page-login .action-retrieve,
+.page-login .action-reset {
+  font-size: 18px;
+  padding: 10px 17px 10px;
+}
+.page-login .action-forgotpassword,
+.page-login .action-back {
+  font-size: 12px;
+  color: #1c8bb8;
+  text-decoration: underline;
+  position: absolute;
+  left: 0;
+  bottom: -70px;
+}
+.page-login .action-forgotpassword:hover,
+.page-login .action-back:hover {
+  text-decoration: none;
+}
+/*
+    Page title
+-------------------------------------- */
+.page-title {
+  position: relative;
+  margin: 20px 0;
+}
+.page-content > .page-title {
+  max-width: 1300px;
+  min-width: 960px;
+  margin-left: auto;
+  margin-right: auto;
+}
+.page-title-inner > .title {
+  color: #676056;
+  font-size: 28px;
+  font-weight: 400;
+  display: inline-block;
+  margin: 0;
+  width: 100%;
+  word-wrap: break-word;
+}
+.page-title-inner .title > h3 {
+  margin: 0;
+}
+.page-title-inner .actions {
+  float: right;
+}
+.page-title-inner .actions form {
+  display: inline-block;
+}
+/*
+    Messages (Global)
+-------------------------------------- */
+.message {
+  margin: 0;
+  padding: 10px 26px 10px 32px;
+  background: #f9f5ec;
+  border: 0;
+  -moz-border-radius: 0;
+  -webkit-border-radius: 0;
+  border-radius: 0;
+  color: #676056;
+  text-shadow: none;
+  border-bottom: 1px solid #c7c2b6;
+}
+.wrapper > .message {
+  padding: 0 20px;
+}
+.page-content > #messages {
+  max-width: 1300px;
+  min-width: 960px;
+  margin: 0 auto;
+}
+.message:before,
+.message-system .message-inner:before {
+  position: absolute;
+  left: 8px;
+  top: 50%;
+  margin-top: -8px;
+  background: none;
+  text-shadow: none;
+  width: auto;
+  height: auto;
+  border: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 16px;
+  content: '\e006';
+  /* notification icon */
+
+  color: #6e685e;
+}
+.messages-inbox {
+  float: right;
+}
+.messages-inbox .critical {
+  color: red;
+}
+/* System Messages */
+.message-system {
+  padding: 0;
+}
+.message-system:before {
+  display: none;
+}
+.message-system .message-inner {
+  position: relative;
+  min-width: 960px;
+  max-width: 1300px;
+  margin: 0 auto;
+}
+.message-system .message-inner:before {
+  margin-top: -10px;
+}
+.message-system .message-content {
+  padding: 10px 26px 10px 32px;
+}
+/*
+    No-javaScript-Enabled message
+-------------------------------------- */
+.message-noscript {
+  background: #ff9;
+  padding: 0;
+  border: 0;
+  box-shadow: 0 1px 2px #46433d;
+  z-index: 994;
+}
+.eq-ie8 .message-noscript {
+  border-bottom: 1px solid #46433d;
+}
+.message-noscript .message-content {
+  margin: 0 auto;
+  max-width: 1300px;
+  min-width: 960px;
+  padding: 3px 0;
+  position: relative;
+  text-align: center;
+}
+.message-noscript:before {
+  content: '';
+}
+.message-noscript .message-content:before {
+  position: relative;
+  background: none;
+  text-shadow: none;
+  width: auto;
+  height: auto;
+  vertical-align: middle;
+  border: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 32px;
+  content: '\e006';
+  /* notification icon */
+
+  color: #6e685e;
+}
+.message-demo-mode {
+  background: #d75f07;
+  border: 0;
+  color: #fff;
+  text-align: center;
+  padding: 5px 0;
+  box-shadow: 0 1px 2px #46433d;
+  z-index: 993;
+}
+.eq-ie8 .message-demo-mode {
+  border-bottom: 1px solid #46433d;
+}
+.message-demo-mode:before {
+  content: '';
+}
+.message-demo-mode .message-content {
+  margin: 0 auto;
+  max-width: 1300px;
+  min-width: 960px;
+  position: relative;
+  text-align: center;
+}
+.message-demo-mode .message-content:before {
+  position: relative;
+  background: none;
+  text-shadow: none;
+  width: auto;
+  height: auto;
+  vertical-align: middle;
+  border: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 16px;
+  content: '\e006';
+  /* notification icon */
+
+}
+/*
+    Information message
+-------------------------------------- */
+.message-info {
+  background: #fffbf0;
+  border: 1px solid #d87e34;
+  margin-bottom: 20px;
+}
+.message-info:before {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e046';
+  /* icon-info  */
+
+  color: #d87e34;
+}
+/*
+    Error message
+-------------------------------------- */
+.message-error {
+  color: #963535;
+  background: #f3dcd8;
+  border: 1px solid #963535;
+  margin-bottom: 20px;
+}
+.message-error:before {
+  content: '\e069';
+  color: #963535;
+}
+/*
+    Store Switcher
+-------------------------------------- */
+.store-switcher-alt {
+  position: relative;
+  display: inline-block;
+}
+.store-switcher-alt .dropdown-menu {
+  white-space: nowrap;
+  margin-top: 2px;
+}
+.store-switcher-alt.active .dropdown-menu {
+  display: block;
+}
+.store-switcher-alt .dropdown-menu ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.store-switcher-alt strong {
+  display: block;
+  font-size: 14px;
+  font-weight: 500;
+  line-height: 1.333;
+  color: #a6a098;
+  padding: 5px 10px;
+}
+.store-switcher-alt .store-selected {
+  font-size: 12px;
+  font-weight: 400;
+  line-height: 1.333;
+  color: #676056;
+  cursor: pointer;
+}
+.store-switcher-alt .store-selected:after {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02c';
+  /* arrow down icon */
+
+  color: #b3b0ad;
+  margin: 0 0 0 3px;
+  vertical-align: text-top;
+}
+.eq-ie8 .store-switcher-alt .store-selected:after {
+  vertical-align: middle;
+}
+.store-switcher-alt .store-switcher-website,
+.store-switcher-alt .store-switcher-store {
+  padding: 0;
+}
+.store-switcher-alt .store-switcher-website:hover,
+.store-switcher-alt .store-switcher-store:hover {
+  background: none;
+}
+.store-switcher-website {
+  margin: 5px 0 0;
+}
+.store-switcher-website > strong {
+  padding-left: 13px;
+}
+.store-switcher-store {
+  margin: 1px 0 0;
+}
+.store-switcher-store > strong {
+  padding-left: 20px;
+}
+.store-switcher-alt .store-switcher-store > ul {
+  margin-top: 1px;
+}
+.store-switcher-alt .store-switcher-store-view {
+  padding: 0;
+}
+.store-switcher-store-view:first-child {
+  border-top: 1px solid #e5e5e5;
+}
+.eq-ie8 .store-switcher-website {
+  border-bottom: 0;
+}
+.eq-ie8 .store-switcher-store-view {
+  border-bottom: 0;
+  border-top: 1px solid #e5e5e5;
+}
+.store-switcher-store-view > a {
+  display: block;
+  padding: 5px 15px 5px 24px;
+  color: #333;
+  font-size: 13px;
+  text-decoration: none;
+}
+.store-switcher-alt .store-switcher-all,
+.store-switcher-alt .manage-stores {
+  padding: 0;
+}
+.store-switcher-alt .store-switcher-all > a,
+.store-switcher-alt .manage-stores > a {
+  display: block;
+  padding: 8px 15px;
+  color: #676056;
+  text-decoration: none;
+  font-size: 12px;
+}
+/*
+    Page Structure
+-------------------------------------- */
+.wrapper {
+  padding: 0 0 60px;
+  min-width: 1000px;
+}
+.page-content {
+  margin: 0 auto;
+  padding: 0 20px;
+}
+.page-title.complex .title {
+  float: left;
+  width: 70%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.page-title.complex .store-switcher-alt {
+  float: right;
+  margin: 12px 0 0;
+}
+.side-col {
+  position: relative;
+  width: 20%;
+}
+.main-col {
+  position: relative;
+  width: 80%;
+  padding: 0 20px 20px;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.col-left {
+  float: left;
+}
+.col-right {
+  float: right;
+}
+.col-1-layout .main-col {
+  width: auto;
+}
+.col-2-left-layout .main-col,
+.col-2-right-layout .side-col {
+  float: right;
+}
+.col-2-right-layout .main-col,
+.col-2-left-layout .side-col {
+  float: left;
+}
+.col-2-left-layout,
+.col-1-layout {
+  position: relative;
+  background: #f5f2ed;
+  border: 1px solid #d5d0ca;
+  border-radius: 5px;
+  min-width: 960px;
+  max-width: 1300px;
+  margin: 0 auto;
+}
+.col-1-layout {
+  padding: 20px;
+  min-width: 920px;
+  max-width: 1260px;
+}
+.col-2-left-layout:before {
+  position: absolute;
+  display: block;
+  left: 20%;
+  top: 0;
+  bottom: 0;
+  width: 6px;
+  margin-left: -7px;
+  content: '';
+  background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
+  /* FF3.6+ */
+
+  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.06)));
+  /* Chrome,Safari4+ */
+
+  background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
+  /* Chrome10+,Safari5.1+ */
+
+  background: -o-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
+  /* Opera 11.10+ */
+
+  background: -ms-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
+  /* IE10+ */
+
+  background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
+  /* W3C */
+
+  z-index: 2;
+}
+/* Sidebar and main column vertical separator */
+.main-col:after,
+.side-col:after {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  width: 1px;
+  background: #ded9d3;
+  content: '';
+}
+.col-2-left-layout .side-col:after {
+  right: 0;
+}
+.col-2-right-layout .side-col:after {
+  left: 0;
+}
+.col-2-right-layout .main-col:after {
+  right: -1px;
+}
+.col-2-left-layout .main-col:after {
+  left: -1px;
+}
+.col-2-left-layout .main-col,
+.col-2-right-layout .main-col {
+  min-width: 730px;
+}
+/* Sidebar title and store view switcher*/
+/* TODO: temporary styles */
+.side-col h3 {
+  padding: 0 17px;
+  margin-top: 16px;
+}
+.field-store-switcher {
+  padding: 0 0 20px;
+  margin: 0;
+}
+.side-col .ui-tabs h3 {
+  margin-bottom: 5px;
+  color: #524c44;
+  text-shadow: 0 1px 0 #fff;
+}
+.side-col > .store-switcher {
+  padding-top: 6px;
+}
+.field-store-switcher,
+.field-store-switcher > .label + .control {
+  display: inline-block;
+}
+.field-store-switcher > .tooltip + div > a {
+  color: #007dbd;
+  font-size: 12px;
+  font-weight: 400;
+}
+.field-store-switcher > .tooltip + div > a:focus,
+.field-store-switcher > .tooltip + div > a:hover {
+  text-decoration: underline;
+}
+.field-store-switcher > .label {
+  margin: 0;
+}
+.side-col > .field-store-switcher {
+  padding: 19px 18px 0;
+}
+.side-col > .field-store-switcher > .label {
+  margin: 0 0 6px;
+  display: block;
+}
+.dashboard-container .field-store-switcher {
+  padding: 20px 0;
+}
+.toolbar .field-store-switcher {
+  padding: 0;
+  margin-right: 20px;
+}
+/*
+    Universal Sidebar Tabs
+-------------------------------------- */
+/* TODO: for "Product" page only while refactoring */
+.side-col .ui-tabs .ui-accordion-header {
+  position: relative;
+  margin: 10px 0 0;
+  padding: 5px 20px;
+  cursor: pointer;
+  color: #524c44;
+  text-shadow: 0 1px 0 #fff;
+}
+.side-col .ui-tabs .ui-accordion-header:focus {
+  outline: none;
+}
+.side-col .ui-accordion-header:before {
+  position: absolute;
+  left: 4px;
+  top: 7px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02a';
+  /* arrow right icon */
+
+  font-size: 14px;
+  color: #ada79e;
+}
+.side-col .ui-accordion-header:hover:before {
+  color: #777;
+}
+.side-col .ui-accordion-header-active:before {
+  content: '\e02c';
+  /* arrow down icon */
+
+}
+.side-col .tabs {
+  margin: 0 0 30px;
+  padding: 0;
+  list-style: none;
+  font-weight: 500;
+}
+.side-col > .ui-tabs > .tabs:first-child > li:first-child > a {
+  border-top-left-radius: 5px;
+}
+.side-col .tabs > li {
+  border-bottom: 1px solid #e5e1db;
+}
+.side-col .tabs > li:first-child {
+  border-top: 1px solid #e5e1db;
+}
+.side-col .tabs > li a {
+  position: relative;
+  display: block;
+  padding: 8px 18px;
+  text-decoration: none;
+  color: #676056;
+  -webkit-transition: background 0.3s ease-in-out;
+  -moz-transition: background 0.3s ease-in-out;
+  transition: background 0.3s ease-in-out;
+}
+.side-col .tabs > li a:active,
+.side-col .tabs > li a:focus {
+  outline: none;
+}
+.side-col .tabs > li a:hover {
+  background: #fff;
+}
+.side-col .tabs > .ui-state-active a {
+  border-left: 3px solid #d87e34;
+  padding-left: 15px;
+  background: #dedcd8;
+  box-shadow: 0 1px 2px #ccc inset;
+}
+.side-col .tabs > .ui-state-active a:after,
+.side-col .tabs > .ui-state-active a:before {
+  position: absolute;
+  top: 50%;
+  right: 0;
+  width: 14px;
+  margin-top: -14px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02b';
+  /* left turned triangle icon */
+
+  font-size: 22px;
+  color: #f5f2ed;
+  overflow: hidden;
+  z-index: 4;
+}
+.side-col .tabs > .ui-state-active a:before {
+  color: #bdbbb7;
+  margin-top: -13px;
+  z-index: 3;
+}
+.side-col .tabs span.error,
+.side-col .tabs span.loader {
+  display: none;
+  position: absolute;
+  right: 12px;
+  top: 7px;
+  width: 16px;
+  height: 16px;
+  font-size: 16px;
+}
+.side-col .tab-item-link.changed {
+  font-style: italic;
+}
+.side-col .tab-item-link.error span.error,
+.side-col .ui-tabs-loading span.loader {
+  display: block;
+}
+.side-col .tab-item-link.error span.error:after {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e006';
+  /* warning icon */
+
+  color: #d87e34;
+}
+.side-col .ui-tabs-loading span.loader:after {
+  background: url(../mui/images/ajax-loader-small.gif) no-repeat 50% 50%;
+  display: block;
+  content: '';
+  width: 16px;
+  height: 16px;
+}
+/* TODO: styles for navigation on System > Configuration page */
+/*
+    Horizontal Tabs
+-------------------------------------- */
+.tabs-horiz {
+  list-style: none;
+  margin: 0;
+  padding: 3px 0 0;
+}
+.tabs-horiz > li {
+  float: left;
+  border: 1px solid #e9e4db;
+  border-bottom-width: 0;
+  margin: 0 -1px 0 0;
+}
+.tabs-horiz > li a {
+  position: relative;
+  display: block;
+  padding: 7px 18px 9px;
+  text-decoration: none;
+  font-size: 12px;
+  line-height: 1.666;
+  color: #676056;
+}
+.tabs-horiz > .ui-state-active a {
+  background: #fff;
+  border-top: 3px solid #f3771e;
+  margin-top: -3px;
+  box-shadow: 1px 0 3px #e9e4db;
+}
+/*
+    System -> Configuration page navigation in sidebar
+-------------------------------------- */
+.config-nav,
+.config-nav .items {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.config-nav-block:last-child {
+  margin-bottom: 30px;
+}
+.config-nav .item {
+  border-top: 1px solid #E5E1DB;
+}
+.config-nav .item:first-child {
+  border-top: 0;
+}
+.config-nav .title {
+  margin-bottom: 0;
+  text-transform: uppercase;
+  color: #444;
+  border: solid #CCC;
+  border-width: 1px 0;
+  opacity: .8;
+  padding: 7px 17px;
+  background: #E6E3DE;
+}
+.config-nav .item-nav {
+  display: block;
+  padding: 8px 18px;
+  text-decoration: none;
+  color: #676056;
+  -webkit-transition: background 0.3s ease-in-out;
+  -moz-transition: background 0.3s ease-in-out;
+  transition: background 0.3s ease-in-out;
+}
+.config-nav .item-nav:hover {
+  background: #fff;
+}
+.config-nav .item-nav.active {
+  position: relative;
+  border-left: 3px solid #d87e34;
+  padding-left: 15px;
+  background: #dedcd8;
+  box-shadow: 0 1px 2px #ccc inset;
+}
+.config-nav .item-nav.active:after {
+  position: absolute;
+  top: 50%;
+  right: 0;
+  width: 14px;
+  margin-top: -14px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02b';
+  /* left turned triangle icon */
+
+  font-size: 22px;
+  text-shadow: -1px 1px 0 #bdbbb7;
+  color: #f5f2ed;
+  overflow: hidden;
+  z-index: 3;
+}
+/*
+    Footer
+-------------------------------------- */
+.footer {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  color: #989288;
+  font-size: 11px;
+}
+.footer-content {
+  margin: 0 auto;
+  max-width: 1300px;
+  min-width: 960px;
+  padding: 20px;
+}
+/*
+    Switcher
+-------------------------------------- */
+.switcher {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  cursor: pointer;
+  display: inline-block;
+  overflow: hidden;
+}
+.switcher input[type="checkbox"] {
+  position: absolute;
+  left: -999em;
+}
+.switcher-label {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 600;
+  text-transform: uppercase;
+}
+.switcher-label:before {
+  content: attr(data-text-off);
+}
+.switcher-label:after {
+  display: inline-block;
+  margin-left: 10px;
+  vertical-align: bottom;
+  width: 34px;
+  height: 17px;
+  background: url(../images/switcher.png) no-repeat;
+  content: '';
+}
+.switcher input[type="checkbox"]:focus + .switcher-label:after {
+  border-color: #75b9f0;
+}
+.switcher input[type="checkbox"]:checked + .switcher-label:after {
+  background-position: -34px 0;
+}
+.switcher input[type="checkbox"]:checked + .switcher-label:before {
+  content: attr(data-text-on);
+}
+.eq-ie8 .switcher-label:after {
+  content: 'off';
+  overflow: hidden;
+  white-space: nowrap;
+  text-indent: 100%;
+}
+.eq-ie8 .switcher.checked .switcher-label:after {
+  background-position: -34px 0;
+  content: 'on';
+}
+.eq-ie8 .switcher.checked .switcher-label:before {
+  content: attr(data-text-on);
+}
+/*
+    Content actions panel (with buttons, switchers...)
+-------------------------------------- */
+.page-actions {
+  padding: 0 0 20px;
+  text-align: right;
+}
+.page-actions .buttons-group {
+  vertical-align: top;
+  text-align: left;
+}
+.page-actions > .switcher {
+  display: inline-block;
+  vertical-align: top;
+  margin: 6px 10px 0 0;
+}
+.main-col .page-actions {
+  padding: 20px 0;
+}
+.page-actions .store-switcher {
+  float: left;
+}
+.catalog-product-index .page-actions {
+  padding-top: 0;
+}
+/* TODO: refactor trees */
+.x-tree ul {
+  margin: 0;
+  padding: 0;
+}
+.page-actions.fixed {
+  padding: 0 21px;
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 998;
+}
+.page-actions.fixed .page-actions-inner {
+  background: -moz-linear-gradient(top, #f5f2ed 0%, #f5f2ed 56%, rgba(245, 242, 237, 0) 100%);
+  /* FF3.6+ */
+
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f2ed), color-stop(56%, #f5f2ed), color-stop(100%, rgba(245, 242, 237, 0)));
+  /* Chrome,Safari4+ */
+
+  background: -webkit-linear-gradient(top, #f5f2ed 0%, #f5f2ed 56%, rgba(245, 242, 237, 0) 100%);
+  /* Chrome10+,Safari5.1+ */
+
+  background: -o-linear-gradient(top, #f5f2ed 0%, #f5f2ed 56%, rgba(245, 242, 237, 0) 100%);
+  /* Opera 11.10+ */
+
+  background: -ms-linear-gradient(top, #f5f2ed 0%, #f5f2ed 56%, rgba(245, 242, 237, 0) 100%);
+  /* IE10+ */
+
+  background: linear-gradient(to bottom, #f5f2ed 0%, #f5f2ed 56%, rgba(245, 242, 237, 0) 100%);
+  /* W3C */
+
+  padding: 11px 20px 11px;
+  min-height: 36px;
+  margin: 0 auto;
+  min-width: 916px;
+  max-width: 1259px;
+}
+.lt-ie10 .page-actions.fixed .page-actions-inner {
+  background: #f5f2ed;
+}
+.page-actions.fixed .page-actions-inner:before {
+  content: attr(data-title);
+  float: left;
+  font-size: 20px;
+  max-width: 50%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+/*
+    Table Grid
+-------------------------------------- */
+/* Grid - General */
+.grid-container {
+  margin-bottom: 10px;
+}
+.grid {
+  border-bottom: 0;
+  color: #676056;
+  font-size: 13px;
+  font-weight: 400;
+  padding-bottom: .5em;
+}
+.grid table {
+  border-collapse: collapse;
+  border: none;
+  width: 100%;
+}
+.grid table.border {
+  border: 1px solid #c0bbaf;
+}
+.grid tbody {
+  background: #e6e3de;
+}
+.grid tr.even,
+.grid tr.even tr {
+  background: #f5f2ed;
+}
+.grid tr.on-mouse {
+  cursor: pointer;
+}
+.grid tr.on-mouse td,
+.grid table tbody tr.on-mouse:hover td,
+.grid table tbody tr.on-mouse:hover th,
+.grid table tbody tr.on-mouse:nth-child(odd):hover td,
+.grid table tbody tr.on-mouse:nth-child(odd):hover th {
+  background-color: #fff;
+}
+/* Rows mouse-over */
+.grid tr.invalid {
+  background-color: #f5d6c7;
+}
+.grid th,
+.grid td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+.grid th {
+  border: none;
+}
+.grid td.editable input.input-text {
+  width: 50px;
+  margin-left: 4px;
+}
+.grid td input.input-text {
+  width: 86%;
+}
+.grid td input.input-inactive {
+  background: #eee;
+}
+.grid table td {
+  border: solid #c0bbaf;
+  border-width: 0 1px 1px;
+  padding: 5px;
+}
+.grid table.border td {
+  background: #fff;
+}
+.grid table td.product {
+  text-align: right;
+}
+.grid table td.empty-text {
+  border: solid #c0bbaf;
+  border-width: 0 1px;
+  color: #676056;
+  font-size: 16px;
+  font-weight: 400;
+  text-align: center;
+  padding: 15px;
+}
+.eq-ie8 .grid table td.empty-text {
+  border-width: 0 1px 1px;
+}
+.grid table tr:last-child td.empty-text {
+  border-width: 0 1px 1px;
+}
+.eq-ie8 .grid table tr td.empty-text {
+  border-width: 0 1px 1px;
+}
+.grid table td.empty-text:hover {
+  background: #e6e3de;
+}
+.grid table td .action-select {
+  width: 100%;
+}
+.grid tbody.odd tr {
+  background: #fff;
+}
+.grid tbody.even tr {
+  background: #f6f6f6;
+}
+.grid tbody.odd tr td,
+.grid tbody.even tr td {
+  border-bottom: 0;
+}
+.grid tbody.odd tr.border td,
+.grid tbody.even tr.border td {
+  border-bottom: 1px solid #dadfe0;
+}
+/*
+    Grid - Pager and Buttons row
+-------------------------------------- */
+.grid-actions {
+  border: 1px solid #c0bbaf;
+  border-bottom: 0;
+  background: #f6f3ec;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2ZjNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGVhZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f3ec), color-stop(100%, #edeae1));
+  background: -webkit-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -o-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -ms-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: linear-gradient(to bottom, #f6f3ec 0%, #edeae1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f3ec', endColorstr='#edeae1', GradientType=0);
+  padding: 7px 8px 8px;
+  position: relative;
+}
+[id$='Grid'] .separator {
+  padding: 0 4px;
+  color: #b9b9b9;
+}
+.grid-actions select {
+  margin: 0 5px;
+}
+.grid-actions .export,
+.grid-actions .filter-actions {
+  float: right;
+  margin-left: 30px;
+}
+.grid-actions .filter-actions button {
+  float: left;
+  margin-left: 4px;
+}
+.grid-actions .pager {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 400;
+}
+.grid-actions .pager select {
+  width: 5em;
+  margin: 0 4px;
+}
+.grid-actions .pager input.page {
+  width: 2em;
+}
+.pager .action-next,
+.pager .action-previous {
+  display: inline-block;
+  position: relative;
+  text-indent: 100%;
+  overflow: hidden;
+  height: 16px;
+  width: 16px;
+  vertical-align: middle;
+  text-decoration: none;
+}
+.pager .action-next:after,
+.pager .action-previous:after {
+  font-family: 'MUI-Icons';
+  content: "\e02a";
+  font-size: 16px;
+  color: #333;
+  position: absolute;
+  top: 0;
+  left: 0;
+  line-height: 1;
+  text-indent: 0;
+}
+.pager .action-previous:after {
+  content: "\e02b";
+}
+.pager span.action-next:after,
+.pager span.action-previous:after {
+  color: #7f7f7f;
+}
+.grid-actions .date {
+  float: left;
+  margin: 0 15px 0 0;
+  position: relative;
+}
+.grid-actions .date input {
+  margin: 0 5px;
+  width: 80px;
+}
+.grid-actions .required:after {
+  content: '*';
+  color: red;
+}
+/* TODO: remove styles for images when images will be replaced by font icons */
+.grid-actions img {
+  vertical-align: middle;
+  height: 22px;
+  width: 22px;
+}
+.grid-actions .pager img {
+  width: auto;
+  height: auto;
+}
+/* TODO: refactor validation fields styles after approved design comes */
+.grid-actions .validation-advice {
+  background: #f3dcd8;
+  border: 1px solid #963535;
+  border-radius: 3px;
+  color: #963535;
+  margin: 5px 0 0;
+  padding: 3px 7px;
+  position: absolute;
+  white-space: nowrap;
+  z-index: 5;
+}
+.grid-actions .validation-advice:before {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e029';
+  /* user icon */
+
+  position: absolute;
+  top: -12px;
+  left: 50%;
+  margin-left: -3px;
+}
+.grid-actions .link-feed {
+  white-space: nowrap;
+}
+/*
+    Grid - Headings
+-------------------------------------- */
+.grid tr.headings th {
+  color: #ffffff;
+  font-size: 13px;
+  font-weight: 700;
+  border-right: 1px solid #837f79;
+  padding: 0;
+  vertical-align: bottom;
+}
+.grid tr th:first-child {
+  border-left: 1px solid #837f79;
+}
+.grid tr.headings th > span {
+  display: block;
+  border-bottom: 2px solid transparent;
+  padding: 5px 5px 2px;
+  white-space: nowrap;
+}
+.grid tr.headings th:hover > span {
+  border-color: #504841;
+}
+.grid tr.headings th.no-link:hover > span,
+.grid tr.headings th.col-select:hover > span {
+  border-color: transparent;
+}
+.grid tr.headings th a label {
+  display: block;
+  padding-right: 20px;
+}
+.grid tr.headings th a {
+  display: block;
+  color: #ffffff;
+  font-size: 13px;
+  font-weight: 700;
+  position: relative;
+  text-decoration: none;
+}
+.grid tr.headings th a:after {
+  display: none;
+  height: 8px;
+  width: 15px;
+  position: absolute;
+  bottom: 4px;
+  right: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  font-size: 20px;
+  line-height: 8px;
+  -webkit-font-smoothing: antialiased;
+  content: '\e038';
+  /* arrow down icon */
+
+  color: #8c8172;
+}
+.grid tr.headings th a:hover:after {
+  display: block;
+}
+.grid tr.headings th a.sort-arrow-desc:after {
+  color: #c7b299;
+  display: block;
+}
+.grid tr.headings th a.sort-arrow-asc:after {
+  color: #c7b299;
+  content: '\e035';
+  /* arrow up icon */
+
+  display: block;
+}
+.grid tr.headings th a.sort-arrow-desc:hover:after,
+.grid tr.headings th a.sort-arrow-asc:hover:after {
+  color: #fff;
+}
+/* Grid - Filter */
+.grid .filter {
+  cursor: default;
+}
+.grid .filter th {
+  padding: 5px;
+  border-right: 1px solid #837F79;
+  vertical-align: top;
+  white-space: normal;
+}
+.grid .filter input.input-text {
+  background: #5e5a52;
+  border-radius: 2px;
+  border: none;
+  color: #bcb795;
+  padding: 0 5px;
+  height: 20px;
+  width: 99%;
+}
+.grid .filter input.input-text::-webkit-input-placeholder {
+  color: #858376 !important;
+  text-transform: lowercase;
+}
+.grid .filter input.input-text:-moz-placeholder {
+  color: #858376 !important;
+  text-transform: lowercase;
+}
+.grid .filter input.input-text::-moz-placeholder {
+  color: #858376 !important;
+  text-transform: lowercase;
+}
+:-ms-input-placeholder {
+  color: #858376 !important;
+  text-transform: lowercase;
+}
+.grid .filter select {
+  background: #5e5a52;
+  border-radius: 2px;
+  border: none;
+  color: #bcb795;
+  margin: 0;
+  padding: 0;
+  height: 20px;
+  width: 99%;
+}
+.grid td select {
+  font-family: Arial, Helvetica, sans-serif;
+  font-size: 13px;
+  padding: 4px 4px 5px;
+  text-align: left;
+}
+.grid .action-select {
+  background: #fff;
+  border: 1px solid #ccc;
+  margin: 0;
+}
+.grid .filter .range .range-line {
+  margin-bottom: 3px;
+}
+.grid .filter .range div.date {
+  min-width: 121px;
+}
+.grid .filter .range .date input {
+  margin-top: 0;
+  vertical-align: middle;
+  width: 80%;
+}
+.grid .filter .range select {
+  margin: 0;
+  color: #676056;
+  font-size: 11px;
+  font-weight: 400;
+  color: #bcb795;
+}
+.grid .filter .date {
+  position: relative;
+}
+.grid .filter .date img {
+  width: 15px;
+  height: 15px;
+  cursor: pointer;
+  vertical-align: middle;
+  margin-left: 5px;
+  position: relative;
+  z-index: 2;
+  opacity: 0;
+}
+.eq-ie8 .grid .filter .date img {
+  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
+}
+.grid .filter .date:before {
+  position: absolute;
+  left: 80%;
+  top: 1px;
+  margin-left: 5px;
+  text-shadow: none;
+  width: 16px;
+  height: 16px;
+  line-height: 16px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 16px;
+  content: '\e06a';
+  /* icon calendar  */
+
+  color: #cac3b4;
+  z-index: 1;
+}
+.grid .head-massaction select {
+  width: 50px;
+}
+/* Grid - Mass Action */
+.massaction {
+  color: #cac3b4;
+  padding: 7px 8px;
+  background: #666158;
+  box-shadow: 0 1px 2px 0 #504d46 inset, 0 -1px 2px 0 #504d46 inset;
+  overflow: hidden;
+}
+.eq-ie8 .massaction {
+  border-bottom: 2px solid #504d46;
+}
+.massaction ul {
+  list-style: none;
+  margin: 0;
+  padding: 6px 0 0;
+}
+.massaction li {
+  display: inline-block;
+}
+.massaction li:before {
+  color: #837F79;
+  content: '|';
+  display: inline-block;
+  margin: 0 5px;
+}
+.massaction li:first-child:before {
+  display: none;
+}
+.massaction .entry-edit {
+  float: right;
+  display: inline-block;
+}
+.massaction .entry-edit fieldset {
+  margin: 0;
+  padding: 0;
+  background: none;
+  border: none;
+}
+.massaction .entry-edit fieldset select {
+  border-radius: 2px;
+  margin: 0;
+}
+.massaction .entry-edit fieldset select.validation-failed {
+  border: 1px dashed #eb340a;
+  background: #faebe7;
+}
+.massaction .entry-edit .field-row {
+  display: inline-block;
+  vertical-align: middle;
+}
+.eq-ie8 .massaction .entry-edit .field-row:first-child {
+  margin-right: 1px;
+}
+.eq-ie8 .massaction .entry-edit .field-row {
+  display: inline;
+}
+.massaction .entry-edit .outer-span .entry-edit {
+  float: none;
+}
+.massaction .entry-edit .field-row label {
+  color: #cac3b4;
+  line-height: 26px;
+  margin: 0 5px 0 20px;
+  padding: 0;
+  vertical-align: middle;
+  width: auto;
+  float: none;
+}
+.massaction .entry-edit .validation-advice {
+  display: none !important;
+}
+.massaction a {
+  color: #e7e2d7;
+  text-decoration: none;
+}
+.massaction a:hover {
+  color: #fff;
+}
+/* Grid Footer */
+.grid table tfoot tr {
+  background: #656156;
+}
+.grid table tfoot tr th,
+.grid table tfoot tr td {
+  border-right: 1px solid #837f79;
+  line-height: 1.7em;
+  padding: 3px 10px;
+}
+.grid table tfoot tr th:first-child,
+.grid table tfoot tr td:first-child {
+  border-left: 1px solid #837f79;
+}
+.grid table.border tfoot tr td {
+  background: #656156;
+}
+.grid .col-price,
+.grid .col-number {
+  text-align: right;
+}
+/* Dynamic Grid */
+/* Used in pages like Catalog -> Attributes */
+.dynamic-grid th {
+  padding: 2px;
+  width: 100px;
+}
+.dynamic-grid td {
+  padding: 2px;
+}
+.dynamic-grid td input {
+  width: 94px;
+}
+tr.dynamic-grid td,
+tr.dynamic-grid th {
+  padding: 2px 10px 2px 0;
+  width: auto;
+}
+tr.dynamic-grid input.input-text {
+  width: 154px;
+}
+.available {
+  color: #080;
+  font-weight: bold;
+}
+.not-available {
+  color: #800;
+}
+.categories-side-col {
+  padding: 0 3%;
+}
+/*
+    TODO: change ids to 'table.data' after refactoring of all templates for grids
+    Manage Products Grid
+-------------------------------------- */
+#cross_sell_product_grid table.data,
+#up_sell_product_grid table.data,
+#related_product_grid table.data,
+#productGrid_table,
+#setGrid_table,
+#attributeGrid_table,
+.custom-options .data-table,
+.ui-dialog .data {
+  word-wrap: break-word;
+  table-layout: fixed;
+}
+#cross_sell_product_grid table.data th,
+#up_sell_product_grid table.data th,
+#related_product_grid table.data th,
+#productGrid_table th,
+#setGrid_table th,
+#attributeGrid_table th,
+.custom-options .data-table th,
+.ui-dialog .data th {
+  word-wrap: normal;
+  overflow: hidden;
+  vertical-align: top;
+}
+#cross_sell_product_grid table.data th > span,
+#up_sell_product_grid table.data th > span,
+#related_product_grid table.data th > span,
+#productGrid_table th > span,
+#setGrid_table th > span,
+#attributeGrid_table th > span,
+.custom-options .data-table th > span,
+.ui-dialog .data th > span {
+  white-space: normal;
+}
+/* will be deleted after checking entire back-end
+table .col-draggable {
+    width: 1%;
+}
+
+table .col-default,
+table .col-select,
+table .col-qty,
+table .col-actions,
+table .col-action,
+table .col-id,
+table .col-uqty.qty-box {
+    width: 5%;
+}
+
+table .col-visibility,
+table .col-status,
+table .col-websites,
+table .col-position {
+    width: 7%;
+}
+
+table .col-type,
+table .col-price,
+table .col-attr-name {
+    width: 8%;
+}
+
+table .col-name,
+table .col-sku {
+    width: 15%;
+}
+
+table .col-attribute_code,
+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 {
+  text-align: left;
+}
+/*
+    Data table
+-------------------------------------- */
+.data-table {
+  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,
+.accordion .config .data-table thead th,
+.accordion .config .data-table tfoot td {
+  background: #fff;
+  color: #676056;
+  font-size: 13px;
+  font-weight: 600;
+}
+.data-table th {
+  border-color: #c9c2b8;
+  border-width: 0 0 1px;
+  padding: 7px;
+}
+.data-table td,
+.data-table tbody tr td,
+.accordion .config .data-table td {
+  background: #fff;
+  padding: 5px 7px;
+  color: #676056;
+  font-size: 14px;
+  font-weight: 400;
+  vertical-align: middle;
+  border: solid #eae8e4;
+  border-width: 0 0 1px;
+}
+.eq-ie8 .data-table td,
+.eq-ie8 .data-table tbody tr td {
+  border-width: 0 0 1px;
+}
+.eq-ie8 .data-table td > .field {
+  margin-bottom: 0;
+}
+.data-table tbody tr.selected td,
+.data-table tbody tr.selected th,
+.data-table tbody tr:hover td,
+.data-table tbody tr:hover th {
+  background: #fff;
+}
+.data-table tbody tr:nth-child(odd) td,
+.data-table tbody tr:nth-child(odd):hover td,
+.accordion .config .data-table tbody tr:nth-child(odd) td {
+  background: #fbfaf6;
+}
+.data-table tbody tr.odd td {
+  background: #fbfaf6;
+}
+.data-table tfoot tr:last-child td,
+.data-table tfoot tr:last-child th,
+.accordion .config .data-table tfoot tr:last-child td {
+  border: 0;
+}
+.eq-ie8 .data-table tfoot tr td {
+  border: none;
+}
+.data-table input[type="text"] {
+  width: 98%;
+  padding-left: 1%;
+  padding-right: 1%;
+}
+.data-table select {
+  margin: 0;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  border-radius: 4px;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.data-table th.required-entry:after,
+.data-table td.required-entry:after {
+  content: '*';
+  color: red;
+}
+.data-table .col-actions .actions-split {
+  margin-top: 4px;
+}
+.data-table .col-actions .actions-split [class^='action-'] {
+  background: none;
+  border: 1px solid #c8c3b5;
+  padding: 3px 5px;
+  color: #bbb3a6;
+  font-size: 12px;
+}
+.data-table .col-actions .actions-split [class^='action-']:first-child {
+  border-right: 0;
+}
+.data-table .col-actions .actions-split .dropdown-menu {
+  margin-top: -1px;
+}
+.data-table .col-actions .actions-split .dropdown-menu a {
+  display: block;
+  color: #333;
+  text-decoration: none;
+}
+.data-table .col-actions .actions-split.active .action-toggle {
+  position: relative;
+  border-bottom-right-radius: 0;
+  box-shadow: none;
+  background: #fff;
+}
+.data-table .col-actions .actions-split.active .action-toggle:after {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  right: 0;
+  height: 2px;
+  margin-top: -1px;
+  background: #fff;
+  content: '';
+  z-index: 2;
+}
+.data-table .col-actions .actions-split.active .dropdown-menu {
+  border-top-right-radius: 0;
+}
+/*
+    Data table - alternative view
+-------------------------------------- */
+.customer-information .data-table,
+.order-information .data-table,
+.order-account-information .data-table,
+.adminhtml-rma-new .data-table {
+  width: 100%;
+}
+.customer-information .data-table tbody tr th,
+.order-information .data-table tbody tr th,
+.order-account-information .data-table tbody tr th,
+.adminhtml-rma-new .data-table tbody tr th,
+[class^=" sales-transactions-"] .data-table tbody tr th,
+[class^=" sales-"] .order-payment-method .data-table tbody tr th,
+[class^=" sales-billing-agreement-"] .log-details .data-table tbody tr th {
+  font-weight: bold;
+}
+.customer-information .data-table tbody tr td,
+.customer-information .data-table tbody tr th,
+.order-information .data-table tbody tr td,
+.order-information .data-table tbody tr th,
+.order-account-information .data-table tbody tr td,
+.order-account-information .data-table tbody tr th,
+[class^=" adminhtml-rma-"] .data-table tbody tr td,
+[class^=" adminhtml-rma-"] .data-table tbody tr th,
+[class^=" sales-transactions-"] .data-table tbody tr th,
+[class^=" sales-transactions-"] .data-table tbody tr td,
+[class^=" sales-"] .order-payment-method .data-table tbody tr th,
+[class^=" sales-"] .order-payment-method .data-table tbody tr td,
+[class^=" sales-billing-agreement-"] .log-details .data-table tbody tr th,
+[class^=" sales-billing-agreement-"] .log-details .data-table tbody tr td {
+  background-color: #fff;
+  border: 0;
+  padding: 9px 10px 10px;
+  color: #666;
+  vertical-align: top;
+}
+.customer-information .data-table tbody tr:nth-child(2n+1) td,
+.customer-information .data-table tbody tr:nth-child(2n+1) th,
+.order-information .data-table tbody tr:nth-child(2n+1) td,
+.order-information .data-table tbody tr:nth-child(2n+1) th,
+.order-account-information .data-table tbody tr:nth-child(2n+1) td,
+.order-account-information .data-table tbody tr:nth-child(2n+1) th,
+[class^=" adminhtml-rma-"] .data-table tbody tr:nth-child(2n+1) td,
+[class^=" adminhtml-rma-"] .data-table tbody tr:nth-child(2n+1) th,
+[class^=" sales-transactions-"] .data-table tbody tr:nth-child(2n+1) th,
+[class^=" sales-transactions-"] .data-table tbody tr:nth-child(2n+1) td,
+[class^=" sales-"] .order-payment-method .data-table tbody tr:nth-child(2n+1) th,
+[class^=" sales-"] .order-payment-method .data-table tbody tr:nth-child(2n+1) td,
+[class^=" sales-billing-agreement-"] .log-details .data-table tbody tr:nth-child(2n+1) th,
+[class^=" sales-billing-agreement-"] .log-details .data-table tbody tr:nth-child(2n+1) td {
+  background-color: #fbfaf6;
+}
+.eq-ie8 .customer-information .data-table tbody tr td,
+.eq-ie8 .customer-information .data-table tbody tr th,
+.eq-ie8 .order-information .data-table tbody tr td,
+.eq-ie8 .order-information .data-table tbody tr th,
+.eq-ie8 .order-account-information .data-table tbody tr td,
+.eq-ie8 .order-account-information .data-table tbody tr th,
+.eq-ie8 [class^=" adminhtml-rma-"] .data-table tbody tr td,
+.eq-ie8 [class^=" adminhtml-rma-"] .data-table tbody tr th,
+.eq-ie8 [class^=" sales-transactions-"] .data-table tbody tr th,
+.eq-ie8 [class^=" sales-transactions-"] .data-table tbody tr td,
+.eq-ie8 [class^=" sales-"] .order-payment-method .data-table tbody tr th,
+.eq-ie8 [class^=" sales-"] .order-payment-method .data-table tbody tr td,
+.eq-ie8 [class^=" sales-billing-agreement-"] .log-details .data-table tbody tr th,
+.eq-ie8 [class^=" sales-billing-agreement-"] .log-details .data-table tbody tr td {
+  border-bottom: 1px solid #ededed;
+}
+/*
+    Content alignments in tables
+-------------------------------------- */
+/* left */
+.col-website,
+.col-name,
+.col-sku,
+.col-color,
+.col-size,
+.col-product,
+.col-comment,
+.col-actions,
+.col-status {
+  text-align: left;
+}
+/* center */
+.col-include,
+.col-display,
+.col-image,
+.col-no-records,
+.col-select,
+.col-default,
+.col-uqty {
+  text-align: center;
+}
+/* right */
+.col-qty,
+.col-weight,
+.col-price,
+.col-price > input,
+.col-id,
+.col-total,
+.col-average {
+  text-align: right;
+}
+/*
+    Attribute Information
+-------------------------------------- */
+.data-table .col-default {
+  white-space: nowrap;
+  text-align: center;
+  vertical-align: middle;
+}
+.data-table .col-delete {
+  text-align: center;
+  width: 32px;
+}
+.data-table .col-file {
+  white-space: nowrap;
+}
+.data-table .col-file input {
+  margin: 0 5px;
+  width: 40%;
+}
+.data-table .col-file input:first-child {
+  margin-left: 0;
+}
+/*
+    Website store views tree
+-------------------------------------- */
+.store-tree .website-name {
+  font-size: 14px;
+  font-weight: bold;
+}
+.store-tree .webiste-groups {
+  margin: 5px 0 20px 18px;
+}
+.store-tree .webiste-groups dt {
+  font-weight: bold;
+}
+.store-tree .webiste-groups dd {
+  margin: 5px 0 15px 15px;
+}
+.store-tree .webiste-groups dd > ul {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+.store-tree .webiste-groups dd > ul > li {
+  margin: 0 0 5px;
+}
+/*
+    Customer Reviews
+-------------------------------------- */
+.field-detailed_rating .control-value {
+  padding: 0;
+}
+.field-detailed_rating .nested {
+  padding: 0;
+}
+.field-detailed_rating .field-rating {
+  margin: 15px 0 0 0;
+}
+.field-detailed_rating .field-rating:first-child {
+  margin-top: 0;
+}
+.field-detailed_rating .field-rating .label {
+  width: 75px;
+}
+.field-detailed_rating .field-rating .control {
+  unicode-bidi: bidi-override;
+  direction: rtl;
+  width: 125px;
+}
+.field-detailed_rating input[type="radio"] {
+  display: none;
+}
+.field-detailed_rating .field-rating .control label {
+  color: #ccc;
+  cursor: pointer;
+  font-size: 18px;
+  float: right;
+  overflow: hidden;
+  white-space: nowrap;
+  width: 18px;
+  -webkit-transition: color 150ms linear;
+  -moz-transition: color 150ms linear;
+  -o-transition: color 150ms linear;
+  -ms-transition: color 150ms linear;
+  transition: color 150ms linear;
+}
+/*
+    Tree Store Scope
+-------------------------------------- */
+.tree-store-scope .buttons-set {
+  margin-bottom: 9px;
+}
+.tree-store-scope .buttons-set button {
+  margin-right: 4px;
+}
+.tree-store-scope .field {
+  margin: 0 0 5px;
+}
+.tree-store-scope [class^="field field-website_"] .label,
+.tree-store-scope [class^="field field-group_"] .label,
+.tree-store-scope [class^="field field-w_"] .label,
+.tree-store-scope [class^="field field-sg_"] .label {
+  text-align: left;
+  font-size: 18px;
+  padding-right: 0;
+  width: auto;
+}
+.tree-store-scope [class^="field field-group_"] .label,
+.tree-store-scope [class^="field field-sg_"] .label {
+  padding-left: 20px;
+}
+.tree-store-scope .field input[type="checkbox"] {
+  margin-right: 3px;
+  position: relative;
+  top: 2px;
+}
+.tree-store-scope .field .addafter {
+  display: inline-block;
+  padding-top: 6px;
+}
+.tree-store-scope .tooltip .help {
+  margin-top: 11px;
+}
+/*
+    Product Massaction page
+    TODO: css code below should be removed after element.html refactoring
+-------------------------------------- */
+.attributes-edit-form .attribute-change-checkbox {
+  white-space: nowrap;
+  display: block;
+}
+.attributes-edit-form .attribute-change-checkbox > label > input {
+  width: auto;
+}
+.attributes-edit-form .field:last-child,
+.attributes-edit-form .field-name,
+.attributes-edit-form .field.type-price,
+.attributes-edit-form .field-price,
+.attributes-edit-form .field-special_price,
+.attributes-edit-form .field-meta_title,
+.attributes-edit-form .field-visibility,
+.attributes-edit-form .field-custom_design,
+.attributes-edit-form .field-page_layout,
+.attributes-edit-form .field-options_container,
+.attributes-edit-form .field-country_of_manufacture,
+.attributes-edit-form .field-msrp_display_actual_price_type,
+.attributes-edit-form .field-tax_class_id,
+.attributes-edit-form .field-is_returnable,
+.attributes-edit-form .field-msrp,
+.attributes-edit-form .field-gift_wrapping_price {
+  margin-bottom: 50px;
+}
+.attributes-edit-form .field .control {
+  position: relative;
+}
+.attributes-edit-form .field-name .attribute-change-checkbox,
+.attributes-edit-form .field-meta_title .attribute-change-checkbox,
+.attributes-edit-form .field-gift_wrapping_price .attribute-change-checkbox,
+.attributes-edit-form .field .control select + .addafter {
+  position: absolute;
+  left: 0;
+  top: 35px;
+}
+.attributes-edit-form .field.type-price .attribute-change-checkbox,
+.attributes-edit-form .field-price .attribute-change-checkbox,
+.attributes-edit-form .field-special_price .attribute-change-checkbox,
+.attributes-edit-form .field-msrp .attribute-change-checkbox {
+  position: absolute;
+  top: 35px;
+}
+.attributes-edit-form .field-special_from_date > .control .input-text,
+.attributes-edit-form .field-special_to_date > .control .input-text,
+.attributes-edit-form .field-news_from_date > .control .input-text,
+.attributes-edit-form .field-news_to_date > .control .input-text,
+.attributes-edit-form .field-custom_design_from > .control .input-text,
+.attributes-edit-form .field-custom_design_to > .control .input-text {
+  border-width: 1px;
+  border-radius: 4px;
+  width: 130px;
+}
+.attributes-edit-form .field-special_from_date .attribute-change-checkbox,
+.attributes-edit-form .field-special_to_date .attribute-change-checkbox,
+.attributes-edit-form .field-news_from_date .attribute-change-checkbox,
+.attributes-edit-form .field-news_to_date .attribute-change-checkbox,
+.attributes-edit-form .field-custom_design_from .attribute-change-checkbox,
+.attributes-edit-form .field-custom_design_to .attribute-change-checkbox {
+  margin-top: 5px;
+}
+.attributes-edit-form .field-weight .fields-group-2 .control {
+  width: 160px;
+}
+.attributes-edit-form .field-weight .fields-group-2 .control > input {
+  width: 130px;
+  float: left;
+}
+.attributes-edit-form .field-weight .fields-group-2 .control > input + .addafter {
+  position: absolute;
+  top: 35px;
+}
+.attributes-edit-form .field-weight .fields-group-2 .control .addafter strong {
+  line-height: 26px;
+}
+.attributes-edit-form .field .control select {
+  border-radius: 4px;
+}
+.attributes-edit-form .field-gift_message_available .addon > .select,
+.attributes-edit-form .field-gift_wrapping_available .addon > .select {
+  margin-bottom: 25px;
+}
+.attributes-edit-form .field-gift_message_available .addon > input[type="checkbox"],
+.attributes-edit-form .field-gift_wrapping_available .addon > input[type="checkbox"] {
+  width: auto;
+  margin-right: 5px;
+}
+/*
+    Widgets
+-------------------------------------- */
+.widget-layout-updates .fieldset-wrapper,
+.widget-layout-updates .data-table {
+  margin: 0 0 18px;
+}
+.widget-layout-updates .fieldset-wrapper-title label {
+  padding: 10px 0 0;
+}
+.widget-layout-updates .fieldset-wrapper-title select {
+  margin: 3px 10px 5px;
+}
+.widget-layout-updates .fieldset-wrapper-title span,
+.widget-layout-updates .fieldset-wrapper-title select {
+  vertical-align: middle;
+}
+.widget-layout-updates .data-table {
+  table-layout: fixed;
+}
+.eq-ie8 .widget-layout-updates .data-table {
+  table-layout: auto;
+}
+.widget-layout-updates .data-table,
+.widget-layout-updates .data-table tr:nth-child(odd) td,
+.widget-layout-updates .data-table tr:nth-child(odd):hover td {
+  background: none;
+  border: none;
+}
+.widget-layout-updates .data-table th,
+.widget-layout-updates .data-table tbody td {
+  border: none;
+  padding: 5px 10px;
+  vertical-align: top;
+}
+.widget-layout-updates .data-table select {
+  margin: 0;
+  max-width: 99%;
+  overflow: hidden;
+}
+.widget-layout-updates .chooser_container {
+  padding: 0 10px;
+  margin-bottom: 18px;
+}
+.widget-layout-updates .chooser_container p {
+  margin: 0 0 18px;
+}
+.widget-layout-updates .chooser_container p img,
+.widget-layout-updates .chooser_container p input {
+  vertical-align: middle;
+}
+/*
+    Preview window
+-------------------------------------- */
+.preview-window {
+  background: #fff;
+}
+.preview-window .toolbar {
+  background: #f5f2ed;
+  padding: 20px;
+}
+.preview-window .toolbar .switcher {
+  margin: 0;
+}
+.preview-window .toolbar .switcher span {
+  background: none;
+  width: auto;
+}
+/*
+    Global 'No Products found' block
+-------------------------------------- */
+.no-products-message {
+  background: #fbfaf6;
+  padding: 12px;
+  text-align: center;
+  font-size: 12px;
+  color: #666;
+  margin-bottom: 13px;
+}
+/*
+    WYSIWYG
+-------------------------------------- */
+.action-wysiwyg {
+  margin: 10px 0;
+}
+#catalog-wysiwyg-editor .buttons-set {
+  margin-bottom: 9px;
+}
+#catalog-wysiwyg-editor .buttons-set button {
+  margin-right: 4px;
+}
+/*
+    System Messages
+-------------------------------------- */
+.message-system {
+  min-width: 960px;
+  max-width: 1300px;
+  margin: 0 auto;
+  overflow: hidden;
+}
+.message-system-inner {
+  background: #f7f3eb;
+  border: 1px solid #c0bbaf;
+  border-top: 0;
+  border-radius: 0 0 5px 5px;
+  float: right;
+  overflow: hidden;
+}
+.message-system-unread .message-system-inner {
+  float: none;
+}
+.message-system-list {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  float: left;
+}
+.message-system .message-system-list {
+  width: 75%;
+}
+.message-system-list li {
+  padding: 5px 13px 7px 36px;
+  position: relative;
+}
+.message-system-short {
+  padding: 5px 13px 7px;
+  float: right;
+}
+.message-system-short span {
+  display: inline-block;
+  margin-left: 7px;
+  border-left: 1px #d1ccc3 solid;
+}
+.message-system-short span:first-child {
+  border: 0;
+  margin-left: 0;
+}
+.message-system-short a {
+  padding-left: 27px;
+  position: relative;
+  height: 16px;
+}
+.message-system .message-system-short a:before,
+.message-system-list li:before {
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  height: 16px;
+  width: 16px;
+  font-size: 16px;
+  line-height: 16px;
+  text-align: center;
+  position: absolute;
+  left: 7px;
+  top: 2px;
+}
+.message-system-list li:before {
+  top: 5px;
+  left: 13px;
+}
+.message-system .message-system-short .warning a:before,
+.message-system-list li.warning:before {
+  content: "\e006";
+  color: #f2a825;
+}
+.message-system .message-system-short .error a:before,
+.message-system-list li.error:before {
+  content: "\e086";
+  font-family: 'MUI-Icons';
+  color: #c00815;
+}
+.ui-dialog .message-system-list {
+  margin-bottom: 25px;
+}
+/*
+    Add Attribute Popup
+-------------------------------------- */
+#create_new_attribute {
+  overflow: hidden;
+}
+#create_new_attribute > .loading-mask {
+  left: -25px;
+  top: -50px;
+}
+.attribute-popup {
+  background: none;
+}
+.attribute-popup #edit_form > .fieldset > .legend {
+  display: none;
+}
+.attribute-popup .wrapper-popup {
+  padding: 0;
+  height: 511px;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+.attribute-popup .fieldset,
+.attribute-popup .fieldset-wrapper {
+  border: none;
+  border-radius: 0;
+  padding: 4px 0 20px;
+  margin: 0 23px 20px;
+}
+.attribute-popup .fieldset-wrapper {
+  border-top: none;
+}
+.attribute-popup .fieldset-wrapper .fieldset-wrapper-title {
+  border-bottom: none;
+}
+.attribute-popup .fieldset-wrapper .fieldset-wrapper-content > .fieldset {
+  margin-left: 0;
+  margin-right: 0;
+}
+.attribute-popup .fieldset > .field > input[type="checkbox"] {
+  margin-top: 7px;
+}
+.attribute-popup .fieldset .label {
+  width: 35%;
+}
+.attribute-popup .collapsable-wrapper,
+#manage-titles-wrapper .fieldset-wrapper-title {
+  margin-bottom: 0;
+  padding-bottom: 0;
+}
+.attribute-popup .collapsable-wrapper .fieldset-wrapper-title > .title:before {
+  color: #797269;
+  font-size: 14px;
+  top: 9px;
+}
+.attribute-popup form .entry-edit:first-child .fieldset {
+  border-bottom: 1px solid #dfdcd7;
+}
+.attribute-popup .fieldset .legend {
+  border: none;
+}
+.attribute-popup .page-actions {
+  position: fixed;
+  top: auto !important;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: #fff;
+  padding: 27px 50px 25px 23px;
+  border-top: 1px solid #dfdcd7;
+}
+.attribute-popup .page-actions [class^='action-'] {
+  margin-left: 18px;
+}
+.attribute-popup #base_fieldset {
+  padding-top: 20px;
+}
+.attribute-popup #base_fieldset > .legend {
+  display: none;
+}
+.attribute-popup .page-actions #reset,
+.attribute-popup .page-actions #reset:hover,
+.attribute-popup .page-actions #reset:active,
+.attribute-popup .page-actions #reset:focus {
+  float: right;
+  vertical-align: middle;
+  margin: 5px 0 0 18px;
+}
+.attribute-popup .page-actions-placeholder {
+  display: none;
+}
+.attribute-popup .page-actions.fixed .page-actions-inner {
+  background: #fff;
+  padding: 0;
+  min-width: 100%;
+  max-width: 100%;
+  min-height: 100%;
+  margin: 0;
+}
+.attribute-popup .footer {
+  display: none;
+}
+#manage-options-panel > .data-table {
+  clear: both;
+}
+.CustomGridView .col-1-layout,
+.sales-order-index .col-1-layout,
+.adminhtml-rma-index .col-1-layout,
+.adminhtml-catalog-event-index .col-1-layout,
+.adminhtml-urlrewrite-index .col-1-layout,
+.catalog-search-index .col-1-layout,
+.catalog-product-review-index .col-1-layout,
+.catalog-rule-promo-catalog-index .col-1-layout,
+.sales-rule-promo-quote-index .col-1-layout,
+.adminhtml-reminder-index .col-1-layout,
+.adminhtml-newsletter-template-index .col-1-layout,
+.adminhtml-system-email-template-index .col-1-layout,
+.adminhtml-sitemap-index .col-1-layout,
+.adminhtml-googleshopping-types-index .col-1-layout,
+.customer-index-index .col-1-layout,
+.adminhtml-cms-page-index .col-1-layout,
+.cms-block-index .col-1-layout,
+.adminhtml-banner-index .col-1-layout,
+.adminhtml-widget-instance-index .col-1-layout,
+.cms-page-index .col-1-layout,
+.adminhtml-webapi-user-index .col-1-layout,
+.adminhtml-webapi-role-index .col-1-layout,
+.adminhtml-system-variable-index .col-1-layout,
+.adminhtml-user-index .col-1-layout,
+.adminhtml-user-role-index .col-1-layout,
+.adminhtml-webhook-subscription-index .col-1-layout,
+.adminhtml-integration-index .col-1-layout,
+.adminhtml-system-design-theme-index .col-1-layout,
+.adminhtml-system-design-index .col-1-layout,
+.adminhtml-customer-attribute-index .col-1-layout,
+.adminhtml-customer-address-attribute-index .col-1-layout,
+.rating-index-index .col-1-layout,
+.tax-rule-index .col-1-layout,
+.tax-rate-index .col-1-layout,
+.adminhtml-rma-item-attribute-index .col-1-layout,
+.adminhtml-reward-rate-index .col-1-layout,
+.customer-group-index .col-1-layout,
+.checkout-agreement-index .col-1-layout,
+.catalog-product-attribute-index .col-1-layout,
+.catalog-product-set-index .col-1-layout,
+.catalog-product-index .col-1-layout,
+.sales-invoice-index .col-1-layout,
+.sales-shipment-index .col-1-layout,
+.sales-creditmemo-index .col-1-layout,
+.sales-billing-agreement-index .col-1-layout,
+.sales-transactions-index .col-1-layout,
+.sales-recurring-profile-index .col-1-layout,
+.adminhtml-googleshopping-items-index .col-1-layout,
+.customer-online-index .col-1-layout,
+.adminhtml-newsletter-queue-index .col-1-layout,
+.adminhtml-newsletter-subscriber-index .col-1-layout,
+.adminhtml-report-shopcart-product .col-1-layout,
+.adminhtml-report-shopcart-abandoned .adminhtml-report-product-downloads .col-1-layout,
+.adminhtml-report-product-sold .col-1-layout,
+.adminhtml-report-product-lowstock .col-1-layout,
+.adminhtml-report-customer-accounts .col-1-layout,
+.adminhtml-report-customer-totals .col-1-layout,
+.adminhtml-report-customer-orders .col-1-layout,
+.adminhtml-report-customer-wishlist-wishlist .col-1-layout,
+.adminhtml-report-review-customer .col-1-layout,
+.adminhtml-report-review-product .col-1-layout,
+.adminhtml-report-search .col-1-layout,
+.adminhtml-report-statistics-index .col-1-layout,
+.adminhtml-newsletter-problem-index .col-1-layout,
+.adminhtml-system-store-index .col-1-layout,
+.sales-order-status-index .col-1-layout,
+.adminhtml-system-currency-index .col-1-layout,
+.adminhtml-system-currencysymbol-index .col-1-layout,
+.adminhtml-scheduled-operation-index .col-1-layout,
+.adminhtml-cache-index .col-1-layout,
+.adminhtml-system-backup-index .col-1-layout,
+.adminhtml-locks-index .col-1-layout,
+.adminhtml-notification-index .col-1-layout,
+.adminhtml-logging-archive .col-1-layout,
+.adminhtml-logging-index .col-1-layout,
+.adminhtml-process-list .col-1-layout,
+.catalog-product-index .col-1-layout {
+  padding: 0;
+  background: transparent;
+  border: 0;
+  border-radius: 0;
+  max-width: 1300px;
+  min-width: 960px;
+}
+.CustomGridAction .grid-actions,
+.sales-order-index .grid-actions,
+.adminhtml-rma-index .grid-actions,
+.adminhtml-catalog-event-index .grid-actions,
+.adminhtml-urlrewrite-index .grid-actions,
+.catalog-search-index .grid-actions,
+.catalog-product-review-index .grid-actions,
+.catalog-rule-promo-catalog-index .grid-actions,
+.sales-rule-promo-quote-index .grid-actions,
+.adminhtml-reminder-index .grid-actions,
+.adminhtml-newsletter-template-index .grid-actions,
+.adminhtml-system-email-template-index .grid-actions,
+.adminhtml-sitemap-index .grid-actions,
+.adminhtml-googleshopping-types-index .grid-actions,
+.customer-index-index .grid-actions,
+.adminhtml-cms-page-index .grid-actions,
+.cms-block-index .grid-actions,
+.adminhtml-banner-index .grid-actions,
+.adminhtml-widget-instance-index .grid-actions,
+.cms-page-index .grid-actions,
+.adminhtml-webapi-user-index .grid-actions,
+.adminhtml-webapi-role-index .grid-actions,
+.adminhtml-system-variable-index .grid-actions,
+.adminhtml-user-index .grid-actions,
+.adminhtml-user-role-index .grid-actions,
+.adminhtml-webhook-subscription-index .grid-actions,
+.adminhtml-integration-index .grid-actions,
+.adminhtml-system-design-theme-index .grid-actions,
+.adminhtml-system-design-index .grid-actions,
+.adminhtml-customer-attribute-index .grid-actions,
+.adminhtml-customer-address-attribute-index .grid-actions,
+.rating-index-index .grid-actions,
+.tax-rule-index .grid-actions,
+.tax-rate-index .grid-actions,
+.adminhtml-rma-item-attribute-index .grid-actions,
+.adminhtml-reward-rate-index .grid-actions,
+.customer-group-index .grid-actions,
+.checkout-agreement-index .grid-actions,
+.catalog-product-attribute-index .grid-actions,
+.catalog-product-set-index .grid-actions,
+.catalog-product-index .grid-actions {
+  border-radius: 5px 5px 0 0;
+  margin-top: 20px;
+  padding: 9px 16px 9px 65px;
+}
+.CustomGridAction .page-actions.fixed,
+.sales-order-index .page-actions.fixed,
+.adminhtml-rma-index .page-actions.fixed,
+.adminhtml-catalog-event-index .page-actions.fixed,
+.adminhtml-urlrewrite-index .page-actions.fixed,
+.catalog-search-index .page-actions.fixed,
+.catalog-product-review-index .page-actions.fixed,
+.catalog-rule-promo-catalog-index .page-actions.fixed,
+.sales-rule-promo-quote-index .page-actions.fixed,
+.adminhtml-reminder-index .page-actions.fixed,
+.adminhtml-newsletter-template-index .page-actions.fixed,
+.adminhtml-system-email-template-index .page-actions.fixed,
+.adminhtml-sitemap-index .page-actions.fixed,
+.adminhtml-googleshopping-types-index .page-actions.fixed,
+.customer-index-index .page-actions.fixed,
+.adminhtml-cms-page-index .page-actions.fixed,
+.cms-block-index .page-actions.fixed,
+.adminhtml-banner-index .page-actions.fixed,
+.adminhtml-widget-instance-index .page-actions.fixed,
+.cms-page-index .page-actions.fixed,
+.adminhtml-webapi-user-index .page-actions.fixed,
+.adminhtml-webapi-role-index .page-actions.fixed,
+.adminhtml-system-variable-index .page-actions.fixed,
+.adminhtml-user-index .page-actions.fixed,
+.adminhtml-user-role-index .page-actions.fixed,
+.adminhtml-webhook-subscription-index .page-actions.fixed,
+.adminhtml-integration-index .page-actions.fixed,
+.adminhtml-system-design-theme-index .page-actions.fixed,
+.adminhtml-system-design-index .page-actions.fixed,
+.adminhtml-customer-attribute-index .page-actions.fixed,
+.adminhtml-customer-address-attribute-index .page-actions.fixed,
+.rating-index-index .page-actions.fixed,
+.tax-rule-index .page-actions.fixed,
+.tax-rate-index .page-actions.fixed,
+.adminhtml-rma-item-attribute-index .page-actions.fixed,
+.adminhtml-reward-rate-index .page-actions.fixed,
+.customer-group-index .page-actions.fixed,
+.checkout-agreement-index .page-actions.fixed,
+.catalog-product-attribute-index .page-actions.fixed,
+.catalog-product-set-index .page-actions.fixed,
+.catalog-product-index .page-actions.fixed {
+  left: 0;
+  margin: 0;
+  padding: 0 21px;
+  position: fixed;
+}
+.CustomGridAction .page-actions,
+.sales-order-index .page-actions,
+.adminhtml-rma-index .page-actions,
+.adminhtml-catalog-event-index .page-actions,
+.adminhtml-urlrewrite-index .page-actions,
+.catalog-search-index .page-actions,
+.catalog-product-review-index .page-actions,
+.catalog-rule-promo-catalog-index .page-actions,
+.sales-rule-promo-quote-index .page-actions,
+.adminhtml-reminder-index .page-actions,
+.adminhtml-newsletter-template-index .page-actions,
+.adminhtml-system-email-template-index .page-actions,
+.adminhtml-sitemap-index .page-actions,
+.adminhtml-googleshopping-types-index .page-actions,
+.customer-index-index .page-actions,
+.adminhtml-cms-page-index .page-actions,
+.cms-block-index .page-actions,
+.adminhtml-banner-index .page-actions,
+.adminhtml-widget-instance-index .page-actions,
+.cms-page-index .page-actions,
+.adminhtml-webapi-user-index .page-actions,
+.adminhtml-webapi-role-index .page-actions,
+.adminhtml-system-variable-index .page-actions,
+.adminhtml-user-index .page-actions,
+.adminhtml-user-role-index .page-actions,
+.adminhtml-webhook-subscription-index .page-actions,
+.adminhtml-integration-index .page-actions,
+.adminhtml-system-design-theme-index .page-actions,
+.adminhtml-system-design-index .page-actions,
+.adminhtml-customer-attribute-index .page-actions,
+.adminhtml-customer-address-attribute-index .page-actions,
+.rating-index-index .page-actions,
+.tax-rule-index .page-actions,
+.tax-rate-index .page-actions,
+.adminhtml-rma-item-attribute-index .page-actions,
+.adminhtml-reward-rate-index .page-actions,
+.customer-group-index .page-actions,
+.checkout-agreement-index .page-actions,
+.catalog-product-attribute-index .page-actions,
+.catalog-product-set-index .page-actions,
+.catalog-product-index .page-actions {
+  position: absolute;
+  z-index: 2;
+  margin-top: 10px;
+  margin-left: 15px;
+  padding: 0;
+}
+.adminhtml-googleshopping-items-index .grid-title,
+.adminhtml-system-backup-index .page-actions,
+.adminhtml-scheduled-operation-index .page-actions,
+.adminhtml-system-currency-index .page-actions,
+.adminhtml-system-currencysymbol-index .page-actions,
+.adminhtml-cache-index .page-actions,
+.adminhtml-system-store-index .page-actions,
+.sales-order-status-index .page-actions {
+  border: 1px solid #c0bbaf;
+  border-bottom: 0;
+  background: #f6f3ec;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2ZjNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGVhZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f3ec), color-stop(100%, #edeae1));
+  background: -webkit-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -o-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -ms-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: linear-gradient(to bottom, #f6f3ec 0%, #edeae1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f3ec', endColorstr='#edeae1', GradientType=0);
+  padding: 7px 8px 8px;
+  position: relative;
+  float: none;
+}
+.adminhtml-googleshopping-items-index .grid {
+  padding-bottom: 25px;
+}
+.adminhtml-googleshopping-items-index .grid-title .title {
+  font-size: 18px;
+}
+.adminhtml-googleshopping-items-index .page-actions {
+  float: right;
+}
+.adminhtml-system-backup-index .page-actions.fixed,
+.adminhtml-scheduled-operation-index .page-actions.fixed,
+.adminhtml-system-currency-index .page-actions.fixed,
+.adminhtml-system-currencysymbol-index .page-actions.fixed,
+.adminhtml-cache-index .page-actions.fixed,
+.adminhtml-system-store-index .page-actions.fixed,
+.sales-order-status-index .page-actions.fixed {
+  background-image: none;
+  padding: 0 21px;
+  position: fixed;
+}
+.catalog-product-index .grid-actions {
+  padding-left: 90px;
+}
+.catalog-rule-promo-catalog-index .grid-actions {
+  padding-left: 210px;
+}
+.catalog-rule-promo-catalog-index .page-actions .apply {
+  float: right;
+  margin: 0 0 0 10px;
+}
+.catalog-product-index .field-store-switcher {
+  padding: 0;
+}
+.sidebar-actions {
+  padding: 14px 0;
+}
+.sidebar-actions button {
+  margin: 0 0 5px;
+}
+.sales-order-create-index .grid table .action-configure {
+  float: right;
+}
+.adminhtml-system-currency-index .import-service {
+  float: left;
+}
+.adminhtml-system-currency-index .page-actions.fixed .import-service {
+  display: inline-block;
+  float: none;
+}
+.clearfix:before,
+.clearfix:after,
+[class$="-layout"]:after,
+.footer-content:before,
+.footer-content:after,
+.page-title-inner:before,
+.page-title-inner:after,
+.tabs-horiz:before,
+.tabs-horiz:after,
+.navigation > ul:before,
+.navigation > ul:after,
+.actions-split:before,
+.actions-split:after,
+.page-create-order:before,
+.page-create-order:after,
+.order-addresses:before,
+.order-addresses:after,
+.order-methods:before,
+.order-methods:after,
+.order-summary:before,
+.order-summary:after,
+.order-methods:before,
+.order-methods:after,
+.grid-actions:before,
+.grid-actions:after,
+.fieldset-wrapper-title:before,
+.fieldset-wrapper-title:after {
+  content: "";
+  display: table;
+}
+.clearfix:after,
+[class$="-layout"]:after,
+.footer-content:after,
+.page-title-inner:after,
+.tabs-horiz:after,
+.navigation > ul:after,
+.actions-split:after,
+.page-create-order:after,
+.order-addresses:after,
+.order-methods:after,
+.order-summary:after,
+.order-methods:after,
+.grid-actions:after,
+.fieldset-wrapper-title:after {
+  clear: both;
+}
+/*
+    Header
+-------------------------------------- */
+.header {
+  position: relative;
+  background: #f5f2ea;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ZjJlYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMWVkZTMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #f5f2ea 0%, #f1ede3 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f2ea), color-stop(100%, #f1ede3));
+  background: -webkit-linear-gradient(top, #f5f2ea 0%, #f1ede3 100%);
+  background: -o-linear-gradient(top, #f5f2ea 0%, #f1ede3 100%);
+  background: -ms-linear-gradient(top, #f5f2ea 0%, #f1ede3 100%);
+  background: linear-gradient(to bottom, #f5f2ea 0%, #f1ede3 100%);
+  z-index: 992;
+  padding: 0 20px;
+}
+.eq-ie8 .header {
+  background: #f5f2ea;
+}
+.header-inner {
+  min-width: 960px;
+  max-width: 1300px;
+  margin: 0 auto;
+  padding: 7px 0;
+}
+.header .logo {
+  display: block;
+  width: 109px;
+  height: 27px;
+  text-indent: -999em;
+  background: url(Magento_Backend::images/logo-magento-small.png) no-repeat;
+  margin: 0;
+}
+/*
+.header .logo {
+    display: inline-block;
+    width: 100px;
+    height: 27px;
+    margin: 0;
+    text-indent: -999em;
+    position: relative;
+    z-index: 1;
+}
+
+.header .logo:before,
+.header .logo:after {
+    font-family: 'admin-icons';
+    font-size: 26px;
+    content: '\e00d';
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    text-indent: 0;
+    line-height: 1;
+    font-weight: normal;
+}
+
+.header .logo:before {
+    content: '\e00d';
+    color: #f37b20;
+}
+
+.header .logo:after {
+    content: '\e00e';
+    color: #fab57f;
+}
+
+.header .logo span:before {
+    font-family: 'admin-icons';
+    content: '\e00f';
+    display: block;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 28px;
+    font-size: 65px;
+    margin-top: -17px;
+    text-indent: 0;
+    line-height: 1;
+    font-weight: normal;
+    color: #000;
+}*/
+.header-panel {
+  float: right;
+  font-size: 12px;
+}
+/*
+    Header Dropdown
+-------------------------------------- */
+.header-panel .dropdown-menu {
+  display: none;
+  width: 195px;
+  margin: 8px -87px 0 0;
+  border: 0;
+  -moz-border-radius: 5px;
+  -webkit-border-radius: 5px;
+  border-radius: 5px;
+  -moz-box-shadow: 0 2px 7px 2px rgba(0, 0, 0, 0.2);
+  -webkit-box-shadow: 0 2px 7px 2px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 2px 7px 2px rgba(0, 0, 0, 0.2);
+}
+.eq-ie8 .header-panel .dropdown-menu {
+  border: 1px solid #c3bcaf;
+}
+.header-panel .dropdown-menu > li {
+  position: relative;
+  padding: 20px 30px 13px 18px;
+  background: #f7f3eb;
+  border-bottom: 1px solid #f7e4d0;
+  white-space: normal;
+}
+.header-panel .dropdown-menu > li:hover {
+  background: #fff;
+}
+.header-panel .dropdown-menu > li:first-child:hover:before,
+.header-panel .dropdown-menu > li.first:hover:before {
+  color: #fff;
+}
+.header-panel .dropdown-menu > li a {
+  display: block;
+  text-decoration: none;
+  color: #8c867e;
+  margin: 0 0 10px;
+}
+.header-panel .dropdown-menu > li a:hover {
+  text-decoration: underline;
+}
+.header-panel .dropdown-menu > li:first-child,
+.header-panel .dropdown-menu > li.first {
+  -moz-border-radius: 5px 5px 0 0;
+  -webkit-border-radius: 5px 5px 0 0;
+  border-radius: 5px 5px 0 0;
+}
+.header-panel .dropdown-menu > li:last-child,
+.header-panel .dropdown-menu > li.last {
+  border-bottom: 0;
+  -moz-border-radius: 0 0 5px 5px;
+  -webkit-border-radius: 0 0 5px 5px;
+  border-radius: 0 0 5px 5px;
+}
+/*
+    Account
+-------------------------------------- */
+.header-panel .account {
+  position: relative;
+  float: left;
+  margin: 0 0 0 30px;
+  padding: 6px 0 0;
+}
+.header-panel .account > a {
+  color: #656057;
+  position: relative;
+  display: inline-block;
+  min-width: 20px;
+  text-decoration: none;
+  padding: 0 10px 0 0;
+}
+.header-panel .account > a:before {
+  position: absolute;
+  top: 2px;
+  right: 0;
+  bottom: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  font-size: 9px;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02c';
+  /*  icon point down */
+
+}
+.header-panel .account img {
+  position: relative;
+  border-radius: 3px;
+  z-index: 1;
+}
+.no-js .header-panel .account:hover > a {
+  padding-bottom: 5px;
+  margin-bottom: -5px;
+}
+.header-panel .account.active .dropdown-menu,
+.no-js .header-panel .account:hover .dropdown-menu,
+.no-js .header-panel .account > a:focus + .dropdown-menu {
+  display: block;
+}
+/*
+    Link to store front
+-------------------------------------- */
+.header-panel .store-front {
+  color: #676056;
+  text-decoration: none;
+  position: relative;
+  padding: 6px 0 0 20px;
+  float: left;
+  margin: 0 0 0 30px;
+}
+.header-panel .store-front:before {
+  font-family: 'admin-icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e005';
+  /* icon store info */
+
+  font-size: 17px;
+  position: absolute;
+  left: 0;
+  top: 4px;
+}
+/*
+    Messages
+-------------------------------------- */
+.header-panel .notifications {
+  position: relative;
+  float: left;
+  margin: 0 6px 0 21px;
+  padding: 9px 0 0;
+}
+.header-panel .notifications-icon {
+  position: relative;
+  display: inline-block;
+  height: 12px;
+  width: 17px;
+  text-decoration: none;
+  text-align: center;
+  background: #cac2b5;
+  box-shadow: 0 1px 0 #fff;
+  border-radius: 2px;
+}
+.header-panel .notifications-icon:hover,
+.header-panel .notifications-icon:active {
+  background: #b0a798;
+}
+.header-panel .notifications-icon:before {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: -7px;
+  margin-top: -5px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02c';
+  /* user icon */
+
+  font-size: 8px;
+  color: #cac2b5;
+  text-shadow: 0 1px 0 #fff;
+}
+.header-panel .notifications-icon:hover:before,
+.header-panel .notifications-icon:active:before {
+  color: #b0a798;
+}
+.eq-ie8 .header-panel .notifications-icon:before {
+  bottom: -6px;
+}
+.header-panel .notifications .value {
+  color: #ffffff;
+  font-size: 12px;
+  font-weight: 600;
+  line-height: 11px;
+  padding: 1px 3px;
+  min-width: 10px;
+  background: #f58220;
+  border: 1px solid #bd5100;
+  border-radius: 4px;
+  box-shadow: 0 1px 0 #31302b;
+  left: 6px;
+  top: -5px;
+  position: absolute;
+}
+.header-panel .notifications.active .dropdown-menu {
+  display: block;
+  margin-top: 12px;
+  border: 2px solid #676056;
+  width: 288px;
+  margin: 8px -52px 0 0;
+}
+.header-panel .dropdown-menu > li {
+  background: #fff;
+  border-bottom: 0;
+  position: relative;
+  padding: 13px 26px 14px 16px;
+  white-space: normal;
+}
+.header-panel .dropdown-menu > li:after {
+  border-bottom: 1px solid #f7e4d0;
+  display: block;
+  position: absolute;
+  bottom: 0;
+  left: 2px;
+  content: '';
+  width: 284px;
+}
+.header-panel .dropdown-menu > li:last-child:after,
+.header-panel .dropdown-menu > li.last:after {
+  display: none;
+}
+.header-panel .notifications > .dropdown-menu .notification-description {
+  max-height: 43px;
+  overflow: hidden;
+  display: block;
+  color: #676056;
+  font-size: 11px;
+  font-weight: 400;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry {
+  display: none;
+}
+.header-panel .notifications .dropdown-menu:before,
+.header-panel .notifications .dropdown-menu:after {
+  position: absolute;
+  width: 10px;
+  height: 10px;
+  right: 55px;
+  top: -10px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  font-weight: normal;
+  font-size: 13px;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  content: '\e029';
+  /* user icon */
+
+  color: #fff;
+  z-index: 2;
+}
+.header-panel .notifications .dropdown-menu:after {
+  color: #676056;
+  font-size: 17px;
+  height: 12px;
+  right: 57px;
+  top: -14px;
+  z-index: 1;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:first-child {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:first-child + .notification-entry {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:first-child + .notification-entry + .notification-entry {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:first-child + .notification-entry + .notification-entry + .notification-entry {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:first-child + .notification-entry + .notification-entry + .notification-entry + .notification-entry {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry:nth-child(-n+5) {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .notification-entry .notification-dialog-content {
+  display: none;
+}
+/*
+    Notification entry dialog
+-------------------------------------- */
+.notification-entry-dialog .notification-dialog-content,
+.notification-entry-dialog .ui-dialog-buttonpane {
+  background: #fefaf6;
+}
+.notification-entry-dialog .ui-dialog-titlebar {
+  background: #f9f1e8;
+}
+.notification-entry-dialog .ui-dialog-title {
+  font-size: 22px;
+  padding-left: 24px;
+}
+.notification-entry-dialog-critical .ui-dialog-titlebar {
+  background: #fee4d0;
+}
+.notification-entry-dialog-critical .ui-dialog-title {
+  padding-left: 54px;
+}
+.notification-entry-dialog-critical .ui-dialog-title:before {
+  content: "\e086";
+  font-family: 'MUI-Icons';
+  color: #c00815;
+  font-style: normal;
+  font-weight: normal;
+  font-size: 26px;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  left: 21px;
+  position: absolute;
+  top: 16px;
+}
+.notification-entry-dialog .ui-dialog-titlebar-close:before {
+  font-size: 15px;
+}
+.notification-entry-dialog .notification-dialog-content {
+  padding-top: 19px;
+  padding-bottom: 16px;
+}
+.notification-entry-dialog .notification-dialog-content strong {
+  display: block;
+  color: #f58220;
+  font-size: 18px;
+  font-weight: 500;
+}
+.notification-entry-dialog .notification-dialog-content .notification-description {
+  display: block;
+  font-family: Helvetica, Arial, sans-serif;
+  font-size: 14px;
+  line-height: 1.42;
+  padding: 3px 0 7px;
+}
+.notification-entry-dialog .notification-dialog-content time {
+  color: #8c867e;
+  font-size: 13px;
+  font-family: Helvetica, Arial, sans-serif;
+  position: absolute;
+  right: 17px;
+  bottom: 27px;
+  text-align: right;
+}
+.notification-entry-dialog .notification-dialog-content .actions {
+  margin-bottom: 22px;
+}
+.notification-entry-dialog .notification-dialog-content .actions a {
+  color: #676056;
+  position: relative;
+  margin-right: 20px;
+}
+.notification-entry-dialog .notification-dialog-content .actions a:after {
+  content: "\e084";
+  font-family: 'MUI-Icons';
+  color: #6a5f54;
+  font-size: 12px;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  position: absolute;
+  right: -17px;
+  top: -2px;
+}
+.notification-entry-dialog .ui-dialog-buttonset {
+  text-align: left;
+}
+.notification-entry-dialog .ui-dialog-buttonpane {
+  margin: 0;
+  padding: 0 24px 22px;
+}
+.notification-entry-dialog .ui-dialog-buttonset button[class^="action-"] {
+  background-image: none;
+  margin: 0 16px 0 0;
+  vertical-align: middle;
+  text-shadow: none;
+  box-shadow: none;
+  border: 0;
+}
+.notification-entry-dialog .ui-dialog-buttonset .action-acknowledge {
+  background-color: #f47b20;
+  border: 0;
+  padding: 5px 15px;
+}
+.notification-entry-dialog .ui-dialog-buttonset .action-acknowledge:hover {
+  background-color: #e47821;
+}
+.notification-entry-dialog .ui-dialog-buttonset .action-cancel {
+  background-color: #dbd6ce;
+  border: 0;
+  padding: 5px 15px;
+}
+.notification-entry-dialog .ui-dialog-buttonset .action-cancel:hover {
+  background-color: #d3cdc4;
+}
+.header-panel .account > .dropdown-menu a,
+.header-panel .search .autocomplete-results .title {
+  display: block;
+  color: #f58220;
+  font-size: 14px;
+  font-weight: 500;
+  margin-bottom: 5px;
+}
+.header-panel .notifications > .dropdown-menu li > strong {
+  display: block;
+  color: #026294;
+  font-size: 12px;
+  font-weight: 600;
+  max-height: 32px;
+  overflow: hidden;
+  line-height: 1.4;
+  margin-bottom: 4px;
+}
+.header-panel .notifications > .dropdown-menu li > strong:focus,
+.header-panel .notifications > .dropdown-menu li > strong:hover {
+  text-decoration: underline;
+}
+.header-panel .notifications > .dropdown-menu li.notification-critical strong {
+  padding-left: 30px;
+  position: relative;
+}
+.header-panel .notifications > .dropdown-menu li.notification-critical > strong:before {
+  display: block;
+  content: "\e086";
+  font-family: 'MUI-Icons';
+  color: #c00815;
+  font-size: 19px;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  position: absolute;
+  left: 0;
+  top: 5px;
+}
+.header-panel .notifications > .dropdown-menu > li:hover {
+  background: #f7f3eb;
+  cursor: pointer;
+  margin-top: -1px;
+  padding-top: 14px;
+  z-index: 2;
+}
+.eq-ie8 .header-panel .notifications > .dropdown-menu > li:hover,
+.header-panel .notifications > .dropdown-menu > li:first-child:hover,
+.header-panel .notifications > .dropdown-menu > li.first:hover,
+.header-panel .notifications > .dropdown-menu > li:last-child:hover,
+.header-panel .notifications > .dropdown-menu > li.last:hover {
+  margin-top: 0;
+  padding-top: 13px;
+}
+.header-panel .dropdown-menu > li:hover:after {
+  display: none;
+}
+.eq-ie8 .header-panel .dropdown-menu > li:hover:after {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu > li:hover .action-close {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu > .new,
+.header-panel .notifications > .dropdown-menu > .new:hover {
+  background: #f47b20;
+  color: #fff;
+}
+.header-panel .notifications > .dropdown-menu > li.new:first-child:before,
+.header-panel .notifications > .dropdown-menu > li.new.first:before,
+.header-panel .notifications > .dropdown-menu > li.new:first-child:hover:before,
+.header-panel .notifications > .dropdown-menu > li.new.first:hover:before {
+  color: #f47b20;
+}
+.header-panel .notifications > .dropdown-menu > .new strong,
+.header-panel .notifications > .dropdown-menu > .new div,
+.header-panel .notifications > .dropdown-menu > .new a,
+.header-panel .notifications > .dropdown-menu > .new time,
+.header-panel .notifications > .dropdown-menu .new .action-close:hover,
+.header-panel .notifications > .dropdown-menu .new .action-close:focus {
+  color: #fff;
+}
+.header-panel .notifications > .dropdown-menu time {
+  color: #676056;
+  font-size: 11px;
+  font-weight: 400;
+  display: block;
+  margin-top: 7px;
+}
+.header-panel .notifications > .dropdown-menu a:focus ~ .action-close,
+.header-panel .notifications > .dropdown-menu .action-close:focus {
+  display: block;
+}
+.header-panel .notifications > .dropdown-menu .action-close {
+  position: absolute;
+  display: none;
+  top: 8px;
+  right: 4px;
+  width: 20px;
+  height: 20px;
+  text-indent: -999em;
+  overflow: hidden;
+  color: #cac2b5;
+}
+.header-panel .notifications > .dropdown-menu .action-close:hover {
+  color: #b0a789;
+}
+.header-panel .notifications > .dropdown-menu .action-close:before {
+  display: block;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  font-weight: normal;
+  font-size: 19px;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+  content: '\e07f';
+  /* trashbin icon */
+
+  text-indent: 0;
+}
+.eq-ie8 .header-panel .notifications > .dropdown-menu .action-close {
+  filter: none;
+}
+.header .header-panel .notifications .dropdown-menu > li.last {
+  padding: 0;
+}
+.header .header-panel .notifications .action-more {
+  display: block;
+  background: #676056;
+  border: 0;
+  color: #f7f3eb;
+  font-size: 13px;
+  font-weight: bold;
+  height: 23px;
+  width: 100%;
+  line-height: 23px;
+  text-shadow: none;
+  text-align: center;
+  margin: 0;
+}
+.eq-ie8 .header .header-panel .notifications .action-more {
+  filter: none;
+}
+.header .header-panel .notifications .action-more:hover {
+  text-decoration: none;
+}
+.eq-ie8 .header .header-panel .notifications .action-more {
+  margin-bottom: -1px;
+}
+/*
+    Help
+-------------------------------------- */
+.header-panel .help {
+  float: left;
+  margin: 0 0 0 30px;
+  padding: 6px 0 0;
+}
+/*
+    Search
+-------------------------------------- */
+.search {
+  position: relative;
+  float: left;
+  margin: -4px 0 -5px 50px;
+}
+.search form {
+  position: relative;
+}
+.search input {
+  position: relative;
+  display: none;
+  width: 50px;
+  height: 36px;
+  line-height: 2;
+  margin: 0;
+  padding: 4px 25px 4px 4px;
+  background: #fff;
+}
+.header .search .ajax-loading:before {
+  display: block;
+  content: '';
+  position: absolute;
+  top: 10px;
+  left: -20px;
+  margin: 0;
+  width: 16px;
+  height: 16px;
+  line-height: 16px;
+  background-image: url(../mui/images/ajax-loader-small.gif);
+}
+.header .search .mage-suggest {
+  border: none;
+}
+.header .search .mage-suggest::after {
+  content: '';
+}
+.search .dropdown-menu {
+  display: block;
+  right: auto;
+  margin-right: 0;
+  width: 100%;
+}
+.autocomplete-results {
+  left: 0 !important;
+  /* TODO: Because of script bug in IE9 */
+
+  right: 0;
+}
+.eq-ie8 .autocomplete-results {
+  margin-top: -10px;
+}
+.autocomplete-results .title {
+  display: block;
+}
+.autocomplete-results .type {
+  margin: 0 0 10px;
+}
+.header.active .search {
+  margin-left: 30px;
+}
+.header.active .search input {
+  display: inline-block;
+}
+.no-js .search input {
+  display: inline-block;
+  width: 350px;
+}
+.search button[type="submit"],
+.search button[type="submit"]:hover,
+.search button[type="submit"]:active,
+.search button[type="submit"]:focus {
+  position: absolute;
+  top: 2px;
+  right: 0;
+  width: 32px;
+  height: 32px;
+  background: none;
+  border: none;
+  overflow: hidden;
+  text-indent: -999em;
+  color: #676056;
+  text-shadow: 0 1px 0 #fff;
+  box-shadow: none;
+  filter: none;
+}
+.search button[type="submit"]:hover,
+.header.active .search button[type="submit"],
+.header.active .search button[type="submit"]:hover,
+.header.active .search button[type="submit"]:active,
+.header.active .search button[type="submit"]:focus {
+  color: #201f1c;
+}
+.eq-ie9 .search button[type="submit"] {
+  top: 4px;
+}
+.search button[type="submit"]:before {
+  position: absolute;
+  display: block;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e01f';
+  /* user icon */
+
+  text-indent: 0;
+  font-size: 18px;
+  line-height: 1.7;
+  text-align: center;
+}
+.eq-ie8 .search button[type="submit"]:before {
+  line-height: 1.3;
+}
+/*
+    Clearfix
+-------------------------------------- */
+.header-panel:before,
+.header-panel:after,
+.header-inner:before,
+.header-inner:after,
+.clearfix:before,
+.clearfix:after {
+  content: "";
+  display: table;
+}
+.header-panel:after,
+.header-inner:after,
+.clearfix:after {
+  clear: both;
+}
+/*
+    Product Creation
+-------------------------------------- */
+/* Action "Back" as cross  */
+[class^=" catalog-product-"] .page-actions .action-back,
+[class^=" catalog-product-"] .page-actions .action-back:hover,
+[class^=" catalog-product-"] .page-actions .action-back:active,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:hover,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:active {
+  overflow: hidden;
+  padding: 5px 6px 3px;
+  margin-left: 12px;
+  color: #7a7976;
+}
+.eq-ie8 [class^=" catalog-product-"] .page-actions .action-back,
+.eq-ie8 [class^=" catalog-product-"] .page-actions .action-back:hover,
+.eq-ie8 [class^=" catalog-product-"] .page-actions .action-back:active,
+.eq-ie8 [class^=" adminhtml-newsletter-"] .page-actions .action-back,
+.eq-ie8 [class^=" adminhtml-newsletter-"] .page-actions .action-back:hover,
+.eq-ie8 [class^=" adminhtml-newsletter-"] .page-actions .action-back:active,
+.sales-order-create-index .page-actions-inner .cancel,
+.sales-order-create-index .page-actions-inner .cancel:hover,
+.sales-order-create-index .page-actions-inner .cancel:active {
+  filter: none;
+  border: 0;
+}
+[class^=" catalog-product-"] .page-actions .action-back:hover,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:hover,
+.sales-order-create-index .page-actions-inner .cancel:hover {
+  color: #000;
+}
+[class^=" catalog-product-"] .page-actions .action-back.mage-error,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back.mage-error {
+  color: #b57c72;
+}
+[class^=" catalog-product-"] .page-actions .action-back:before,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back:before,
+.sales-order-create-index .page-actions-inner .cancel:before {
+  display: inline-block;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e07d';
+  /* close icon */
+
+  font-size: 16px;
+}
+[class^=" catalog-product-"] .page-actions .action-back span,
+[class^=" adminhtml-newsletter-"] .page-actions .action-back span,
+.sales-order-create-index .page-actions-inner .cancel span {
+  display: inline-block;
+  overflow: hidden;
+  text-indent: -999em;
+}
+.page-actions .switcher {
+  display: inline-block;
+  vertical-align: top;
+  margin: 6px 17px 6px 6px;
+}
+.field-weight .control .field:first-child {
+  width: 36%;
+  margin-right: 15px;
+}
+#allow_open_amount {
+  margin-top: 8px;
+}
+/*
+    Customer
+---------------------------------------*/
+#customer_info_tabs_account_content #_accountsendemail {
+  margin-top: 8px;
+}
+.customer-information:before,
+.customer-information:after {
+  content: "";
+  display: table;
+}
+.customer-information:after {
+  clear: both;
+}
+.customer-information .data-table,
+.customer-information address {
+  width: 48.5%;
+}
+.customer-information .data-table {
+  float: left;
+  width: 48.5%;
+}
+.customer-information address {
+  padding-top: 4px;
+  line-height: 2.2;
+  float: right;
+}
+.address-list {
+  list-style: none;
+  width: 278px;
+  margin: 0 0 10px;
+  padding: 0;
+  float: left;
+}
+.address-list li {
+  border: 1px solid #d9d2ca;
+  background: #f7f2ec;
+  padding: 10px 10px 15px;
+  cursor: pointer;
+  margin-bottom: -1px;
+}
+.address-list li.ui-state-active {
+  background: #fff;
+  position: relative;
+  box-shadow: 0 1px 1px 0 #d9d2ca;
+  margin-left: -2px;
+  padding-left: 12px;
+}
+.address-list li.ui-state-active:before,
+.address-list li.ui-state-active:after {
+  position: absolute;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  font-weight: normal;
+  font-size: 18px;
+  color: #fff;
+  content: "\e02a";
+  speak: none;
+  line-height: 11px;
+  width: 10px;
+  right: -9px;
+  text-indent: -6px;
+  top: 50%;
+  margin-top: -5px;
+  z-index: 2;
+}
+.address-list li.ui-state-active:before {
+  color: #d9d2ca;
+  right: -11px;
+  z-index: 1;
+}
+.address-list li.address-list-actions:before,
+.address-list li.address-list-actions:after {
+  display: none;
+}
+.address-list li.address-list-actions {
+  padding: 20px 0 0 0;
+  border: 0;
+  background: none;
+  box-shadow: none;
+  cursor: default;
+}
+.address-list li.address-list-actions:first-child {
+  padding: 0;
+}
+.address-list .label {
+  float: none;
+  width: auto;
+  padding: 0 0 0 10px;
+}
+.address-list input[type="checkbox"] {
+  float: left;
+}
+.address-list address:first-line {
+  /*  its not work  if First Name and Last Name in two lines */
+
+  font-weight: bold;
+}
+.address-list address {
+  margin: 0 20px 15px 0;
+  line-height: 1.5;
+}
+.address-list-item-actions {
+  float: right;
+}
+.address-list .action-edit {
+  display: none;
+}
+.address-list .field {
+  margin-bottom: 15px;
+}
+.ui-tabs-nav .address-list-item a {
+  text-decoration: none;
+  color: #676056;
+}
+.address-item-edit {
+  margin-left: 277px;
+}
+.address-item-edit-content {
+  border: 1px solid #dad1c8;
+  background: #fff;
+  box-shadow: 0 2px 1px 0 rgba(217, 210, 202, 0.5);
+  padding-left: 10px;
+}
+.address-item-edit-content .fieldset:last-child {
+  margin-bottom: 29px;
+}
+.address-item-edit .legend {
+  border-bottom: 0;
+  margin: 0 0 18px;
+  padding-left: 20%;
+}
+.address-item-edit .legend span {
+  padding-left: 0;
+}
+.address-item-edit-actions {
+  padding: 0 0 18px 20%;
+}
+/*
+    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;
+}
+/*
+    Configuration -> Payment Methods
+-------------------------------------- */
+.adminhtml-system-config-edit .payflow-settings-notice .important-label {
+  color: #e22626;
+  font-size: 14px;
+  font-weight: 700;
+}
+.adminhtml-system-config-edit .payflow-settings-notice ul.options-list strong {
+  color: #676056;
+  font-size: 14px;
+  font-weight: 700;
+}
+/*
+    CMS -> Banners
+-------------------------------------- */
+/* Banner Properties */
+#banner_properties_customer_segment_ids {
+  min-width: 20%;
+}
+/* Content */
+.field-store_default_content .buttons-set {
+  margin-bottom: 9px;
+}
+.field-store_default_content .buttons-set button {
+  margin-right: 4px;
+}
+.field-store_0_content_use input[type="checkbox"] {
+  margin-right: 3px;
+  position: relative;
+  top: 2px;
+}
+/*
+    CMS -> Manage Hierarchy
+-------------------------------------- */
+.cms-hierarchy .cms-scope {
+  float: right;
+  margin-right: 25px;
+  position: relative;
+  top: 2px;
+}
+.cms-hierarchy #tree-container {
+  margin-top: 25px;
+  overflow: auto;
+  padding-bottom: 10px;
+}
+.cms-hierarchy .buttons-set {
+  margin-bottom: 10px;
+}
+.cms-hierarchy .cms-hierarchy-tree {
+  width: 48.93617020799999%;
+  float: left;
+  margin: 10px 0 8px 0;
+}
+.cms-hierarchy .cms-hierarchy-node {
+  width: 48.93617020799999%;
+  float: left;
+  margin: 10px 0 8px 2.127659574%;
+}
+.cms-hierarchy #cms_page_grid_container {
+  clear: both;
+}
+.cms-hierarchy .store-switcher {
+  position: relative;
+  top: 10px;
+}
+.cms-hierarchy .store-switcher label {
+  margin-right: 8px;
+}
+.cms-hierarchy-node #node_properties_fieldset #node_preview {
+  position: relative;
+  top: 6px;
+}
+.cms-hierarchy-node .form-inline .label {
+  width: 30%;
+}
+/*
+    CMS -> Widgets
+-------------------------------------- */
+#widget_instace_tabs_properties_section_content .widget-option-label {
+  margin-top: 6px;
+}
+/*
+    CMS -> Static Blocks
+-------------------------------------- */
+#buttonsblock_content.buttons-set {
+  margin-bottom: 9px;
+}
+#buttonsblock_content.buttons-set button {
+  margin-right: 4px;
+}
+/*
+    CMS -> Manage Content
+-------------------------------------- */
+/* Content */
+.cms-manage-content-actions .buttons-set {
+  margin-bottom: 9px;
+}
+.cms-manage-content-actions .buttons-set button {
+  margin-right: 4px;
+}
+.cms-manage-content-actions textarea {
+  width: 100%;
+}
+/*
+    System -> Export
+-------------------------------------- */
+#export_filter_grid .grid td .input-text-range-date {
+  vertical-align: middle;
+}
+#export_filter_grid .grid td .ui-datepicker-trigger {
+  vertical-align: middle;
+  margin-left: 5px;
+}
+#export_filter_grid .grid select {
+  margin-bottom: 0;
+}
+#export_filter_grid .grid table td:first-child,
+#export_filter_grid .grid tr th:first-child {
+  border-left: 0;
+}
+#export_filter_grid .data thead {
+  border-left: 1px solid #837F79;
+}
+#export_filter_grid .data tbody {
+  border-left: 1px solid #c0bbaf;
+}
+/*
+    System -> Roles
+-------------------------------------- */
+#gws_container ul {
+  padding: 0;
+  margin: 0;
+  list-style: none;
+}
+#gws_container ul ul {
+  margin: .8em 0 .8em 1.4em;
+}
+#gws_container input[type="checkbox"] {
+  margin-right: 3px;
+  position: relative;
+  top: -1px;
+}
+/*
+    Reports
+-------------------------------------- */
+.reports-title .page-actions {
+  float: right;
+}
+.reports-title .store-switcher {
+  padding: 14px 0 18px;
+}
+.reports-content select {
+  width: 160px;
+}
+.reports-content input.hasDatepicker {
+  width: 133px;
+}
+/* TODO: refactor when validation design is ready */
+.reports-content .required .control {
+  position: relative;
+}
+.reports-content input.hasDatepicker + label.mage-error {
+  left: 0;
+  position: absolute;
+  top: 30px;
+}
+.reports-title:before,
+.reports-title:after {
+  content: "";
+  display: table;
+}
+.reports-title:after {
+  clear: both;
+}
+/*
+    Reports - Customer Reviews
+-------------------------------------- */
+.adminhtml-report-review-customer .col-qty,
+.adminhtml-report-review-customer .col-actions {
+  width: 85px;
+}
+/*
+    Reports - Product Reviews
+-------------------------------------- */
+.adminhtml-report-review-product .col-id {
+  width: 35px;
+}
+.adminhtml-report-review-product .col-qty,
+.adminhtml-report-review-product .col-rating,
+.adminhtml-report-review-product .col-avg-rating,
+.adminhtml-report-review-product .col-actions {
+  text-align: right;
+  width: 85px;
+}
+.adminhtml-report-review-product .col-date {
+  width: 140px;
+}
+.adminhtml-report-review-product .col-rating {
+  width: 104px;
+}
+/*
+    Reports - New Accounts
+-------------------------------------- */
+.adminhtml-report-customer-accounts .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+/*
+    Reports - Refresh Statistics
+-------------------------------------- */
+.adminhtml-report-statistics-index .col-period {
+  white-space: nowrap;
+  width: 140px;
+}
+.adminhtml-report-statistics-index .col-select {
+  width: 25px;
+}
+/*
+    Reports - Products Ordered
+-------------------------------------- */
+.adminhtml-report-product-sold .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-product-sold .col-qty {
+  width: 110px;
+}
+/*
+    Reports - Customers by Orders Total
+-------------------------------------- */
+.adminhtml-report-customer-totals .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-customer-totals .col-qty {
+  width: 65px;
+}
+.adminhtml-report-customer-totals .col-rating {
+  width: 100px;
+}
+/*
+    Reports - Tag by popular
+-------------------------------------- */
+.adminhtml-report-tag-popular .col-qty,
+.adminhtml-report-tag-popular .col-actions {
+  width: 80px;
+}
+/*
+    Reports - Tag by customer
+-------------------------------------- */
+.adminhtml-report-tag-customer .col-id {
+  width: 35px;
+}
+.adminhtml-report-tag-customer .col-qty,
+.adminhtml-report-tag-customer .col-actions {
+  width: 80px;
+}
+/*
+    Reports - Tag by product
+-------------------------------------- */
+.adminhtml-report-tag-product .col-id {
+  width: 35px;
+}
+.adminhtml-report-tag-product .col-actions {
+  width: 70px;
+}
+.adminhtml-report-tag-product .col-unique-numbers,
+.adminhtml-report-tag-product .col-total-numbers {
+  text-align: right;
+  width: 95px;
+}
+/*
+    Reports - Customers by Number of Orders
+-------------------------------------- */
+.adminhtml-report-customer-orders .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-customer-orders .col-qty,
+.adminhtml-report-customer-orders .col-average,
+.adminhtml-report-customer-orders .col-total {
+  width: 105px;
+}
+/*
+   Reports - Customers by Orders Total
+-------------------------------------- */
+.adminhtml-report-customer-totals .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-customer-totals .col-qty,
+.adminhtml-report-customer-totals .col-average,
+.adminhtml-report-customer-totals .col-total {
+  width: 105px;
+}
+/*
+    Reports - Customer's wishlists
+-------------------------------------- */
+.adminhtml-report-customer-wishlist-wishlist .col-period {
+  width: 70px;
+}
+.adminhtml-report-customer-wishlist-wishlist .col-whishlist-qty,
+.adminhtml-report-customer-wishlist-wishlist .col-available-qty,
+.adminhtml-report-customer-wishlist-wishlist .col-qty-diff {
+  text-align: right;
+  width: 100px;
+}
+.adminhtml-report-customer-wishlist-wishlist .grid .range {
+  text-align: left;
+}
+/*
+    Reports - Most Viewed
+-------------------------------------- */
+.adminhtml-report-product-viewed .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-product-viewed .col-qty,
+.adminhtml-report-product-viewed .col-price {
+  white-space: nowrap;
+  width: 80px;
+}
+/*
+    Reports - Search Terms
+-------------------------------------- */
+.adminhtml-report-search .col-id {
+  width: 35px;
+}
+.adminhtml-report-search th.col-results,
+.adminhtml-report-search th.col-hits {
+  text-align: left;
+  width: 117px;
+}
+.adminhtml-report-search td.col-results,
+.adminhtml-report-search td.col-hits {
+  text-align: right;
+  width: 117px;
+}
+.adminhtml-report-search .col-results .range-line:first-child,
+.adminhtml-report-search .col-hits .range-line:first-child {
+  float: left;
+  margin-right: 3px;
+}
+/*
+    Reports - Bestsellers
+-------------------------------------- */
+.adminhtml-report-sales-bestsellers .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-bestsellers .col-qty,
+.adminhtml-report-sales-bestsellers .col-price {
+  width: 80px;
+}
+/*
+    Reports - Downloads
+-------------------------------------- */
+.adminhtml-report-product-downloads .col-qty,
+.adminhtml-report-product-downloads .col-price {
+  width: 80px;
+}
+/*
+    Reports - Abandoned Carts
+-------------------------------------- */
+.adminhtml-report-shopcart-abandoned .col-ip,
+.adminhtml-report-shopcart-abandoned .col-subtotal,
+.adminhtml-report-shopcart-abandoned .col-number,
+.adminhtml-report-shopcart-abandoned .col-coupon {
+  text-align: right;
+}
+.adminhtml-report-shopcart-abandoned .col-ip {
+  width: 105px;
+}
+.adminhtml-report-shopcart-abandoned .col-subtotal {
+  width: 65px;
+}
+/*
+    Reports - Products in Carts
+-------------------------------------- */
+.adminhtml-report-shopcart-product .col-id {
+  width: 35px;
+}
+.adminhtml-report-shopcart-product .col-carts,
+.adminhtml-report-shopcart-product .col-qty,
+.adminhtml-report-shopcart-product .col-price {
+  text-align: right;
+  width: 80px;
+}
+/*
+    Reports - Refunds
+-------------------------------------- */
+.adminhtml-report-sales-refunded .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-refunded .col-ref-total,
+.adminhtml-report-sales-refunded .col-ref-online,
+.adminhtml-report-sales-refunded .col-ref-offline {
+  text-align: right;
+  width: 23%;
+}
+/*
+    Reports - Shipping
+-------------------------------------- */
+.adminhtml-report-sales-shipping .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-shipping .col-qty,
+.adminhtml-report-sales-shipping .col-total-sales-shipping,
+.adminhtml-report-sales-shipping .col-total-shipping {
+  text-align: right;
+  width: 115px;
+}
+/*
+    Reports - Invoiced
+-------------------------------------- */
+.adminhtml-report-sales-invoiced .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-invoiced .col-qty,
+.adminhtml-report-sales-invoiced .col-invoiced,
+.adminhtml-report-sales-invoiced .col-total-invoiced,
+.adminhtml-report-sales-invoiced .col-total-invoiced-paid,
+.adminhtml-report-sales-invoiced .col-total-invoiced-not-paid {
+  text-align: right;
+  width: 19%;
+}
+/*
+    Reports - Tax
+-------------------------------------- */
+.adminhtml-report-sales-tax .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-tax .col-rate,
+.adminhtml-report-sales-tax .col-qty,
+.adminhtml-report-sales-tax .col-tax-amount {
+  text-align: right;
+  width: 105px;
+}
+/*
+    Reports - Orders
+-------------------------------------- */
+.adminhtml-report-sales-sales .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-sales .col-orders,
+.adminhtml-report-sales-sales .col-sales-items,
+.adminhtml-report-sales-sales .col-sales-total,
+.adminhtml-report-sales-sales .col-invoiced,
+.adminhtml-report-sales-sales .col-refunded,
+.adminhtml-report-sales-sales .col-sales-tax,
+.adminhtml-report-sales-sales .col-sales-shipping,
+.adminhtml-report-sales-sales .col-sales-discount,
+.adminhtml-report-sales-sales .col-canceled {
+  text-align: right;
+  width: 10.5%;
+}
+/*
+    Reports - Coupons
+-------------------------------------- */
+/* TODO: re-check styles for coupons table after coupons functionality will have been repaired */
+.adminhtml-report-sales-coupons .col-period {
+  white-space: nowrap;
+  width: 70px;
+}
+.adminhtml-report-sales-coupons .col-sales,
+.adminhtml-report-sales-coupons .col-users,
+.adminhtml-report-sales-coupons .col-sales-discount,
+.adminhtml-report-sales-coupons .col-total-amount,
+.adminhtml-report-sales-coupons .col-subtotal,
+.adminhtml-report-sales-coupons .col-discount,
+.adminhtml-report-sales-coupons .col-total {
+  text-align: right;
+}
+/*
+    Reports - Low Stock
+-------------------------------------- */
+.adminhtml-report-product-lowstock .col-qty {
+  width: 10%;
+}
+.adminhtml-report-product-lowstock .range-line {
+  display: inline-block;
+}
+.adminhtml-report-product-lowstock .col-product {
+  width: 65%;
+}
+.adminhtml-report-product-lowstock .col-sku {
+  width: 25%;
+}
+/*
+    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;
+}
+/*
+    Newsletter
+-------------------------------------- */
+[class^=" adminhtml-newsletter-"] .page-actions .action-back {
+  float: right;
+}
+/*
+    Newsletter Templates
+-------------------------------------- */
+.adminhtml-newsletter-template-index .col-id {
+  width: 35px;
+}
+.adminhtml-newsletter-template-index .col-actions {
+  width: 80px;
+}
+.adminhtml-newsletter-template-index .col-type {
+  width: 100px;
+}
+.adminhtml-newsletter-template-index .col-added,
+.adminhtml-newsletter-template-index .col-updated {
+  width: 140px;
+}
+[class^=' adminhtml-newsletter-'] .buttons-set {
+  margin: 0 0 15px;
+}
+[class^=" adminhtml-newsletter-"] .buttons-set button {
+  margin-right: 4px;
+}
+/*
+    Newsletter - Queue
+-------------------------------------- */
+.adminhtml-newsletter-queue-index .col-id {
+  width: 35px;
+}
+.adminhtml-newsletter-queue-index .col-finish,
+.adminhtml-newsletter-queue-index .col-start {
+  width: 130px;
+}
+.adminhtml-newsletter-queue-index .col-status,
+.adminhtml-newsletter-queue-index .col-processed,
+.adminhtml-newsletter-queue-index .col-recipients {
+  white-space: nowrap;
+  width: 85px;
+}
+.adminhtml-newsletter-queue-index td.col-processed,
+.adminhtml-newsletter-queue-index td.col-recipients {
+  text-align: right;
+}
+.adminhtml-newsletter-queue-index .col-actions {
+  width: 80px;
+}
+/*
+    Newsletter - Subscribers
+-------------------------------------- */
+.adminhtml-newsletter-subscriber-index .col-id {
+  width: 35px;
+}
+.adminhtml-newsletter-subscriber-index .col-type {
+  width: 75px;
+}
+.adminhtml-newsletter-subscriber-index .col-status {
+  white-space: nowrap;
+  width: 85px;
+}
+/*
+    Newsletter - Problems
+-------------------------------------- */
+.adminhtml-newsletter-problem-index .col-select {
+  width: 25px;
+}
+.adminhtml-newsletter-problem-index .col-id {
+  width: 35px;
+}
+.adminhtml-newsletter-problem-index .col-start {
+  width: 130px;
+}
+.adminhtml-newsletter-problem-index .col-error-code {
+  width: 150px;
+}
+.table-fieldset-alt,
+.type-options {
+  margin-bottom: 20px;
+}
+.table-fieldset-alt thead th,
+.table-fieldset-alt tbody tr td {
+  border-width: 0;
+}
+.table-fieldset-alt tbody tr:nth-child(odd) td,
+.table-fieldset-alt tbody tr:nth-child(odd):hover td {
+  background: #fff;
+}
+/*
+    System - Tax
+--------------------------------------*/
+.tax-rate-popup .ui-dialog-content.ui-widget-content {
+  padding: 10px 10px 0;
+}
+.tax-rate-popup .fieldset {
+  margin: 0;
+}
+.tax-rate-popup .field {
+  margin-bottom: 20px;
+}
+.tax-rate-popup .field .label {
+  margin: 5px 0 0 0;
+  width: 26%;
+  padding: 0 20px 0 0;
+  float: left;
+  text-align: right;
+  box-sizing: content-box;
+  -webkit-box-sizing: content-box;
+  -moz-box-sizing: content-box;
+  -ms-box-sizing: content-box;
+}
+.tax-rate-popup .field .control {
+  width: 58%;
+  margin: 0;
+  float: left;
+}
+.tax-rate-popup .field .control select,
+.tax-rate-popup .field .control .input-text {
+  width: 100%;
+}
+.tax-rate-popup .field-rate .control .input-text {
+  width: 50%;
+}
+.tax-rate-popup .field-rate label.mage-error {
+  display: block;
+}
+.tax-rate-popup .tax-rate-titles-note-td {
+  margin-left: 26%;
+  padding-left: 20px;
+}
+.field-tax_rate,
+.field-tax_customer_class,
+.field-tax_product_class {
+  position: relative;
+}
+.mselect-hidden + .mage-error {
+  position: absolute;
+  top: 100%;
+}
+/*
+    Tags
+-------------------------------------- */
+.tag-title {
+  overflow: hidden;
+}
+.tag-title .page-actions {
+  float: right;
+}
+/*
+    Attribute Mapping
+-------------------------------------- */
+.field-attributes_box .control-value {
+  width: 100%;
+}
+.adminhtml-googleshopping-types-new #attribute_set {
+  padding: 0;
+}
+.adminhtml-googleshopping-types-new #gcontent_attributes_container {
+  margin-top: -6px;
+}
+/*
+    Dashboard
+-------------------------------------- */
+.dashboard-inner {
+  border: 1px solid #ccc;
+}
+.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: #ffffff 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 {
+  margin: 20px 0 10px;
+}
+.dashboard-container .dashboard-diagram .store-switcher {
+  margin-top: 0;
+}
+.dashboard-diagram-nodata {
+  border: 1px solid #ccc;
+  padding: 20px 0;
+  text-align: center;
+}
+.action-switch-to-analytics:link,
+.action-switch-to-analytics:visited,
+.action-switch-to-hub:link,
+.action-switch-to-hub:visited {
+  font-weight: 400;
+  font-size: 16px;
+  color: #19a3d1;
+  position: relative;
+  padding: 0 0 0 20px;
+  margin: 11px 0 0 20px;
+  background: none;
+  box-shadow: none;
+}
+.action-switch-to-hub:before,
+.action-switch-to-analytics:before {
+  position: absolute;
+  width: 17px;
+  height: 12px;
+  background: url(../images/icons-dashboard-switcher.png) 0 0 no-repeat;
+  left: 0;
+  top: 4px;
+  content: '';
+}
+.action-switch-to-hub:before {
+  top: 2px;
+}
+.action-switch-to-analytics:before {
+  background-position: 0 -13px;
+}
+/*
+    Sales
+-------------------------------------- */
+#order-totals strong {
+  color: #676056;
+  font-size: 14px;
+  font-weight: 700;
+}
+#order-shipping-method-summary a {
+  color: #007dbd;
+  font-size: 14px;
+  font-weight: 400;
+}
+#order-shipping-method-summary a:focus,
+#order-shipping-method-summary a:hover {
+  text-decoration: underline;
+}
+.customer-current-activity {
+  float: left;
+  width: 22%;
+}
+.customer-current-activity-inner {
+  background: #fff;
+  border: 1px solid #eae6e0;
+  padding: 18px;
+  border-radius: 5px;
+}
+.order-details-existing-customer {
+  padding-left: 1%;
+  position: relative;
+  width: 77%;
+  float: right;
+}
+.order-billing-address,
+.order-billing-method,
+[class^=" sales-order-"] .order-history,
+[class^=" sales-order-"] .order-comments-history,
+[class^=" sales-order-"] .order-information,
+[class^=" sales-order-"] .order-billing-address,
+[class^=" sales-order-"] .order-payment-method,
+[class^=" adminhtml-rma-"] .order-comments-history,
+[class^=" adminhtml-rma-"] .order-shipping-address,
+[class^=" adminhtml-rma-"] .rma-request-details {
+  float: left;
+  width: 49.5%;
+}
+.order-shipping-address,
+.order-shipping-method,
+[class^=" sales-order-"] .order-totals,
+[class^=" sales-order-"] .order-account-information,
+[class^=" sales-order-"] .order-shipping-address,
+[class^=" sales-order-"] .order-payment-method-virtual,
+[class^=" sales-order-"] .order-shipping-method,
+[class^=" adminhtml-rma-"] .rma-confirmation,
+[class^=" adminhtml-rma-"] .order-shipping-method,
+[class^=" adminhtml-rma-"] .order-return-address {
+  float: right;
+  width: 49%;
+}
+#order-data .order-account-information {
+  float: none;
+  width: auto;
+}
+[class^=" sales-"] .order-information .fieldset-wrapper > .fieldset-wrapper-title .title {
+  width: 100%;
+}
+#order-data .actions .action-add,
+#order-data .actions .action-delete,
+#order-customer-selector .actions .action-add {
+  margin: 0 0 0 20px;
+}
+#order-data .order-methods ul {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+#order-data .order-methods dl,
+#order-data .order-methods dt,
+#order-data .order-methods dd,
+#order-data .payment-methods dl,
+#order-data .payment-methods dt,
+#order-data .payment-methods dd {
+  margin: 0;
+  padding: 0;
+}
+#order-data .order-methods dd + dt,
+#order-data .payment-methods dd + dt {
+  margin-top: 17px;
+}
+#order-data .order-methods dt,
+#order-data .payment-methods dt {
+  margin: 0 0 8px;
+}
+.order-coupons .box-left,
+.order-gift-options .box-left {
+  float: left;
+  width: 49%;
+}
+.order-coupons .box-right,
+.order-gift-options .box-right {
+  float: right;
+  width: 49%;
+}
+.ui-dialog.gift-options-popup .ui-dialog-content {
+  padding: 25px;
+}
+.ui-dialog.gift-options-popup .ui-dialog-content h4 {
+  margin: 0 0 17px;
+}
+.gift-options-tooltip {
+  background: #fff;
+  border-radius: 5px;
+  padding: 10px;
+  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
+}
+#order-data .box-left fieldset,
+#order-data .box-right fieldset {
+  border-radius: 5px;
+}
+#order-data .order-items td[colspan="8"] {
+  border: 1px solid #c0bbaf;
+}
+.order-search-items thead th:nth-child(1) {
+  width: 60px;
+}
+.order-search-items thead th:nth-child(3) {
+  width: 80px;
+}
+.order-search-items thead th:nth-child(4) {
+  width: 100px;
+}
+.order-search-items thead th:nth-child(5) {
+  width: 55px;
+}
+.order-search-items thead th:nth-child(6) {
+  width: 1px;
+}
+.adminhtml-rma-new .order-totals,
+.order-comments-history .order-comments-history,
+[class^=" adminhtml-rma-"] .rma-comments-history {
+  float: none;
+  width: 100%;
+}
+[class^=" sales-order-"] .order-billing-address .actions,
+[class^=" sales-order-"] .order-shipping-address .actions {
+  margin: 17px 0;
+}
+[class^=" sales-order-"] .order-billing-address .control + label,
+[class^=" sales-order-"] .order-shipping-address .control + label {
+  margin: 17px 0 0;
+}
+.sales-order-create-index .page-actions-inner .cancel,
+.sales-order-create-index .page-actions-inner .cancel:hover,
+.sales-order-create-index .page-actions-inner .cancel:active {
+  float: right;
+  margin: 0 0 0 12px;
+  padding: 3px 0 3px 6px;
+}
+.sales-order-create-index #order-message ul.messages > li,
+.sales-order-edit-index #order-message ul.messages > li {
+  margin: 0 0 60px;
+}
+.sales-order-create-index thead .col-entity_id,
+.sales-order-create-index .col-entity_id,
+.sales-order-create-index .col-qty {
+  width: 50px;
+}
+.sales-order-create-index .col-in_products {
+  text-align: center;
+}
+.sales-order-create-index .col-sku,
+.sales-order-create-index .col-remove {
+  width: 120px;
+}
+.sales-order-create-index .col-price {
+  width: 70px;
+}
+.sales-order-create-index .order-search-items .col-name {
+  width: 50%;
+}
+.sales-order-create-index .order-items.fieldset-wrapper .fieldset-wrapper-title,
+.sales-order-create-index .order-search-items.fieldset-wrapper .fieldset-wrapper-title,
+.sales-order-create-index .order-additional-area.fieldset-wrapper .fieldset-wrapper-title,
+.sales-order-create-index .order-errors .fieldset-wrapper-title {
+  border-bottom: 0;
+  margin: 0;
+}
+.sales-order-create-index #order-data .fieldset-wrapper-title .actions .action-add {
+  margin-left: 0;
+  margin-right: 20px;
+}
+.sales-order-create-index .order-items.fieldset-wrapper .title,
+.sales-order-create-index .order-additional-area.fieldset-wrapper .title,
+.sales-order-create-index .order-search-items.fieldset-wrapper .title,
+.sales-order-create-index .order-errors .title {
+  border-bottom: 1px solid #ededed;
+  float: none;
+  margin: 0 0 18px;
+  width: 100%;
+}
+.sales-order-create-index .order-items.fieldset-wrapper .actions,
+.sales-order-create-index .order-search-items.fieldset-wrapper .actions,
+.sales-order-create-index #order-errors .actions {
+  float: none;
+  border: 1px solid #c0bbaf;
+  border-bottom: 0;
+  background: #f6f3ec;
+  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2ZjNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGVhZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+  background: -moz-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f6f3ec), color-stop(100%, #edeae1));
+  background: -webkit-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -o-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: -ms-linear-gradient(top, #f6f3ec 0%, #edeae1 100%);
+  background: linear-gradient(to bottom, #f6f3ec 0%, #edeae1 100%);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f3ec', endColorstr='#edeae1', GradientType=0);
+  margin: 0;
+  padding: 0 8px;
+  position: relative;
+}
+.sales-order-create-index #order-data .fieldset-wrapper .actions .action-add {
+  margin: 7px 8px 8px 0;
+}
+.sales-order-create-index .order-additional-area.fieldset-wrapper .actions {
+  float: none;
+  margin: 0 0 8px;
+  padding: 0;
+}
+.sales-order-create-index #order-data .fieldset-wrapper .actions .action-delete {
+  margin: 11px 0 0;
+}
+/* ----------------------------------- */
+#order-data .page-actions {
+  padding-top: 0;
+}
+#order-data .store-switcher {
+  margin: -46px 0 0;
+  position: relative;
+  width: 50%;
+}
+.create-order-sidebar-container > div + div {
+  border-top: 1px solid #ededed;
+  margin-top: 35px;
+}
+.create-order-sidebar-container > div .head h5 {
+  color: #676056;
+  font-size: 14px;
+  font-weight: 400;
+  margin: 17px 0 7px;
+}
+.customer-current-activity-inner > h4 {
+  color: #676056;
+  font-size: 20px;
+  font-weight: 400;
+  border-bottom: 1px solid #ededed;
+  margin-top: 0;
+  padding: 0 0 16px;
+}
+.customer-current-activity-inner .data-table th {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 400;
+}
+.customer-current-activity-inner .data-table td {
+  color: #676056;
+  font-size: 12px;
+  font-weight: 400;
+}
+.customer-current-activity .action-refresh {
+  float: right;
+}
+.customer-current-activity .action-refresh,
+.customer-current-activity .data-table .icon {
+  display: inline-block;
+  text-indent: 100%;
+  overflow: hidden;
+  height: 16px;
+  width: 16px;
+  white-space: nowrap;
+}
+.customer-current-activity .action-refresh:before,
+.customer-current-activity .data-table .icon:before {
+  content: "\e010";
+  color: #c3c2be;
+  display: block;
+  text-indent: 0;
+  font-size: 16px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  font-weight: normal;
+  speak: none;
+  -webkit-font-smoothing: antialiased;
+}
+.customer-current-activity .data-table .icon-remove:before {
+  content: "\e07f";
+}
+.customer-current-activity .data-table .icon-add:before {
+  content: "\e071";
+}
+.customer-current-activity .auto-scroll {
+  color: #676056;
+  font-size: 13px;
+  font-weight: 400;
+  overflow: auto;
+  max-height: 150px;
+}
+.customer-current-activity .auto-scroll + button {
+  margin: 22px 0 0;
+}
+.customer-current-activity .actions {
+  border-top: none;
+  margin: 20px 0 0;
+  padding: 0;
+}
+.overlay {
+  background: rgba(0, 0, 0, 0.3);
+  border-radius: 5px;
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+}
+.overlay span {
+  color: #111;
+  font-weight: bold;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin: -25px 0 0 -100px;
+  width: 200px;
+}
+/*
+    Order view
+-------------------------------------- */
+[class^=" sales-order-"] .fieldset-wrapper-title .actions {
+  float: right;
+  font-size: 12px;
+  margin: 8px 20px 0 0;
+}
+[class^=" sales-order-"] .fieldset-wrapper-title .actions a:link,
+[class^=" sales-order-"] .fieldset-wrapper-title .actions a:visited,
+[class^=" sales-order-"] .fieldset-wrapper-title .actions a:hover,
+[class^=" sales-order-"] .fieldset-wrapper-title .actions a:active {
+  color: #a29c94;
+}
+.order-comments-history fieldset {
+  border: 0;
+  margin: 0;
+  padding: 0;
+}
+.order-comments-history textarea,
+.rma-history-form textarea {
+  height: 6em;
+  margin: 5px 0 10px;
+  resize: vertical;
+  width: 100%;
+}
+.order-comments-history input[type="checkbox"] {
+  margin-right: 5px;
+}
+.order-history-comments-options {
+  float: left;
+}
+.order-comments-history .actions {
+  float: right;
+}
+[class^=" sales-order-"] .fieldset-wrapper address {
+  overflow: auto;
+}
+/*
+    Orders comments
+-------------------------------------- */
+.note-list {
+  list-style: none;
+  padding: 0;
+}
+.note-list li {
+  border-top: 1px solid #ededed;
+  padding: 9px 0;
+}
+.note-list li:first-child {
+  border: 0;
+  padding-top: 13px;
+}
+.note-list div {
+  font-size: 12px;
+}
+.note-list .note-list-date,
+.note-list .note-list-status,
+.note-list .note-list-customer span {
+  font-weight: bold;
+}
+.note-list .note-list-time,
+.note-list .note-list-status {
+  border-right: 1px solid #676056;
+  padding: 0 5px 0 0;
+  margin: 0 5px 0 0;
+}
+.note-list .note-list-customer {
+  white-space: nowrap;
+}
+.note-list .note-list-comment {
+  margin: 5px 0 0;
+}
+.note-list .note-list-customer-notapplicable {
+  color: #d87e34;
+}
+.note-list .note-list-customer-notified {
+  color: #185b00;
+}
+.note-list .note-list-customer-not-notified {
+  color: #963535;
+}
+.checkout-agreement-index .col-id,
+[class^=" sales-billing-"] .col-id,
+[class^=" sales-transactions-"] .col-id {
+  width: 35px;
+}
+[class^=" sales-order-shipment-"] .col-ship,
+[class^=" sales-"] .col-return-to-stock,
+.adminhtml-rma-new .col-select {
+  text-align: center;
+  width: 35px;
+}
+[class^=" sales-order-"] .col-price-original,
+[class^=" sales-order-"] .col-tax-amount,
+[class^=" sales-order-"] .col-tax-percent,
+[class^=" sales-order-"] .col-discont,
+[class^=" sales-order-"] .col-total,
+[class^=" sales-order-"] .col-discount,
+[class^=" sales-order-"] .col-tax,
+[class^=" sales-"] .col-refunded,
+[class^=" adminhtml-rma-"] .col-order,
+[class^=" adminhtml-rma-"] .col-required,
+[class^=" adminhtml-rma-"] .col-system,
+[class^=" adminhtml-rma-"] .col-visible-on-front,
+.checkout-agreement-index .col-status,
+.adminhtml-rma-item-attribute-edit .col-position {
+  text-align: right;
+  white-space: nowrap;
+  width: 50px;
+}
+[class^=" sales-order-"] .col-subtotal,
+[class^=" sales-order-"] .col-price,
+[class^=" adminhtml-rma-"] .col-price {
+  text-align: right;
+  width: 50px;
+}
+.sales-order-invoice-view .col-subtotal,
+.sales-order-invoice-view .col-price {
+  width: 10%;
+}
+[class^=" sales-"] .col-actions,
+[class^=" adminhtml-rma-"] .col-actions,
+[class^=" adminhtml-rma-"] .col-default {
+  width: 50px;
+}
+[class^=" sales-"] .col-select,
+[class^=" adminhtml-rma-"] .col-select {
+  width: 60px;
+}
+[class^=" sales-"] .col-qty,
+[class^=" sales-order-"] .col-qty-invoice,
+[class^=" sales-order-"] .col-ordered-qty,
+[class^=" adminhtml-rma-"] .col-qty,
+[class^=" adminhtml-rma-"] .col-condition {
+  width: 70px;
+}
+[class^=" sales-"] .col-refund,
+[class^=" sales-transactions-"] .col-closed,
+.sales-order-view .col-closed {
+  text-align: center;
+  width: 70px;
+}
+[class^=" sales-"] .col-order-number,
+[class^=" sales-"] .col-invoice-number,
+[class^=" sales-"] .col-memo-number,
+[class^=" sales-"] .col-shipment-number,
+[class^=" sales-"] .col-rma-number,
+[class^=" sales-"] .col-status,
+[class^=" adminhtml-rma-"] .col-order-number,
+[class^=" adminhtml-rma-"] .col-rma-number,
+[class^=" sales-transactions-"] .col-order-id,
+.sales-order-view .col-refunded {
+  white-space: normal;
+  width: 75px;
+}
+[class^=" sales-"] .col-gtbase,
+[class^=" sales-"] .col-gtpurchased {
+  text-align: right;
+  white-space: normal;
+  width: 75px;
+}
+[class^=" sales-"] .col-order-number,
+[class^=" sales-"] .col-rma-number,
+[class^=" adminhtml-rma-"] .col-order-number,
+[class^=" adminhtml-rma-"] .col-rma-number {
+  text-align: left;
+}
+[class^=" adminhtml-rma-"] .col-status,
+[class^=" adminhtml-rma-"] .col-reason,
+[class^=" adminhtml-rma-"] .col-resolution,
+[class^=" sales-transactions-"] .col-transaction-type,
+.sales-order-view .col-memo {
+  width: 100px;
+}
+[class^=" sales-"] tr.headings .col-parent-transaction-id > span,
+[class^=" sales-"] tr.headings .col-method > span,
+[class^=" sales-"] tr.headings .col-transaction-id > span,
+[class^=" sales-"] tr.headings .col-transaction-type > span,
+[class^=" sales-"] tr.headings .col-gtbase > span,
+[class^=" sales-"] tr.headings .col-gtpurchased > span,
+[class^=" sales-order-"] tr.headings .col-discont > span {
+  white-space: normal;
+}
+[class^=" sales-"] .col-period,
+[class^=" adminhtml-rma-"] .col-period {
+  width: 150px;
+}
+[class^=" sales-order-shipment-"] .col-carrier {
+  width: 190px;
+}
+.checkout-agreement-index .col-store-view {
+  white-space: nowrap;
+  width: 200px;
+}
+[class^=" sales-transactions-"] .log-details .data-table tbody tr th,
+[class^=" sales-transactions-"] .col-key {
+  width: 22%;
+}
+.sales-order-index .col-1-layout table.data {
+  table-layout: fixed;
+  word-wrap: break-word;
+}
+.eq-ie8 .sales-order-index .col-1-layout table.data {
+  table-layout: auto;
+  word-wrap: normal;
+}
+[class^=" sales-"] .col-from-store {
+  width: 15%;
+}
+[class^=" sales-"] .col-2-left-layout .hor-scroll {
+  margin-bottom: -4px;
+  overflow: auto;
+  padding-bottom: 4px;
+  width: 100%;
+}
+[class^=" sales-order-"] .order-totals .actions,
+[class^=" adminhtml-rma-"] .col-qty,
+[class^=" adminhtml-rma-"] .col-qty_ordered,
+.sales-order-view .col-refunded {
+  text-align: right;
+}
+[class^=" sales-order-"] .col-price .label,
+[class^=" sales-order-"] .col-subtotal .label {
+  display: inline-block;
+  min-width: 60px;
+  white-space: nowrap;
+}
+[class^=" sales-order-"] .col-price .price-excl-tax .price,
+[class^=" sales-order-"] .col-price .price-incl-tax .price,
+[class^=" sales-order-"] .col-subtotal .price-excl-tax .price,
+[class^=" sales-order-"] .col-subtotal .price-incl-tax .price {
+  font-weight: bold;
+}
+[class^=" sales-order-"] .grid .col-qty table,
+[class^=" sales-order-"] .grid .col-qty tbody,
+[class^=" sales-order-"] .grid .col-qty tr,
+[class^=" sales-order-"] .grid .col-qty td,
+[class^=" sales-order-"] .grid .col-ordered-qty table,
+[class^=" sales-order-"] .grid .col-ordered-qty tbody,
+[class^=" sales-order-"] .grid .col-ordered-qty tr,
+[class^=" sales-order-"] .grid .col-ordered-qty td {
+  background: none;
+  border: 0;
+}
+[class^=" sales-order-"] .col-ordered-qty td {
+  padding: 0 5px 3px;
+}
+[class^=" sales-order-"] .grid .product-title {
+  font-weight: bold;
+}
+[class^=" sales-order-"] .item-options {
+  margin: 5px 0 5px 10px;
+}
+[class^=" sales-order-"] .item-options dt {
+  font-weight: bold;
+}
+[class^=" sales-order-"] .item-options dd {
+  margin: 0 0 0 10px;
+}
+.adminhtml-rma-item-attribute-edit .col-position input {
+  text-align: center;
+}
+.order-subtotal .label {
+  text-align: right;
+}
+.items-to-invoice {
+  border: 1px solid #c0bbaf;
+  margin-top: 13px;
+  width: 100%;
+}
+.items-to-invoice td,
+table.items-to-invoice tbody tr:hover td {
+  background-color: #e6e3de;
+  border: 0;
+  text-align: center;
+}
+[class^=" sales-order-creditmemo-"] .no-items {
+  padding-top: 13px;
+  text-align: center;
+}
+.items-to-invoice .grand-total {
+  color: #19a3d1;
+  font-weight: bold;
+}
+.sales-order-shipment-new .order-totals .fieldset-wrapper {
+  padding-top: 18px;
+}
+.sales-order-shipment-new .actions {
+  float: right;
+}
+.creditmemo-totals .data-table input[type="text"] {
+  text-align: right;
+  width: 60px;
+}
+[class^=" sales-order-"] .order-subtotal .label {
+  width: 80%;
+}
+.adminhtml-rma-new .rma-confirmation .actions {
+  margin-top: 10px;
+  text-align: right;
+}
+[class^=" adminhtml-rma-"] .rma-items th.col-qty span,
+.adminhtml-rma-edit .rma-items th.col-qty span {
+  text-align: left;
+  white-space: normal;
+}
+.adminhtml-rma-edit .data-table .col-carrier,
+[class^=" sales-billing-agreement-"] .log-details .data-table th {
+  width: 20%;
+}
+.adminhtml-rma-edit .data-table .col-title {
+  width: 35%;
+}
+.adminhtml-rma-edit .data-table .col-number {
+  width: 25%;
+}
+[class^=" sales-order-"] .order-shipping-address .price,
+.order-shipping-address .shipping-description-title {
+  font-weight: bold;
+}
+[class^=" adminhtml-rma-"] .col-actions a {
+  cursor: pointer;
+  white-space: nowrap;
+}
+[class^=" adminhtml-rma-"] .col-reason input[type="text"] {
+  margin: 5px 0 0;
+  width: 100%;
+}
+[class^=" adminhtml-rma-"] .col-actions .separator {
+  margin: 0 3px;
+}
+[class^=" sales-"] .order-payment-method .data-table {
+  margin-top: 15px;
+}
+[class^=" sales-"] .order-payment-currency {
+  margin-top: 15px;
+}
+[class^=" sales-"] .grid tbody td {
+  vertical-align: top;
+}
+[class^=" sales-"] .grid tbody.even tr td {
+  background: #e6e3de;
+}
+[class^=" sales-"] .grid tbody.odd tr td {
+  border-bottom: 0;
+  background: #f5f2ed;
+}
+[class^=" sales-"] .grid .data {
+  border-bottom: 1px solid #c0bbaf;
+}
+[class^=" sales-"] .grid td .option-label {
+  font-weight: bold;
+}
+[class^=" sales-"] .grid td .option-value {
+  margin: 0 0 0 10px;
+}
+.col-product .product_to_add {
+  float: right;
+}
+/*
+    Packaging for Shipping Popup
+-------------------------------------- */
+#popup-window-mask,
+.popup-window-mask {
+  background: rgba(0, 0, 0, 0.5);
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 999;
+}
+.packaging-window,
+.packed-window {
+  background: #fff;
+  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
+  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
+  left: 50%;
+  margin: -200px 0 0 -471px;
+  position: fixed;
+  top: 50%;
+  width: 1000px;
+  z-index: 1000;
+}
+.packaging-window .entry-edit-head {
+  padding: 3px 5px;
+}
+.packaging-window .messages {
+  padding: 10px 26px 10px 32px;
+  border: 0;
+  -moz-border-radius: 0;
+  -webkit-border-radius: 0;
+  border-radius: 0;
+  color: #963535;
+  text-shadow: none;
+  position: relative;
+  background: #f3dcd8;
+  border: 1px solid #963535;
+  margin-top: -1px;
+}
+.packaging-window .messages:before {
+  position: absolute;
+  left: 8px;
+  top: 50%;
+  margin-top: -11px;
+  background: none;
+  text-shadow: none;
+  width: auto;
+  height: auto;
+  border: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 16px;
+  content: '\e069';
+  color: #963535;
+}
+.packaging-window .validation-failed {
+  background: #fef0ed;
+  border: 1px dashed #d6340e;
+}
+.packaging-window .packaging-content {
+  overflow: auto;
+  overflow-x: hidden;
+  height: auto !important;
+  max-height: 400px;
+}
+.packaging-window .package-options {
+  width: 100%;
+  border-top: 1px solid #ccc;
+  padding: 10px 0 0;
+  margin: 3px 0 0;
+}
+.packaging-window .package-options td {
+  vertical-align: middle;
+}
+.packaging-window .package-options .input-text {
+  width: 50px;
+}
+.packaging-window .package_prapare {
+  margin-bottom: 15px;
+}
+.packaging-window .package-options .customs-value {
+  width: 80px;
+}
+.packaging-window .package-options .options-weight {
+  width: 75px;
+}
+.packaging-window .package-options .options-units-weight {
+  width: 45px;
+}
+.packaging-window .package-options .options-units-dimensions {
+  width: 45px;
+}
+.packaging-window .package-options .options-content-type {
+  width: 120px;
+}
+.packaging-window .package-options input[type=text].disabled,
+.packaging-window .package-options select.disabled {
+  background: #eee;
+}
+.packaging-window .package-options-contents {
+  border-top: 0;
+}
+.packaging-window .package-add-products {
+  margin: 20px 0 0;
+}
+.packaging-window .package-add-products .grid {
+  padding: 0;
+}
+.packaging-window .package-add-products .grid button {
+  vertical-align: middle;
+}
+.packaging-window .package-number {
+  font-weight: bold;
+}
+.packaging-window .package-number span {
+  margin-left: 5px;
+}
+.packed-window .entry-edit-head {
+  padding: 3px 5px;
+}
+.packed-window .packed-content {
+  padding: 10px 10px 0;
+  overflow: auto;
+  max-height: 400px;
+}
+.packed-window .package {
+  border-top: 1px solid #ededed;
+  margin-bottom: 30px;
+  padding: 10px;
+}
+.packed-window .package:first-child {
+  border-top: 0;
+}
+.package-info {
+  background: #e6e3de;
+  border: 1px solid #c0bbaf;
+}
+.package-info th {
+  font-weight: bold;
+}
+.packed-window .package-info table tbody tr td,
+.packed-window .package-info table tbody tr th,
+.package-info table tbody tr:nth-child(2n+1) td,
+.package-info table tbody tr:nth-child(2n+1) th {
+  background: none;
+  border: 0;
+  padding: 5px 5px 2px;
+}
+.packed-window .package .grid {
+  padding: 0;
+}
+.packed-window .package-options {
+  width: 60%;
+}
+.packed-window .package-options td,
+.packed-window .package-options th {
+  padding: 1px 0;
+}
+.grid .popup-window {
+  text-align: left;
+}
+.grid tr.on-mouse td .popup-window .data-table tbody tr:nth-child(2n+1) td,
+.grid table tbody tr.on-mouse:nth-child(odd):hover td .popup-window .data-table tbody tr:nth-child(2n+1) td,
+.grid table tbody tr.on-mouse:nth-child(odd):hover td .popup-window .data-table tbody tr:nth-child(2n+1):hover td,
+.grid table tbody tr.on-mouse:nth-child(2n+1):hover td .popup-window .data-table tbody tr:nth-child(2n+1) td,
+.grid table tbody tr.on-mouse:nth-child(2n+1):hover td .popup-window .data-table tbody tr:nth-child(2n+1):hover td,
+.grid table tbody tr.on-mouse:hover td .popup-window .data-table tbody tr:nth-child(2n+1),
+.grid table tbody tr.on-mouse:hover th .popup-window .data-table tbody tr:nth-child(2n+1) {
+  background-color: #fbfaf6;
+}
+.grid .popup-window {
+  text-align: left;
+}
+.popup-window-buttons-set {
+  text-align: right;
+  padding: 25px;
+}
+.popup-window-title {
+  background: #f3efea;
+  padding: 19px 20px;
+}
+.popup-window-title .title {
+  color: #676056;
+  display: block;
+  font-size: 20px;
+  line-height: 1;
+}
+.popup-window-title .actions {
+  float: right;
+}
+.popup-window-content {
+  padding: 25px 25px 0;
+}
+.popup-window-content > ul {
+  list-style: none;
+  padding: 0;
+}
+.packaging-window .col-weight {
+  text-align: left;
+  width: 60px;
+}
+.packaging-window .col-qty {
+  text-align: left;
+  width: 80px;
+}
+.packed-window .col-qty,
+.packed-window .col-weight,
+.packed-window .col-qty_ordered {
+  text-align: right;
+  width: 70px;
+}
+.packaging-window .col-select,
+.packaging-window .col-measure {
+  text-align: center;
+  width: 35px;
+}
+.popup-fieldset-title .title {
+  color: #666;
+  display: inline-block;
+  font-size: 18px;
+  font-weight: normal;
+  padding: 7px 0 10px;
+}
+.popup-fieldset-title .actions {
+  float: right;
+}
+.packaging-window select {
+  margin-bottom: 0;
+}
+.packaging-window .col-width,
+.packaging-window .col-height,
+.packaging-window .col-length,
+.packaging-window .data-table .col-total-weight input[type="text"] {
+  width: 60px;
+}
+.packaging-window .col-total-weight {
+  white-space: nowrap;
+  width: 100px;
+}
+.packaging-window .col-signature {
+  width: 160px;
+}
+.packaging-window .data-table .col-actions,
+.packaging-window .col-total-weight {
+  white-space: nowrap;
+}
+.packaging-window .data-table .action-delete {
+  margin: 5px 0 0 5px;
+}
+.packaging-window .grid tr th {
+  border-bottom: 1px solid #c9c2b8;
+}
+.packaging-window .grid tr th:first-child,
+.packaging-window .grid td:first-child,
+.packaging-window .grid td:last-child {
+  border-left: 0;
+  border-right: 0;
+}
+.packaging-window .data-table .col-qty-edit {
+  white-space: nowrap;
+  width: 50px;
+}
+.packaging-window .data-table .col-qty-edit input[type="text"] {
+  width: 50px;
+}
+.sp-methods > dt {
+  font-weight: bold;
+}
+.sp-methods > dd {
+  margin: 5px 0 5px 15px;
+}
+.sp-methods > dd > ul {
+  list-style: none;
+  padding: 0;
+}
+[class^=" sales-order-"] .order-billing-address .packaging-window .actions,
+[class^=" sales-order-"] .order-shipping-address .packaging-window .actions {
+  margin: 0;
+}
+/*
+    Popup Configuration Popup
+-------------------------------------- */
+#product_composite_configure_messages {
+  margin-left: 0 !important;
+  padding: 10px 15px;
+}
+.rma-popup,
+.cms-popup {
+  background: #fff;
+  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
+  cursor: default;
+  position: fixed;
+  left: 50%;
+  top: 50%;
+  z-index: 1000;
+}
+.rma-popup {
+  width: 540px;
+  margin: 0 0 0 -271px;
+}
+.rma-popup .entry-edit .fieldset {
+  border: none;
+}
+.rma-popup .validation-advice,
+.rma-popup label.mage-error {
+  margin-left: 0;
+}
+.rma-popup .content {
+  background: #fff;
+  border-bottom: 1px solid #ccc;
+  max-height: 400px;
+  overflow: auto;
+}
+.rma-popup .content .grid {
+  padding: 0;
+}
+.rma-popup .content .grid table {
+  border-bottom: 1px solid #cbd3d4;
+}
+.rma-popup .product-options {
+  border-bottom: 1px solid #e7e7e7;
+  margin: 0 0 15px;
+  padding: 0 0 12px;
+}
+.rma-popup .product-options .required {
+  color: #333 !important;
+  font-weight: normal !important;
+}
+.rma-popup .product-options .required em {
+  color: #d40707;
+}
+.rma-popup .last-fieldset .product-options {
+  border: 0 none;
+  margin-bottom: 0;
+  padding-bottom: 0;
+}
+.rma-popup .buttons-set {
+  text-align: right;
+  margin: 0;
+  overflow: hidden;
+  padding: 7px 10px 8px;
+}
+.rma-popup .buttons-set {
+  width: 518px;
+}
+.cms-popup .buttons-set {
+  width: 289px;
+}
+.rma-popup .buttons-set button {
+  margin: 0 0 0 5px;
+}
+.grid .rma-popup .form-list tr,
+.grid tr.even .rma-popup .form-list tr,
+.grid tr.on-mouse .rma-popup .form-list tr {
+  background: #fff !important;
+}
+/*
+    URL rewrite
+-------------------------------------- */
+.adminhtml-urlrewrite-edit .field-url-rewrite-option-select .label {
+  width: auto;
+}
+/*
+    Shopping Cart Price Rule
+-------------------------------------- */
+.fieldset .field-coupon_code,
+.fieldset .field-rule_use_auto_generation {
+  margin-bottom: 0;
+}
+.field-rule_use_auto_generation .label {
+  margin-left: 5px;
+}
+.field-rule_use_auto_generation .nested {
+  margin-bottom: 29px;
+}
+/*
+    Product Image Placeholders
+-------------------------------------- */
+#catalog_placeholder .input-file,
+#catalog_placeholder .delete-image > input {
+  margin-right: 5px;
+}
+/* Permanent Redirect for old URL */
+.control > [name="product[url_key_create_redirect]"],
+.control > [name="general[url_key_create_redirect]"] {
+  float: left;
+  margin: 8px 5px 0 0;
+}
+.control > [name="product[url_key_create_redirect]"] + .label,
+.control > [name="general[url_key_create_redirect]"] + .label {
+  width: auto;
+}
+/*
+    New Product Attribute Set
+-------------------------------------- */
+.field-skeleton_set .select {
+  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
+-------------------------------------- */
+.order-gift-options:before,
+.order-gift-options:after,
+.image-panel:before,
+.image-panel:after,
+.images:before,
+.images:after,
+.tax-rate-popup .field:before,
+.tax-rate-popup .field:after,
+.clearfix:before,
+.clearfix:after {
+  content: "";
+  display: table;
+}
+.order-gift-options:after,
+.image-panel:after,
+.images:after,
+.tax-rate-popup .field:after,
+.clearfix:after {
+  clear: both;
+}
+/*
+    This file was created to debug old classes in order to indicate where we must replase it with new ones
+    The types of messages are generated in file: \app\code\core\Mage\Core\Block\Messages.php like $html .= '<' . $this->_messagesSecondLevelTagName . ' class="' . $type . '-msg">';
+-------------------------------------- */
+/*
+    All messages to identify and refactor:
+
+label.mage-error,
+.notice,
+.messages ul,
+.messages li,
+.messages ul li,
+.error-msg,
+.success-msg,
+.notice-msg,
+.warning-msg
+
+Done:
+.notification-global
+.notification-global-notice
+-------------------------------------- */
+.debug {
+  border: 1px solid red !important;
+}
+.messages ul,
+ul.messages {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+ul.messages > li {
+  margin: 20px 0;
+}
+ul.messages li li {
+  padding: 10px 26px 10px 35px;
+  border-radius: 5px;
+  color: #676056;
+  text-shadow: none;
+  position: relative;
+  background: #fffbf0;
+  border: 1px solid #d87e34;
+  margin-top: -1px;
+}
+ul.messages li li:first-child {
+  margin-top: 0;
+}
+ul.messages li li:before {
+  position: absolute;
+  left: 11px;
+  top: 50%;
+  margin-top: -11px;
+  background: none;
+  text-shadow: none;
+  width: auto;
+  height: auto;
+  border: 0;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  font-size: 16px;
+  content: '\e046';
+  /* icon-info  */
+
+  color: #d87e34;
+}
+ul.messages li.error-msg li {
+  color: #963535;
+  border-color: #963535;
+  background: #f3dcd8;
+}
+ul.messages li.error-msg li:before {
+  content: '\e069';
+  color: #963535;
+}
+ul.messages li.success-msg li {
+  border-color: #ceceb6;
+  background: #e4eecb;
+  color: #185b00;
+}
+ul.messages li.success-msg li:before {
+  content: '\e067';
+  color: #185b00;
+}
+/*
+    Accordion
+------------------------*/
+.accordion {
+  margin: 0 0 8px;
+  padding: 0;
+}
+.accordion > dt,
+.accordion > dd.open,
+.accordion .collapseable,
+.section-config.active > .collapseable + input + fieldset,
+.accordion .collapseable.open + input + fieldset {
+  background: #fff;
+  border: 1px solid #eae6e0;
+  border-radius: 5px;
+  margin: 0 0 8px;
+  padding: 5px 18px 2px;
+  position: relative;
+}
+.accordion > dt + dd {
+  display: none;
+}
+.accordion > dt.open,
+.section-config.active > .collapseable,
+.accordion .collapseable.open {
+  margin: 0;
+  border-bottom: 0;
+  border-radius: 5px 5px 0 0;
+}
+.section-config.active > .collapseable + input + fieldset,
+.accordion > dt + dd.open,
+.accordion .collapseable.open + input + fieldset {
+  padding: 25px 18px 18px;
+  display: block;
+  border-top: 0;
+  border-radius: 0 0 5px 5px;
+}
+.section-config > .collapseable > a,
+.accordion > dt a,
+.accordion .collapseable > a {
+  color: #676056;
+  font-size: 20px;
+  font-weight: 400;
+  display: block;
+  padding: 7px 0 10px 22px;
+  text-decoration: none;
+  position: relative;
+  cursor: pointer;
+}
+.section-config > .collapseable > a i,
+.accordion > dt a i,
+.accordion .collapseable > a i {
+  color: #676056;
+  font-size: 20px;
+  font-style: italic;
+  font-weight: 400;
+}
+.section-config.active > .collapseable > a,
+.accordion .collapseable.open a,
+.accordion dt.open a {
+  border-bottom: 1px solid #ededed;
+}
+.section-config > .collapseable > a:before,
+.accordion > dt a:before,
+.accordion .collapseable > a:before {
+  position: absolute;
+  left: 0;
+  top: 7px;
+  font-family: 'MUI-Icons';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  content: '\e02a';
+  /* arrow right icon */
+
+  color: #b2b0ad;
+}
+.section-config.active > .collapseable > a:before,
+.accordion > dt.open a:before,
+.accordion .collapseable.open a:before {
+  content: '\e02c';
+  /* arrow down icon */
+
+}
+.section-config > .collapseable > a:hover:before,
+.accordion > dt a:hover:before,
+.accordion .collapseable > a:hover:before {
+  color: #7e7e7e;
+}
+/* PayPal connected */
+.section-config.complex .section-config.with-button {
+  padding: 20px 15px;
+  margin: 0 -30px 0 -15px;
+  border-bottom: 1px solid #eae6e0;
+}
+.section-config.complex tr:last-child .section-config.with-button {
+  border-bottom: 0;
+}
+.section-config.complex .section-config.with-button > .entry-edit-head {
+  padding: 0;
+  padding-left: 25px;
+  border: 0;
+}
+.section-config.complex .section-config.with-button.enabled > .entry-edit-head:before {
+  content: "\e01e";
+  color: #fff;
+  background: #65940a;
+  font-family: "MUI-Icons";
+  font-weight: normal;
+  padding: 3px;
+  font-size: 10px;
+  width: 10px;
+  height: 10px;
+  line-height: 10px;
+  overflow: hidden;
+  border-radius: 8px;
+  display: block;
+  float: left;
+  margin-left: -25px;
+  margin-top: 0;
+}
+.section-config.complex .section-config.with-button > .config {
+  margin: 10px -10px;
+  border: 1px solid #d1d0ce;
+  border-radius: 5px;
+  padding: 5px 0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td {
+  padding: 0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head {
+  border: 0;
+  border-radius: 0;
+  margin-bottom: 0;
+  padding: 5px 10px 2px;
+  border-bottom: 1px solid #d1d0ce;
+  background: transparent;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .entry-edit-head {
+  border: 0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head a {
+  border-bottom: 0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .config {
+  border: 0;
+  border-bottom: 1px solid #d1d0ce;
+  border-radius: 0;
+  margin: 0;
+  padding-bottom: 50px;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .config {
+  border-bottom: 0;
+}
+.section-config .config h4 {
+  padding-left: 25%;
+  font-size: 18px;
+}
+.section-config .config td.label label.enabled:before {
+  content: "\e01e";
+  color: #fff;
+  background: #65940a;
+  font-family: "MUI-Icons";
+  font-weight: normal;
+  padding: 3px;
+  font-size: 10px;
+  width: 10px;
+  height: 10px;
+  line-height: 10px;
+  overflow: hidden;
+  border-radius: 8px;
+  display: block;
+  float: left;
+  margin-right: 5px;
+}
+.section-config.complex .section-config.with-button > .config:before {
+  content: '';
+  height: 9px;
+  width: 20px;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  bottom: 100%;
+  left: 50%;
+  zoom: 1;
+  z-index: 2;
+  margin-left: -10px;
+  background: url(../images/subconfig-bg.png) no-repeat 0 0;
+}
+.section-config.config-advanced {
+  padding: 30px 0 0;
+}
+.section-config.config-advanced > .entry-edit-head {
+  border: 0;
+  padding: 0;
+  padding-left: 25%;
+}
+.section-config.config-advanced > .entry-edit-head a {
+  border: 0 !important;
+}
+.section-config.config-advanced > .config {
+  padding-left: 0!important;
+  padding-right: 0!important;
+  border: 0!important;
+  border-radius: 0!important;
+}
+.section-config.config-advanced > .entry-edit-head a {
+  margin-left: -22px;
+}
+.section-config.with-button .config-heading strong {
+  display: block;
+  color: #676056;
+  font-size: 14px;
+  font-weight: 700;
+  margin-bottom: 5px;
+}
+.section-config.with-button .config-heading .button-container {
+  margin: 15px 0 0;
+}
+.section-config.with-button .button-container {
+  line-height: 28px;
+}
+.section-config.with-button .button-container a {
+  margin-left: 20px;
+}
+.section-config.with-button .action-configure span {
+  display: block;
+  position: relative;
+  text-align: center;
+}
+.section-config.with-button .action-configure .state-opened {
+  visibility: hidden;
+  height: 0;
+  overflow: hidden;
+}
+.section-config.with-button .action-configure.open .state-opened {
+  visibility: visible;
+  height: auto;
+  overflow: auto;
+}
+.section-config.with-button .action-configure.open .state-closed {
+  visibility: hidden;
+  height: 0;
+  overflow: hidden;
+}
+.accordion > dt + dd {
+  display: none;
+}
+.accordion > dt + .open:empty {
+  background: #ffffff url(../mui/images/ajax-loader-big.gif) no-repeat center;
+  height: 100px;
+}
+/* TODO: arrange configuration tables */
+.accordion .collapseable.disabled {
+  background: #f1f1f1;
+}
+.accordion .collapseable.disabled > a {
+  cursor: not-allowed;
+}
+.accordion .collapseable.disabled > a:before {
+  content: '';
+}
+.accordion .config {
+  border: 0;
+}
+.accordion .config .comment a {
+  color: #007dbd;
+  font-size: 14px;
+  font-weight: 400;
+}
+.accordion .config .comment a:focus,
+.accordion .config .comment a:hover {
+  text-decoration: underline;
+}
+.accordion .config legend {
+  display: none;
+}
+.eq-ie8 .accordion .config legend {
+  position: absolute;
+  left: -999em;
+  display: block;
+  width: 0;
+  height: 0;
+  padding: 0;
+  margin: 0;
+  overflow: hidden;
+}
+.accordion .config table {
+  width: 100%;
+}
+.accordion .config .label {
+  float: none;
+  width: 25%;
+  text-align: right;
+  color: #676056;
+  font-size: 13px;
+  font-weight: 600;
+}
+.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;
+}
+.accordion .config td {
+  background: none;
+  border: 0;
+  padding: 8px 15px 0 0;
+  vertical-align: top;
+}
+.accordion .paypal-selection-simplified {
+  padding-left: 30px;
+}
+.accordion .paypal-selection input[type="checkbox"] {
+  margin: -4px 7px 0 0;
+}
+.accordion .config input[type="text"],
+.accordion .config input[type="password"],
+.accordion .config select,
+.accordion .config textarea {
+  width: 100%;
+  -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%;
+}
+.accordion .config .value {
+  width: 50%;
+  padding-right: 40px;
+}
+.accordion .config .value.with-tooltip {
+  padding-top: 5px;
+}
+.accordion .config .value.with-tooltip .tooltip {
+  position: relative;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  margin: 0;
+  float: right;
+  margin-right: -20px;
+  margin-top: 6px;
+}
+.accordion .config .value.with-tooltip .tooltip-content {
+  padding: 15px;
+  right: 0;
+  margin-left: 0;
+  margin-right: -19px;
+  margin-bottom: 10px;
+  left: auto;
+  top: auto;
+  bottom: 100%;
+  width: 400px;
+  max-width: 400px;
+  line-height: 1.333;
+}
+.accordion .config .value.with-tooltip .tooltip-content:before {
+  content: '';
+  position: absolute;
+  width: 0;
+  height: 0;
+  top: auto;
+  bottom: -5px;
+  left: auto;
+  right: 20px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000;
+  border-bottom: 0;
+  opacity: .8;
+}
+.accordion .config .value.with-tooltip .help {
+  position: relative;
+  width: auto;
+  margin: 0;
+}
+.accordion .config .scope-label {
+  color: #999;
+  font-size: 12px;
+  letter-spacing: 0.05em;
+  padding: 15px 15px 0 0;
+}
+.accordion .config .note {
+  color: #676056;
+  font-size: 12px;
+  font-weight: 400;
+  padding-left: 15px;
+  margin: 5px 0;
+}
+.accordion .config .note a {
+  color: #007dbd;
+  font-size: 12px;
+  font-weight: 400;
+}
+.accordion .config .note a:focus,
+.accordion .config .note a:hover {
+  text-decoration: underline;
+}
+.accordion .config .note:before {
+  position: absolute;
+  margin: 4px 0 0 -14px;
+  content: '';
+  display: inline-block;
+  vertical-align: top;
+  font-size: 0;
+  line-height: 0;
+  width: 0;
+  border-bottom: 5px solid #666;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+}
+.accordion .config .system-tooltip-box {
+  position: absolute;
+}
+.accordion .paypal-selection {
+  margin: 10px;
+  width: 98%;
+}
+.accordion .paypal-selection th {
+  padding: 6px 10px 7px;
+}
+.accordion .paypal-selection {
+  border-bottom: 2px solid #c0bbaf;
+}
+.accordion .paypal-payment-notice {
+  margin: 10px;
+}
+.accordion .custom-options {
+  border: 1px solid #999;
+  padding: 0 10px;
+  margin: 0 0 20px;
+}
+/* TODO: arrange range inputs width in tables */
+.grid td input.input-text-range {
+  width: 35%;
+}
+.grid td input.input-text-range-date {
+  width: 31%;
+}
+/* TODO: styles for required TH fields */
+th.required:after {
+  color: red;
+  content: "*";
+  margin-left: 5px;
+}
+/* TODO: set color for messages in Cache Storage Management */
+.grid-severity-critical,
+.grid-severity-major,
+.grid-severity-notice,
+.grid-severity-minor {
+  display: block;
+  border: 1px solid #c76f35;
+  background: #fffbf0;
+  text-align: center;
+}
+.grid-severity-critical {
+  border-color: #6e1313;
+  background: #f7bfbf;
+  color: #6e1313;
+}
+.grid-severity-major {
+  border-color: #963535;
+  background: #f3dcd8;
+  color: #963535;
+}
+.grid-severity-notice {
+  border-color: #185b00;
+  background: #e6ecc0;
+  color: #185b00;
+}
+/*
+    Sales
+-------------------------------------- */
+.order-items .entry-edit-head .form-buttons {
+  float: right;
+}
+.order-items .entry-edit-head .icon-head {
+  display: inline;
+}
+.order-items .entry-edit-head {
+  margin-bottom: 20px;
+}
+.order-items .entry-edit-head:before,
+.order-items .entry-edit-head:after {
+  content: "";
+  display: table;
+}
+.order-items .entry-edit-head:after {
+  clear: both;
+}
+/*
+    Import-export tax rates
+-------------------------------------- */
+.import-export-tax-rates input[type=file] {
+  margin-right: 10px;
+}
+.import-tax-rates,
+.export-tax-rates {
+  float: left;
+  width: 48.9362%;
+}
+.export-tax-rates {
+  margin-left: 2.12766%;
+}
+.import-export-tax-rates:before,
+.import-export-tax-rates:after {
+  content: "";
+  display: table;
+}
+.import-export-tax-rates:after {
+  clear: both;
+}
+/*
+    Product
+-------------------------------------- */
+.tier {
+  margin: 20px 0 0;
+}
+/*
+    Edit attribute set
+-------------------------------------- */
+.attribute-set-col {
+  display: block;
+  float: left;
+  width: 100%;
+  margin-left: 2.127659574%;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 31.9149%;
+}
+.attribute-set-col:first-child {
+  margin-left: 0;
+}
+.attribute-set-tree {
+  margin-top: 5px;
+  overflow: auto;
+  height: 400px;
+  width: 100%;
+}
+.attribute-set:before,
+.attribute-set:after {
+  content: "";
+  display: table;
+}
+.attribute-set:after {
+  clear: both;
+}
+/*
+    Manage Categories
+-------------------------------------- */
+.catalog-category-edit .category-edit-title {
+  float: left;
+}
+/*
+    Catalog Price Rule
+-------------------------------------- */
+.rule-tree-wrapper {
+  line-height: 28px;
+}
+.rule-tree ul {
+  list-style: none;
+  padding-left: 16px;
+  border-left: dotted 1px #888;
+}
+.rule-tree li {
+  margin: 0 0 10px;
+}
+.rule-tree .x-tree ul {
+  padding-left: 0 !important;
+  border-left: none !important;
+}
+.rule-param .label {
+  color: #000;
+  float: none;
+  text-align: left;
+  padding: 0;
+  vertical-align: baseline;
+  width: auto;
+}
+.rule-param .label-disabled {
+  color: #eee;
+  cursor: default;
+  text-decoration: none;
+}
+.rule-chooser,
+.rule-param .element,
+.rule-param-edit .label {
+  display: none;
+}
+.rule-param input,
+.rule-param select {
+  width: auto !important;
+  margin: 0;
+  min-width: 170px;
+}
+.rule-param-edit .element {
+  display: inline;
+}
+.rule-param-edit .element .addafter {
+  padding-left: 5px;
+}
+[class^="rule-param-"] img,
+.rule-chooser-trigger img {
+  vertical-align: middle;
+}
+.rule-chooser {
+  border: solid 1px #CCC;
+  margin: 20px;
+  padding: 15px 10px 5px;
+}
+.rule-param-wait {
+  background: url(../mui/images/ajax-loader-small.gif) no-repeat left center;
+  padding-left: 20px;
+}
+/*
+
+    URL Rewrite
+-------------------------------------- */
+.field-url-rewrite-option-select {
+  padding-top: 13px;
+}
+/* jstree */
+.jstree-default .disabled > a {
+  color: #a29c94;
+}
+/*  File brouser */
diff --git a/app/design/adminhtml/magento_backend/js/antiscroll.js b/app/design/adminhtml/magento_backend/js/antiscroll.js
deleted file mode 100644
index bfbe47fbe5b..00000000000
--- a/app/design/adminhtml/magento_backend/js/antiscroll.js
+++ /dev/null
@@ -1,463 +0,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)
- */
-
-(function ($) {
-
-  /**
-   * Augment jQuery prototype.
-   */
-
-  $.fn.antiscroll = function (options) {
-    return this.each(function () {
-      if ($(this).data('antiscroll')) {
-        $(this).data('antiscroll').destroy();
-      }
-
-      $(this).data('antiscroll', new $.Antiscroll(this, options));
-    });
-  };
-
-  /**
-   * Expose constructor.
-   */
-
-  $.Antiscroll = Antiscroll;
-
-  /**
-   * Antiscroll pane constructor.
-   *
-   * @param {Element|jQuery} main pane
-   * @parma {Object} options
-   * @api public
-   */
-
-  function Antiscroll (el, opts) {
-    this.el = $(el);
-    this.options = opts || {};
-
-    this.x = false !== this.options.x;
-    this.y = false !== this.options.y;
-    this.padding = undefined == this.options.padding ? 2 : this.options.padding;
-
-    this.inner = this.el.find('.antiscroll-inner');
-    /*this.inner.css({
-        'width': '+=' + scrollbarSize()
-      , 'height': '+=' + scrollbarSize()
-    });*/
-
-    this.refresh();
-  };
-
-  /**
-   * refresh scrollbars
-   *
-   * @api public
-   */
-
-  Antiscroll.prototype.refresh = function() {
-    var needHScroll = this.inner.get(0).scrollWidth > this.el.width()
-      , needVScroll = this.inner.get(0).scrollHeight > this.el.height();
-
-    if (!this.horizontal && needHScroll && this.x) {
-      this.horizontal = new Scrollbar.Horizontal(this);
-    } else if (this.horizontal && !needHScroll)  {
-      this.horizontal.destroy();
-      this.horizontal = null
-    }
-
-    if (!this.vertical && needVScroll && this.y) {
-      this.vertical = new Scrollbar.Vertical(this);
-    } else if (this.vertical && !needVScroll)  {
-      this.vertical.destroy();
-      this.vertical = null
-    }
-  };
-
-  /**
-   * Cleans up.
-   *
-   * @return {Antiscroll} for chaining
-   * @api public
-   */
-
-  Antiscroll.prototype.destroy = function () {
-    if (this.horizontal) {
-      this.horizontal.destroy();
-    }
-    if (this.vertical) {
-      this.vertical.destroy();
-    }
-    return this;
-  };
-
-  /**
-   * Rebuild Antiscroll.
-   *
-   * @return {Antiscroll} for chaining
-   * @api public
-   */
-
-  Antiscroll.prototype.rebuild = function () {
-    this.destroy();
-    this.inner.attr('style', '');
-    Antiscroll.call(this, this.el, this.options);
-    return this;
-  };
-
-  /**
-   * Scrollbar constructor.
-   *
-   * @param {Element|jQuery} element
-   * @api public
-   */
-
-  function Scrollbar (pane) {
-    this.pane = pane;
-    this.pane.el.append(this.el);
-    this.innerEl = this.pane.inner.get(0);
-
-    this.dragging = false;
-    this.enter = false;
-    this.shown = false;
-
-    // hovering
-    this.pane.el.mouseenter($.proxy(this, 'mouseenter'));
-    this.pane.el.mouseleave($.proxy(this, 'mouseleave'));
-
-    // dragging
-    this.el.mousedown($.proxy(this, 'mousedown'));
-
-    // scrolling
-    this.pane.inner.scroll($.proxy(this, 'scroll'));
-
-    // wheel -optional-
-    this.pane.inner.bind('mousewheel', $.proxy(this, 'mousewheel'));
-
-    // show
-    var initialDisplay = this.pane.options.initialDisplay;
-
-    if (initialDisplay !== false) {
-      this.show();
-      this.hiding = setTimeout($.proxy(this, 'hide'), parseInt(initialDisplay, 10) || 3000);
-    }
-  };
-
-  /**
-   * Cleans up.
-   *
-   * @return {Scrollbar} for chaining
-   * @api public
-   */
-
-  Scrollbar.prototype.destroy = function () {
-    this.el.remove();
-    return this;
-  };
-
-  /**
-   * Called upon mouseenter.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.mouseenter = function () {
-    this.enter = true;
-    this.show();
-  };
-
-  /**
-   * Called upon mouseleave.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.mouseleave = function () {
-    this.enter = false;
-
-    if (!this.dragging) {
-      this.hide();
-    }
-  }
-
-  /**
-   * Called upon wrap scroll.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.scroll = function () {
-    if (!this.shown) {
-      this.show();
-      if (!this.enter && !this.dragging) {
-        this.hiding = setTimeout($.proxy(this, 'hide'), 1500);
-      }
-    }
-
-    this.update();
-  };
-
-  /**
-   * Called upon scrollbar mousedown.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.mousedown = function (ev) {
-    ev.preventDefault();
-
-    this.dragging = true;
-
-    this.startPageY = ev.pageY - parseInt(this.el.css('top'), 10);
-    this.startPageX = ev.pageX - parseInt(this.el.css('left'), 10);
-
-    // prevent crazy selections on IE
-    document.onselectstart = function () { return false; };
-
-    var pane = this.pane
-      , move = $.proxy(this, 'mousemove')
-      , self = this
-
-    $(document)
-      .mousemove(move)
-      .mouseup(function () {
-        self.dragging = false;
-        document.onselectstart = null;
-
-        $(document).unbind('mousemove', move);
-
-        if (!self.enter) {
-          self.hide();
-        }
-      })
-  };
-
-  /**
-   * Show scrollbar.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.show = function (duration) {
-    if (!this.shown) {
-      this.update();
-      this.el.addClass('antiscroll-scrollbar-shown');
-      if (this.hiding) {
-        clearTimeout(this.hiding);
-        this.hiding = null;
-      }
-      this.shown = true;
-    }
-  };
-
-  /**
-   * Hide scrollbar.
-   *
-   * @api private
-   */
-
-  Scrollbar.prototype.hide = function () {
-    var autoHide = this.pane.options.autoHide;
-    if (autoHide !== false && this.shown) {
-      // check for dragging
-      this.el.removeClass('antiscroll-scrollbar-shown');
-      this.shown = false;
-    }
-  };
-
-  /**
-   * Horizontal scrollbar constructor
-   *
-   * @api private
-   */
-
-  Scrollbar.Horizontal = function (pane) {
-    this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-horizontal">');
-    Scrollbar.call(this, pane);
-  }
-
-  /**
-   * Inherits from Scrollbar.
-   */
-
-  inherits(Scrollbar.Horizontal, Scrollbar);
-
-  /**
-   * Updates size/position of scrollbar.
-   *
-   * @api private
-   */
-
-  Scrollbar.Horizontal.prototype.update = function () {
-    var paneWidth = this.pane.el.width()
-      , trackWidth = paneWidth - this.pane.padding * 2
-      , innerEl = this.pane.inner.get(0)
-
-    this.el
-      .css('width', trackWidth * paneWidth / innerEl.scrollWidth)
-      .css('left', trackWidth * innerEl.scrollLeft / innerEl.scrollWidth)
-  }
-
-  /**
-   * Called upon drag.
-   *
-   * @api private
-   */
-
-  Scrollbar.Horizontal.prototype.mousemove = function (ev) {
-    var trackWidth = this.pane.el.width() - this.pane.padding * 2
-      , pos = ev.pageX - this.startPageX
-      , barWidth = this.el.width()
-      , innerEl = this.pane.inner.get(0)
-
-    // minimum top is 0, maximum is the track height
-    var y = Math.min(Math.max(pos, 0), trackWidth - barWidth)
-
-    innerEl.scrollLeft = (innerEl.scrollWidth - this.pane.el.width())
-      * y / (trackWidth - barWidth)
-  };
-
-  /**
-   * Called upon container mousewheel.
-   *
-   * @api private
-   */
-
-  Scrollbar.Horizontal.prototype.mousewheel = function (ev, delta, x, y) {
-    if ((x < 0 && 0 == this.pane.inner.get(0).scrollLeft) ||
-        (x > 0 && (this.innerEl.scrollLeft + Math.ceil(this.pane.el.width())
-          == this.innerEl.scrollWidth))) {
-      ev.preventDefault();
-      return false;
-    }
-  };
-
-  /**
-   * Vertical scrollbar constructor
-   *
-   * @api private
-   */
-
-  Scrollbar.Vertical = function (pane) {
-    this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-vertical">');
-    Scrollbar.call(this, pane);
-  };
-
-  /**
-   * Inherits from Scrollbar.
-   */
-
-  inherits(Scrollbar.Vertical, Scrollbar);
-
-  /**
-   * Updates size/position of scrollbar.
-   *
-   * @api private
-   */
-
-  Scrollbar.Vertical.prototype.update = function () {
-    var paneHeight = this.pane.el.height()
-      , trackHeight = paneHeight - this.pane.padding * 2
-      , innerEl = this.innerEl
-
-    this.el
-      .css('height', trackHeight * paneHeight / innerEl.scrollHeight)
-      .css('top', trackHeight * innerEl.scrollTop / innerEl.scrollHeight)
-  };
-
-  /**
-   * Called upon drag.
-   *
-   * @api private
-   */
-
-  Scrollbar.Vertical.prototype.mousemove = function (ev) {
-    var paneHeight = this.pane.el.height()
-      , trackHeight = paneHeight - this.pane.padding * 2
-      , pos = ev.pageY - this.startPageY
-      , barHeight = this.el.height()
-      , innerEl = this.innerEl
-
-    // minimum top is 0, maximum is the track height
-    var y = Math.min(Math.max(pos, 0), trackHeight - barHeight)
-
-    innerEl.scrollTop = (innerEl.scrollHeight - paneHeight)
-      * y / (trackHeight - barHeight)
-  };
-
-  /**
-   * Called upon container mousewheel.
-   *
-   * @api private
-   */
-
-  Scrollbar.Vertical.prototype.mousewheel = function (ev, delta, x, y) {
-    if ((y > 0 && 0 == this.innerEl.scrollTop) ||
-        (y < 0 && (this.innerEl.scrollTop + Math.ceil(this.pane.el.height())
-          == this.innerEl.scrollHeight))) {
-      ev.preventDefault();
-      return false;
-    }
-  };
-
-  /**
-   * Cross-browser inheritance.
-   *
-   * @param {Function} constructor
-   * @param {Function} constructor we inherit from
-   * @api private
-   */
-
-  function inherits (ctorA, ctorB) {
-    function f() {};
-    f.prototype = ctorB.prototype;
-    ctorA.prototype = new f;
-  };
-
-  /**
-   * Scrollbar size detection.
-   */
-
-  var size;
-
-  function scrollbarSize () {
-    if (size === undefined) {
-      var div = $(
-          '<div style="width:50px;height:50px;overflow:hidden;'
-        + 'position:absolute;top:-200px;left:-200px;"><div style="height:100px;">'
-        + '</div>'
-      );
-
-      $('body').append(div);
-
-      var w1 = $('div', div).innerWidth();
-      div.css('overflow-y', 'scroll');
-      var w2 = $('div', div).innerWidth();
-      $(div).remove();
-
-      size = w1 - w2;
-    }
-
-    return size;
-  };
-
-})(jQuery);
diff --git a/app/design/adminhtml/magento_backend/less/clearless/all.less b/app/design/adminhtml/magento_backend/less/clearless/all.less
new file mode 100644
index 00000000000..5711be3aa75
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/all.less
@@ -0,0 +1,35 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/clearless/arrows.less b/app/design/adminhtml/magento_backend/less/clearless/arrows.less
new file mode 100644
index 00000000000..ec4f3a67080
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/arrows.less
@@ -0,0 +1,171 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+.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/adminhtml/magento_backend/less/clearless/grids.less b/app/design/adminhtml/magento_backend/less/clearless/grids.less
new file mode 100644
index 00000000000..8cb84913c93
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/grids.less
@@ -0,0 +1,185 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/clearless/helpers.less b/app/design/adminhtml/magento_backend/less/clearless/helpers.less
new file mode 100644
index 00000000000..48da878ffd0
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/helpers.less
@@ -0,0 +1,247 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/clearless/icons.less b/app/design/adminhtml/magento_backend/less/clearless/icons.less
new file mode 100644
index 00000000000..911fd9c2971
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/icons.less
@@ -0,0 +1,326 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/clearless/resets.less b/app/design/adminhtml/magento_backend/less/clearless/resets.less
new file mode 100644
index 00000000000..a216ad3f0ca
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/resets.less
@@ -0,0 +1,306 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+.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/adminhtml/magento_backend/less/clearless/settings.less b/app/design/adminhtml/magento_backend/less/clearless/settings.less
new file mode 100644
index 00000000000..b84bb8c6021
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/settings.less
@@ -0,0 +1,49 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/clearless/sprites.less b/app/design/adminhtml/magento_backend/less/clearless/sprites.less
new file mode 100644
index 00000000000..30500d26037
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/sprites.less
@@ -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.
+// *
+// * @copyright  Copyright (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/adminhtml/magento_backend/less/clearless/typography.less b/app/design/adminhtml/magento_backend/less/clearless/typography.less
new file mode 100644
index 00000000000..b8dee668279
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/clearless/typography.less
@@ -0,0 +1,65 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+// ==============================================
+// 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/adminhtml/magento_backend/less/lib/buttons.less b/app/design/adminhtml/magento_backend/less/lib/buttons.less
new file mode 100644
index 00000000000..43dd5010336
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/lib/buttons.less
@@ -0,0 +1,193 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+//  */
+
+// Default Button
+.DefaultButton {
+    font: 14px/19px @baseFont;
+    font-weight: 500;
+    background: @defaultButton1;
+    border: 1px solid @defaultButton2;
+    color: @defaultButton3;
+    display: inline-block;
+    padding: 5px 14px;
+    text-align: center;
+    text-decoration: none;
+    vertical-align: top;
+    cursor: pointer;
+    border-radius: 2px;
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    &:hover,
+    &:focus,
+    &:active {
+        background: @defaultButton4;
+        color: @defaultButton3;
+    }
+    &:active {
+        border: 1px solid @defaultButton5;
+    }
+    &:visited {
+        color: @defaultButton3;
+    }
+    &[disabled],
+    &.disabled {
+        &:hover,
+        &:active {
+            color: @defaultButton3;
+            background: @defaultButton1;
+            border: 1px solid @defaultButton2;
+        }
+        cursor: not-allowed;
+        opacity: 0.5;
+        filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
+    }
+}
+
+// Primary Button
+.PrimaryButton {
+    &:extend(.DefaultButton all);
+    color: #fff;
+    background: @primaryButton1;
+    border: 1px solid @primaryButton2;
+    &:focus,
+    &:hover {
+        color: #fff;
+        background: @primaryButton3;
+        border: 1px solid @primaryButton3;
+    }
+    &:active {
+        color: #fff;
+        background: @primaryButton3;
+        border: 1px solid @primaryButton4;
+    }
+    &:visited {
+        color: #fff;
+    }
+    &[disabled],
+    &.disabled {
+        &:hover,
+        &:active {
+            color: #fff;
+            background: @primaryButton1;
+            border: 1px solid @primaryButton2;
+        }
+    }
+}
+
+// Primary Add Button
+.PrimaryAddButton {
+    &:extend(.PrimaryButton all);
+    width: 36px;
+    height: 31px;
+    overflow: hidden;
+    position: relative;
+    z-index: 1;
+    padding: 0;
+    &:focus {
+        outline: none;
+    }
+    > span {
+        text-indent: -999em;
+        display: block;
+        width: 34px;
+        height: 29px;
+        &:before {
+            text-indent: 0;
+            font-family: 'MUI-Icons';
+            font-weight: normal;
+            font-size: 22px;
+            content: '\e02d';
+            color: #fff;
+            position: absolute;
+            width: 34px;
+            height: 29px;
+            line-height: 29px;
+            text-align: center;
+            vertical-align: middle;
+            top: 0;
+            left: 0;
+            overflow: hidden;
+            .eq-ie9 & {
+                line-height: 31px;
+            }
+        }
+    }
+}
+
+// Primary Split and Primary Add Split Button
+.PrimarySplitButton {
+    &.btn-round {
+        .action-default.primary {
+            &:extend(.PrimaryAddButton all);
+            border-radius: 2px 0 0 2px;
+            &:focus {
+                outline: none;
+            }
+        }
+    }
+    > .action-default.primary {
+       border-radius: 2px 0 0 2px;
+        &:focus {
+            outline: none;
+        }
+    }
+    > .action-toggle.primary {
+        &:extend(.PrimaryButton all);
+        overflow: hidden;
+        z-index: 1;
+        padding: 0;
+        border-radius: 0 2px 2px 0;
+        font-size: 15px;
+        width: 30px;
+        height: 31px;
+        line-height: 30px;
+        margin-left: -1px;
+        position: relative;
+        z-index: 2;
+        filter: none;
+        &:focus {
+            outline: none;
+        }
+        &:before {
+            text-align: center;
+        }
+    }
+    .dropdown-menu {
+        left: 0;
+        right: auto;
+        z-index: 1;
+        > li > .item {
+            padding: 9px 10px 10px;
+        }
+    }
+    &.active {
+        > .action-toggle.primary,
+        > .action-toggle.primary:hover {
+            background: @primaryButton3;
+            border: 1px solid @primaryButton4;
+        }
+    }
+}
diff --git a/app/design/adminhtml/magento_backend/less/styles.less b/app/design/adminhtml/magento_backend/less/styles.less
new file mode 100644
index 00000000000..791f30f4b49
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/styles.less
@@ -0,0 +1,31 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+ */
+
+@import "clearless/all.less";
+@import "styles/base.less";
+@import "vars.less";
+@import "lib/buttons.less";
+@import "styles/admin.less";
+@import "styles/header.less";
+@import "styles/pages.less";
+@import "styles/debug.less";
diff --git a/app/design/adminhtml/magento_backend/css/admin.css b/app/design/adminhtml/magento_backend/less/styles/admin.less
similarity index 91%
rename from app/design/adminhtml/magento_backend/css/admin.css
rename to app/design/adminhtml/magento_backend/less/styles/admin.less
index fde65899eff..9201fb7567f 100644
--- a/app/design/adminhtml/magento_backend/css/admin.css
+++ b/app/design/adminhtml/magento_backend/less/styles/admin.less
@@ -1,5 +1,5 @@
-/**
- * Magento
+// /**
+//  * Magento
  *
  * NOTICE OF LICENSE
  *
@@ -16,261 +16,11 @@
  * Do not edit or add to this file if you wish to upgrade Magento to 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)
- */
-
-/*
-    Fonts
--------------------------------------- */
-
-@font-face {
-    font-family: 'CallunaSans';
-    src: url('../fonts/calluna/CallunaSansLight-webfont.woff');
-    src: url('../fonts/calluna/CallunaSansLight-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/calluna/CallunaSansLight-webfont.svg#webfont85gDAx2H') format('svg'), url('../fonts/calluna/CallunaSansLight-webfont.woff') format('woff'), url('../fonts/calluna/CallunaSansLight-webfont.ttf') format('truetype');
-    font-style: normal;
-    font-weight: 200;
-}
-
-@font-face {
-    font-family: 'CallunaSans';
-    src: url('../fonts/calluna/CallunaSansRegular-webfont.woff');
-    src: url('../fonts/calluna/CallunaSansRegular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/calluna/CallunaSansRegular-webfont.svg#webfont85gDAx2D') format('svg'), url('../fonts/calluna/CallunaSansRegular-webfont.woff') format('woff'), url('../fonts/calluna/CallunaSansRegular-webfont.ttf') format('truetype');
-    font-style: normal;
-    font-weight: 400;
-}
-
-@font-face {
-    font-family: 'CallunaSans';
-    src: url('../fonts/calluna/CallunaSansSemiBold-webfont.woff');
-    src: url('../fonts/calluna/CallunaSansSemiBold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/calluna/CallunaSansSemiBold-webfont.svg#webfont85gDAx2A') format('svg'), url('../fonts/calluna/CallunaSansSemiBold-webfont.woff') format('woff'), url('../fonts/calluna/CallunaSansSemiBold-webfont.ttf') format('truetype');
-    font-style: normal;
-    font-weight: 500;
-}
-
-@font-face {
-    font-family: 'CallunaSans';
-    src: url('../fonts/calluna/CallunaSansBold-webfont.woff');
-    src: url('../fonts/calluna/CallunaSansBold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/calluna/CallunaSansBold-webfont.svg#webfont85gDAx2C') format('svg'), url('../fonts/calluna/CallunaSansBold-webfont.woff') format('woff'), url('../fonts/calluna/CallunaSansBold-webfont.ttf') format('truetype');
-    font-style: normal;
-    font-weight: 600;
-}
+//  *
+//  * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
 
-@font-face {
-    font-family: 'admin-icons';
-    src: url('../fonts/icons/admin-icons.eot');
-    src: url('../fonts/icons/admin-icons.eot?#iefix') format('embedded-opentype'), url('../fonts/icons/admin-icons.svg#admin-icons') format('svg'), url('../fonts/icons/admin-icons.woff') format('woff'), url('../fonts/icons/admin-icons.ttf') format('truetype');
-    font-weight: normal;
-    font-style: normal;
-}
-
-@font-face {
-    font-family: 'MUI-Icons';
-    src: url('../mui/fonts/MUI-Icons.eot');
-    src: url('../mui/fonts/MUI-Icons.eot?#iefix') format('embedded-opentype'), url('../mui/fonts/MUI-Icons.svg#MUI-Icons') format('svg'), url('../mui/fonts/MUI-Icons.woff') format('woff'), url('../mui/fonts/MUI-Icons.ttf') format('truetype');
-    font-weight: normal;
-    font-style: normal;
-}
-
-body, html {
-    min-height: 100%;
-    height: 100%;
-}
-
-body {
-    position: relative;
-    background: url(../images/body-bg.jpg);
-    height: auto;
-}
-
-/*
-    Headers and titles
--------------------------------------- */
-h1, h2, h3, h4, h5, h6 {
-    font-family: 'CallunaSans', Arial, sans-serif;
-    font-weight: 400;
-}
-
-h1 {
-    font-size: 26px;
-}
-
-h2 {
-    font-size: 22px;
-}
-
-h3 {
-    font-size: 18px;
-}
-
-h4 {
-    font-size: 16px;
-}
-
-h5 {
-    font-size: 14px;
-}
-
-h6 {
-    font-size: 13px;
-    font-weight: 500;
-}
-
-/*
-    Primary "button view" action (default size)
--------------------------------------- */
-input[type=button].primary,
-input[type=submit].primary,
-input[type=reset].primary,
-button.primary,
-input[type=button].primary:visited,
-input[type=submit].primary:visited,
-input[type=reset].primary:visited,
-button.primary:visited,
-.primary,
-.primary:visited,
-.popup-window .add-widget,
-.popup-window .add-widget:visited {
-    box-shadow: inset 0 1px 1px rgba(255, 255, 255, .1);
-    border: 1px solid #e4731c;
-    color: #fff;
-    text-shadow: 0 1px 1px #8e3b05;
-    background: #f58227;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ODIyNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMDcyMWMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f58227), color-stop(100%, #f0721c));
-    background: -webkit-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -o-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -ms-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: linear-gradient(to bottom, #f58227 0%, #f0721c 100%);
-}
-
-.eq-ie8 input[type=button].primary,
-.eq-ie8 input[type=submit].primary,
-.eq-ie8 input[type=reset].primary,
-.eq-ie8 button.primary,
-.eq-ie8 input[type=button].primary:visited,
-.eq-ie8 input[type=submit].primary:visited,
-.eq-ie8 input[type=reset].primary:visited,
-.eq-ie8 button.primary:visited,
-.eq-ie8 .primary,
-.eq-ie8 .primary:visited,
-.eq-ie8 .popup-window .add-widget,
-.eq-ie8 .popup-window .add-widget:visited,
-.page-login button.primary {
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f58227', endColorstr='#f0721c', GradientType=0);
-}
-
-input[type=button].primary:hover,
-input[type=submit].primary:hover,
-input[type=reset].primary:hover,
-button.primary:hover,
-input[type=button].primary:focus,
-input[type=submit].primary:focus,
-input[type=reset].primary:focus,
-button.primary:focus,
-.primary:hover,
-.primary:focus,
-.popup-window .add-widget:hover,
-.popup-window .add-widget:focus {
-    color: #fff;
-    background: #e47821;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U0NzgyMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZTY4MTciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e47821), color-stop(100%, #de6817));
-    background: -webkit-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -o-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -ms-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: linear-gradient(to bottom, #e47821 0%, #de6817 100%);
-}
-
-.eq-ie8 input[type=button].primary:hover,
-.eq-ie8 input[type=submit].primary:hover,
-.eq-ie8 input[type=reset].primary:hover,
-.eq-ie8 button.primary:hover,
-.eq-ie8 input[type=button].primary:focus,
-.eq-ie8 input[type=submit].primary:focus,
-.eq-ie8 input[type=reset].primary:focus,
-.eq-ie8 button.primary:focus,
-.eq-ie8 .primary:hover,
-.eq-ie8 .primary:focus,
-.eq-ie8 .popup-window .add-widget:hover,
-.eq-ie8 .popup-window .add-widget:focus,
-.page-login button.primary:hover,
-.page-login button.primary:focus {
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47821', endColorstr='#de6817', GradientType=0);
-}
-
-input[type=button].primary:active,
-input[type=submit].primary:active,
-input[type=reset].primary:active,
-button.primary:active,
-input[type=button].primary.active,
-input[type=submit].primary.active,
-input[type=reset].primary.active,
-button.primary.active,
-.primary:active,
-.primary.active,
-.popup-window .add-widget:active,
-.page-login button.primary:active {
-    background: #e2701a;
-    box-shadow: 0 1px 2px #bf5f16 inset;
-    text-shadow: 0 -1px 1px #bf5f16;
-}
-
-.eq-ie8 input[type=button].primary:active,
-.eq-ie8 input[type=submit].primary:active,
-.eq-ie8 input[type=reset].primary:active,
-.eq-ie8 button.primary:active,
-.eq-ie8 input[type=button].primary.active,
-.eq-ie8 input[type=submit].primary.active,
-.eq-ie8 input[type=reset].primary.active,
-.eq-ie8 button.primary.active,
-.eq-ie8 .primary:active,
-.eq-ie8 .primary.active,
-.eq-ie8 .popup-window .add-widget:active {
-    filter: none;
-}
-
-input[type=button].primary[disabled],
-input[type=button].primary[disabled]:hover,
-input[type=submit].primary[disabled],
-input[type=submit].primary[disabled]:hover,
-input[type=reset].primary[disabled],
-input[type=reset].primary[disabled]:hover,
-button.primary[disabled],
-button.primary[disabled]:hover,
-input[type=button].primary.disabled,
-input[type=button].primary.disabled:hover,
-input[type=submit].primary.disabled,
-input[type=submit].primary.disabled:hover,
-input[type=reset].primary.disabled,
-input[type=reset].primary.disabled:hover,
-button.primary.disabled,
-button.primary.disabled:hover,
-.primary[disabled],
-.primary[disabled]:hover,
-.primary.disabled,
-.primary.disabled:hover {
-    cursor: not-allowed;
-    color: #fff;
-    opacity: 0.6;
-    box-shadow: none;
-    border: 1px solid #e4731c;
-    text-shadow: none;
-    background: #f47b20 !important;
-    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
-}
-
-/*
-    Placeholder for all big sized "button" actions (simple/primary).
-    Usage:
-        .popup .action-save,
-        .page-actions .action-open {
-            // styles
-        }
--------------------------------------- */
 .dont-use-this-class-big-size {
     font-size: 18px;
     line-height: 24px;
@@ -1201,7 +951,7 @@ textarea,
     margin: 0;
     background-color: #fff;
     height: 28px;
-    color: #333;
+    .style9();
     border: 1px solid #ccc;
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
@@ -1481,10 +1231,7 @@ input.mage-error ~ .addafter {
 
 .fieldset-wrapper > .fieldset-wrapper-title .title,
 .fieldset > .legend span {
-    font-family: 'CallunaSans', Arial, sans-serif;
-    font-size: 18px;
-    color: #666;
-    font-weight: normal;
+    .style10();
     padding: 7px 0 10px;
     display: inline-block;
 }
@@ -1667,6 +1414,10 @@ input.mage-error ~ .addafter {
     margin: 0 0 29px;
 }
 
+.with-note .note, .field .note {
+    .style19();
+}
+
 .fieldset .field .options-list {
     list-style: none;
     margin: 0;
@@ -1689,7 +1440,15 @@ input.mage-error ~ .addafter {
 }
 
 .fieldset .label {
-    color: #666;
+    .style2();
+}
+
+.fieldset .control .label {
+    .style9();
+}
+
+.field.required > .label:after {
+    .style8();
 }
 
 .with-addon .textarea {
@@ -2104,7 +1863,7 @@ table td {
 
 table tbody tr td {
     background: #F5F2ED;
-    color: #676056;
+    color: @primary1;
     padding-top: 12px;
 }
 
@@ -2179,7 +1938,6 @@ table tbody tr:nth-child(odd):hover th {
 .tipsy-inner .error h5 {
     color: #be0a0a;
     font-size: 16px;
-    font-family: "CallunaSans";
     font-weight: 500;
     margin: 0 0 6px 0;
 }
@@ -2333,7 +2091,6 @@ table tbody tr:nth-child(odd):hover th {
 .tipsy-inner dt {
     margin: 0 0 4px;
     font-size: 16px;
-    font-family: 'CallunaSans';
     font-weight: 400;
     color: #f47b20;
 }
@@ -2532,13 +2289,11 @@ table tbody tr:nth-child(odd):hover th {
     position: absolute;
     top: 100%;
     padding: 19px 10px;
-    font-family: Helvetica, Arial, sans-serif;
 }
 
 .navigation  .level-0 > .submenu a {
     display: block;
-    color: #19a3d1;
-    font-size: 13px;
+    .style6();
     line-height: 1.385;
     padding: 5px 20px 4px;
     text-decoration: none;
@@ -2550,26 +2305,18 @@ table tbody tr:nth-child(odd):hover th {
     margin-bottom: 1px;
 }
 
-.navigation .level-0 > .submenu a:focus,
-.navigation .level-0 > .submenu a:hover {
-    background: #19a3d1;
-    border-radius: 3px;
-    color: #fff;
-    -webkit-background-clip: padding-box;
-    -moz-background-clip: padding-box;
-    background-clip: padding-box;
-}
-
 .navigation .level-0 > .submenu a[href="#"] {
     cursor: default;
     display: block;
-    color: #676056;
-    font-size: 15px;
-    font-weight: bold;
+    .style30();
     line-height: 1;
     margin: 7px 0 6px;
     padding: 0 20px;
-    background: transparent;
+
+    &:focus,
+    &:hover {
+        text-decoration: none;
+    }
 }
 
 .navigation .level-0 {
@@ -2585,10 +2332,7 @@ table tbody tr:nth-child(odd):hover th {
     position: relative;
     display: inline-block;
     padding: 37px 21px 11px;
-    color: #fff;
-    font-family: "CallunaSans", Arial, serif;
-    font-weight: 500;
-    font-size: 13px;
+    .style15();
     text-shadow: 0 1px 3px #222;
     text-transform: uppercase;
     text-decoration: none;
@@ -2596,11 +2340,6 @@ table tbody tr:nth-child(odd):hover th {
     -moz-transition: background .15s ease-out;
 }
 
-/* TODO IE8 fix for CallunaSans */
-.eq-ie8 .navigation .level-0 > a {
-    font-size: 12px;
-}
-
 .navigation .level-0.active > a {
     background: #625d54;
     background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iIzYyNWQ1NCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1NjUyNDkiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
@@ -2620,7 +2359,7 @@ table tbody tr:nth-child(odd):hover th {
 .eq-ie8 .navigation .level-0:hover > a,*/
 .navigation .level-0.hover.recent > a {
     background: #fff;
-    color: #676056;
+    .style15I();
     text-shadow: 0 1px 3px #c1bfbb;
 }
 
@@ -3079,9 +2818,13 @@ table tbody tr:nth-child(odd):hover th {
 
 .page-login .header {
     margin-bottom: 30px;
+    background: transparent;
+    padding: 0;
+    z-index: auto;
+    position: static;
 }
 
-.page-login .logo {
+.page-login .header .logo {
     display: block;
     width: 262px;
     height: 64px;
@@ -3216,10 +2959,7 @@ table tbody tr:nth-child(odd):hover th {
 }
 
 .page-title-inner > .title {
-    font-family: 'CallunaSans';
-    font-size: 26px;
-    font-weight: 200;
-    color: #676056;
+    .style23();
     display: inline-block;
     margin: 0;
     width: 100%;
@@ -3465,15 +3205,17 @@ table tbody tr:nth-child(odd):hover th {
 
 .store-switcher-alt strong {
     display: block;
-    font: 14px/1.333 "CallunaSans", Arial, sans-serif;
+    font-size: 14px;
     font-weight: 500;
+    line-height: 1.333;
     color: #a6a098;
     padding: 5px 10px;
 }
 
 .store-switcher-alt .store-selected {
-    font: 12px/1.333 "CallunaSans", Arial, sans-serif;
+    font-size: 12px;
     font-weight: 400;
+    line-height: 1.333;
     color: #676056;
     cursor: pointer;
 }
@@ -3721,6 +3463,10 @@ table tbody tr:nth-child(odd):hover th {
     display: inline-block;
 }
 
+.field-store-switcher > .tooltip + div > a {
+    .style22();
+}
+
 .field-store-switcher > .label {
     margin: 0;
 }
@@ -3787,7 +3533,6 @@ table tbody tr:nth-child(odd):hover th {
     margin: 0 0 30px;
     padding: 0;
     list-style: none;
-    font-family: 'CallunaSans', Arial, sans-serif;
     font-weight: 500;
 }
 
@@ -3916,7 +3661,8 @@ table tbody tr:nth-child(odd):hover th {
     display: block;
     padding: 7px 18px 9px;
     text-decoration: none;
-    font: 14px/1.666 CallunaSans, Arial, sans-serif;
+    font-size: 12px;
+    line-height: 1.666;
     color: #676056;
 }
 
@@ -4045,11 +3791,7 @@ table tbody tr:nth-child(odd):hover th {
 }
 
 .switcher-label {
-    font-family: "CallunaSans", Arial, sans-serif;
-    font-size: 12px;
-    font-weight: 600;
-    color: #979087;
-    text-shadow: 0 1px #fff;
+    .style2();
     text-transform: uppercase;
 }
 
@@ -4162,7 +3904,6 @@ table tbody tr:nth-child(odd):hover th {
 .page-actions.fixed .page-actions-inner:before {
     content: attr(data-title);
     float: left;
-    font-family: 'CallunaSans';
     font-size: 20px;
     max-width: 50%;
     overflow: hidden;
@@ -4181,7 +3922,7 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid {
     border-bottom: 0;
-    font-size: 13px;
+    .style18();
     padding-bottom: .5em;
 }
 
@@ -4259,7 +4000,7 @@ table tbody tr:nth-child(odd):hover th {
 .grid table td.empty-text {
     border: solid #c0bbaf;
     border-width: 0 1px;
-    font-size: 15px;
+    .style7();
     text-align: center;
     padding: 15px;
 }
@@ -4341,6 +4082,10 @@ table tbody tr:nth-child(odd):hover th {
     margin-left: 4px;
 }
 
+.grid-actions .pager {
+    .style18();
+}
+
 .grid-actions .pager select {
     width: 5em;
     margin: 0 4px;
@@ -4446,7 +4191,7 @@ table tbody tr:nth-child(odd):hover th {
     Grid - Headings
 -------------------------------------- */
 .grid tr.headings th {
-    font-size: 13px;
+    .style29();
     border-right: 1px solid #837f79;
     padding: 0;
     vertical-align: bottom;
@@ -4458,7 +4203,6 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid tr.headings th > span {
     display: block;
-    font-weight: 500;
     border-bottom: 2px solid transparent;
     padding: 5px 5px 2px;
     white-space: nowrap;
@@ -4480,7 +4224,7 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid tr.headings th a {
     display: block;
-    color: #cac3b4;
+    .style29();
     position: relative;
     text-decoration: none;
 }
@@ -4605,6 +4349,8 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid .filter .range select {
     margin: 0;
+    .style14();
+    color: #bcb795;
 }
 
 .grid .filter .date {
@@ -4917,7 +4663,7 @@ table .col-draggable .draggable-handle {
 .accordion .config .data-table thead th,
 .accordion .config .data-table tfoot td {
     background: #fff;
-    color: #666;
+    .style2();
 }
 
 .data-table th {
@@ -4931,7 +4677,7 @@ table .col-draggable .draggable-handle {
 .accordion .config .data-table td {
     background: #fff;
     padding: 5px 7px;
-    font-size: 12px;
+    .style9();
     vertical-align: middle;
     border: solid #eae8e4;
     border-width: 0 0 1px;
@@ -5046,9 +4792,6 @@ table .col-draggable .draggable-handle {
 /*
     Data table - alternative view
 -------------------------------------- */
-.invitation_information .data-table,
-.invitee_information .data-table,
-.inviter_information .data-table,
 .customer-information .data-table,
 .order-information .data-table,
 .order-account-information .data-table,
@@ -5056,9 +4799,6 @@ table .col-draggable .draggable-handle {
     width: 100%;
 }
 
-.invitation_information .data-table tbody tr th,
-.invitee_information .data-table tbody tr th,
-.inviter_information .data-table tbody tr th,
 .customer-information .data-table tbody tr th,
 .order-information .data-table tbody tr th,
 .order-account-information .data-table tbody tr th,
@@ -5069,12 +4809,6 @@ table .col-draggable .draggable-handle {
     font-weight: bold;
 }
 
-.invitation_information .data-table tbody tr td,
-.invitation_information .data-table tbody tr th,
-.invitee_information .data-table tbody tr td,
-.invitee_information .data-table tbody tr th,
-.inviter_information .data-table tbody tr td,
-.inviter_information .data-table tbody tr th,
 .customer-information .data-table tbody tr td,
 .customer-information .data-table tbody tr th,
 .order-information .data-table tbody tr td,
@@ -5096,12 +4830,6 @@ table .col-draggable .draggable-handle {
     vertical-align: top;
 }
 
-.invitation_information .data-table tbody tr:nth-child(2n+1) td,
-.invitation_information .data-table tbody tr:nth-child(2n+1) th,
-.invitee_information .data-table tbody tr:nth-child(2n+1) td,
-.invitee_information .data-table tbody tr:nth-child(2n+1) th,
-.inviter_information .data-table tbody tr:nth-child(2n+1) td,
-.inviter_information .data-table tbody tr:nth-child(2n+1) th,
 .customer-information .data-table tbody tr:nth-child(2n+1) td,
 .customer-information .data-table tbody tr:nth-child(2n+1) th,
 .order-information .data-table tbody tr:nth-child(2n+1) td,
@@ -5119,12 +4847,6 @@ table .col-draggable .draggable-handle {
     background-color: #fbfaf6;
 }
 
-.eq-ie8 .invitation_information .data-table tbody tr td,
-.eq-ie8 .invitation_information .data-table tbody tr th,
-.eq-ie8 .invitee_information .data-table tbody tr td,
-.eq-ie8 .invitee_information .data-table tbody tr th,
-.eq-ie8 .inviter_information .data-table tbody tr td,
-.eq-ie8 .inviter_information .data-table tbody tr th,
 .eq-ie8 .customer-information .data-table tbody tr td,
 .eq-ie8 .customer-information .data-table tbody tr th,
 .eq-ie8 .order-information .data-table tbody tr td,
@@ -5306,7 +5028,6 @@ table .col-draggable .draggable-handle {
 .tree-store-scope [class^="field field-w_"] .label,
 .tree-store-scope [class^="field field-sg_"] .label {
     text-align: left;
-    font-family: 'CallunaSans', Arial, sans-serif;
     font-size: 18px;
     padding-right: 0;
     width: auto;
@@ -5572,10 +5293,6 @@ table .col-draggable .draggable-handle {
     float: none;
 }
 
-.message-system a {
-    text-decoration: none;
-}
-
 .message-system-list {
     margin: 0;
     padding: 0;
@@ -5594,8 +5311,6 @@ table .col-draggable .draggable-handle {
 
 .message-system-short {
     padding: 5px 13px 7px;
-    color: #aea79d;
-    font-size: 11px;
     float: right;
 }
 
@@ -5612,8 +5327,6 @@ table .col-draggable .draggable-handle {
 
 .message-system-short a {
     padding-left: 27px;
-    color: #19a3d2;
-    font-size: 13px;
     position: relative;
     height: 16px;
 }
@@ -5632,7 +5345,7 @@ table .col-draggable .draggable-handle {
     text-align: center;
     position: absolute;
     left: 7px;
-    top: 0;
+    top: 2px;
 }
 
 .message-system-list li:before {
@@ -5786,9 +5499,261 @@ table .col-draggable .draggable-handle {
     clear: both;
 }
 
-/*
-    Clearfix
--------------------------------------- */
+// Default & Primary Button
+input[type=button],
+input[type=submit],
+input[type=reset],
+button,
+[class^="action-"],
+.popup-window .add-widget {
+    &:extend(.DefaultButton all);
+    &.primary {
+        &:extend(.PrimaryButton all);
+    }
+}
+
+// Custom grids view
+.CustomGridView {
+    .col-1-layout {
+        padding: 0;
+        background: transparent;
+        border: 0;
+        border-radius: 0;
+        max-width: 1300px;
+        min-width: 960px;
+    }
+}
+
+// Custom grid action view for Primary Add Button at grid tables
+.CustomGridAction {
+    .grid-actions {
+        border-radius: 5px 5px 0 0;
+        margin-top: 20px;
+        padding: 9px 16px 9px 65px;
+    }
+    .page-actions.fixed {
+        left: 0;
+        margin: 0;
+        padding: 0 21px;
+        position: fixed;
+    }
+    .page-actions {
+        position: absolute;
+        z-index: 2;
+        margin-top: 10px;
+        margin-left: 15px;
+        padding: 0;
+    }
+}
+
+// Primary Add Button for grid tables on pages:
+// sales
+.sales-order-index,
+.adminhtml-rma-index,
+// marketing
+.adminhtml-catalog-event-index,
+.adminhtml-urlrewrite-index,
+.catalog-search-index,
+.catalog-product-review-index,
+.catalog-rule-promo-catalog-index,
+.sales-rule-promo-quote-index,
+.adminhtml-reminder-index,
+.adminhtml-newsletter-template-index,
+.adminhtml-system-email-template-index,
+.adminhtml-sitemap-index,
+// products
+.adminhtml-googleshopping-types-index,
+// customers
+.customer-index-index,
+// cms
+.adminhtml-cms-page-index,
+.cms-block-index,
+.adminhtml-banner-index,
+.adminhtml-widget-instance-index,
+.cms-page-index,
+// system
+.adminhtml-webapi-user-index,
+.adminhtml-webapi-role-index,
+.adminhtml-system-variable-index,
+.adminhtml-user-index,
+.adminhtml-user-role-index,
+.adminhtml-webhook-subscription-index,
+.adminhtml-integration-index,
+// content
+.adminhtml-system-design-theme-index,
+.adminhtml-system-design-index,
+// stores
+.adminhtml-customer-attribute-index,
+.adminhtml-customer-address-attribute-index,
+.rating-index-index,
+.tax-rule-index,
+.tax-rate-index,
+.adminhtml-rma-item-attribute-index,
+.adminhtml-reward-rate-index,
+.customer-group-index,
+.checkout-agreement-index,
+.catalog-product-attribute-index,
+.catalog-product-set-index {
+    &:extend(.CustomGridView all);
+    &:extend(.CustomGridAction all);
+    .page-actions {
+        .add {
+            &:extend(.PrimaryAddButton all);
+        }
+    }
+}
+
+.catalog-product-index {
+    &:extend(.CustomGridView all);
+    &:extend(.CustomGridAction all);
+}
+
+// Primary Add Split Button or Primary Split Button
+.catalog-product-new,
+.catalog-product-edit,
+.catalog-product-index {
+    .actions-split {
+        &:extend(.PrimarySplitButton all);
+    }
+}
+
+// Custom Grid View for pages:
+// sales
+.sales-invoice-index,
+.sales-shipment-index,
+.sales-creditmemo-index,
+.sales-billing-agreement-index,
+.sales-transactions-index,
+.sales-recurring-profile-index,
+// products
+.adminhtml-googleshopping-items-index,
+// customer
+.customer-online-index,
+// marketing
+.adminhtml-newsletter-queue-index,
+.adminhtml-newsletter-subscriber-index,
+// reports
+.adminhtml-report-shopcart-product,
+.adminhtml-report-shopcart-abandoned
+.adminhtml-report-product-downloads,
+.adminhtml-report-product-sold,
+.adminhtml-report-product-lowstock,
+.adminhtml-report-customer-accounts,
+.adminhtml-report-customer-totals,
+.adminhtml-report-customer-orders,
+.adminhtml-report-customer-wishlist-wishlist,
+.adminhtml-report-review-customer,
+.adminhtml-report-review-product,
+.adminhtml-report-search,
+.adminhtml-report-statistics-index,
+.adminhtml-newsletter-problem-index,
+//store
+.adminhtml-system-store-index,
+.sales-order-status-index,
+.adminhtml-system-currency-index,
+.adminhtml-system-currencysymbol-index,
+.adminhtml-scheduled-operation-index,
+// system
+.adminhtml-cache-index,
+.adminhtml-system-backup-index,
+.adminhtml-locks-index,
+.adminhtml-notification-index,
+.adminhtml-logging-archive,
+.adminhtml-logging-index,
+.adminhtml-process-list,
+// product
+.catalog-product-index {
+    &:extend(.CustomGridView all);
+}
+
+// Custom page-actions view
+.adminhtml-googleshopping-items-index .grid-title,
+.adminhtml-system-backup-index .page-actions,
+.adminhtml-scheduled-operation-index .page-actions,
+.adminhtml-system-currency-index .page-actions,
+.adminhtml-system-currencysymbol-index .page-actions,
+.adminhtml-cache-index .page-actions,
+.adminhtml-system-store-index .page-actions,
+.sales-order-status-index .page-actions {
+    border: 1px solid #c0bbaf;
+    border-bottom: 0;
+    background: rgb(246, 243, 236);
+    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y2ZjNlYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGVhZTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
+    background: -moz-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(246, 243, 236, 1)), color-stop(100%, rgba(237, 234, 225, 1)));
+    background: -webkit-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
+    background: -o-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
+    background: -ms-linear-gradient(top, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
+    background: linear-gradient(to bottom, rgba(246, 243, 236, 1) 0%, rgba(237, 234, 225, 1) 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#f6f3ec', endColorstr = '#edeae1', GradientType = 0);
+    padding: 7px 8px 8px;
+    position: relative;
+    float: none;
+}
+
+.adminhtml-googleshopping-items-index .grid {
+    padding-bottom: 25px;
+}
+
+.adminhtml-googleshopping-items-index .grid-title .title {
+    font-size: 18px;
+}
+
+.adminhtml-googleshopping-items-index .page-actions {
+    float: right;
+}
+
+.adminhtml-system-backup-index .page-actions.fixed,
+.adminhtml-scheduled-operation-index .page-actions.fixed,
+.adminhtml-system-currency-index .page-actions.fixed,
+.adminhtml-system-currencysymbol-index .page-actions.fixed,
+.adminhtml-cache-index .page-actions.fixed,
+.adminhtml-system-store-index .page-actions.fixed,
+.sales-order-status-index .page-actions.fixed {
+    background-image: none;
+    padding: 0 21px;
+    position: fixed;
+}
+
+.catalog-product-index .grid-actions {
+    padding-left: 90px;
+}
+
+.catalog-rule-promo-catalog-index .grid-actions {
+    padding-left: 210px;
+}
+
+.catalog-rule-promo-catalog-index .page-actions .apply {
+    float: right;
+    margin: 0 0 0 10px;
+}
+
+.catalog-product-index .field-store-switcher {
+    padding: 0;
+}
+
+.sidebar-actions {
+    padding: 14px 0;
+}
+
+.sidebar-actions button {
+    margin: 0 0 5px;
+}
+
+.sales-order-create-index .grid table .action-configure {
+    float: right;
+}
+
+.adminhtml-system-currency-index .import-service {
+    float: left;
+}
+
+.adminhtml-system-currency-index .page-actions.fixed .import-service {
+    display: inline-block;
+    float: none;
+}
+
+// Clearfix
 .clearfix:before,
 .clearfix:after,
 [class$="-layout"]:after,
diff --git a/app/design/adminhtml/magento_backend/less/styles/base.less b/app/design/adminhtml/magento_backend/less/styles/base.less
new file mode 100644
index 00000000000..273e9f8e347
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/styles/base.less
@@ -0,0 +1,367 @@
+///**
+// * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+// */
+
+.actionLink() {
+    display: inline;
+    color: @linkColor;
+    text-decoration: none;
+    &:visited,
+    &:active {
+        color: @linkColor;
+    }
+    &:focus,
+    &:hover {
+        color: @linkColor;
+        text-decoration: underline;
+    }
+}
+
+.actionLinkI() {
+    display: inline;
+    color: @linkColor2;
+    text-decoration: underline;
+    &:visited,
+    &:active {
+        color: @linkColor2;
+    }
+    &:focus,
+    &:hover {
+        color: @linkColor2;
+        text-decoration: underline;
+    }
+}
+
+.style1() { // absent in design
+}
+
+.style2 {
+    color: @primary1;
+    font-size: 13px;
+    font-weight: @baseFontWeightSemibold;
+}
+
+.style3() {
+    color: @primary5;
+    font-size: 14px;
+    font-weight: @baseFontWeight;
+
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+.style4() { // absent in design
+}
+
+.style5() { // absent in design
+}
+
+.style6() {
+    color: @primary5;
+    font-size: 13px;
+    font-weight: @baseFontWeight;
+
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+.style7() {
+    color: @primary1;
+    font-size: 16px;
+    font-weight: @baseFontWeight;
+}
+
+.style8() {
+    color: @primary6;
+    font-size: 13px;
+    font-weight: @baseFontWeight;
+}
+
+.style9() {
+    color: @primary1;
+    font-size: 14px;
+    font-weight: @baseFontWeight;
+}
+
+.style10() {
+    color: @primary1;
+    font-size: 20px;
+    font-weight: @baseFontWeight;
+}
+
+.style11() { // absent in design
+}
+
+.style12() { // absent in design
+}
+
+.style13() { // absent in design
+}
+
+.style14() {
+    color: @primary1;
+    font-size: 11px;
+    font-weight: @baseFontWeight;
+}
+
+.style15() {
+    color: @primary7;
+    font-size: 13px;
+    font-weight: @baseFontWeight;
+}
+
+.style15I() {
+    color: @primary1;
+    font-size: 13px;
+    font-weight: @baseFontWeight;
+}
+
+.style16() {
+    color: @primary4;
+    font-size: 12px;
+    font-weight: @baseFontWeightSemibold;
+}
+
+.style17() { // absent in design
+}
+
+.style18() {
+    color: @primary1;
+    font-size: 13px;
+    font-weight: @baseFontWeight;
+}
+
+.style19() {
+    color: @primary1;
+    font-size: 12px;
+    font-weight: @baseFontWeight;
+}
+
+.style20() { // absent in design
+    color: @primary2;
+    font-size: 12px;
+    font-weight: @baseFontWeightSemibold;
+}
+
+.style21() { // absent in design
+    color: @primary1;
+    font-size: 11px;
+    font-weight: @baseFontWeight;
+}
+
+.style22() {
+    color: @primary5;
+    font-size: 12px;
+    font-weight: @baseFontWeight;
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+.style23() {
+    color: @primary1;
+    font-size: 28px;
+    font-weight: @baseFontWeight;
+}
+
+.style24() { // absent in design
+    color: @primary1;
+    font-size: 12px;
+    font-weight: @baseFontWeight;
+}
+
+.style25() { // absent in design
+    color: @primary8;
+    font-size: 14px;
+    font-weight: @baseFontWeight;
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+.style26() { // absent in design
+    color: @primary4;
+    font-size: 30px;
+    font-weight: @baseFontWeightBold;
+}
+
+.style27() { // absent in design
+    color: @primary9;
+    font-size: 20px;
+    font-weight: @baseFontWeightBold;
+}
+
+.style28() {
+    color: @primary1;
+    font-size: 14px;
+    font-weight: @baseFontWeightBold;
+}
+
+.style29() {
+    color: @primary4;
+    font-size: 13px;
+    font-weight: @baseFontWeightBold;
+}
+
+.style30() {
+    color: @primary1;
+    font-size: 14px;
+    font-weight: @baseFontWeightSemibold;
+}
+
+.style31() {
+    color: @primary1;
+    font-size: 20px;
+    font-style: italic;
+    font-weight: @baseFontWeight;
+}
+
+.style32() {
+    color: @primary6;
+    font-size: 14px;
+    font-weight: @baseFontWeightBold;
+}
+
+.style33() {
+    color: @primary3;
+    font-size: 12px;
+    font-weight: @baseFontWeightSemibold;
+
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+.style34() { // no such html yet
+    color: @primary2;
+    font-size: 12px;
+    font-weight: @baseFontWeight;
+    &:focus,
+    &:hover {
+        text-decoration: underline;
+    }
+}
+
+// Fonts
+
+@font-face {
+    font-family: 'admin-icons';
+    src: url('../fonts/icons/admin-icons.eot');
+    src: url('../fonts/icons/admin-icons.eot?#iefix') format('embedded-opentype'), url('../fonts/icons/admin-icons.svg#admin-icons') format('svg'), url('../fonts/icons/admin-icons.woff') format('woff'), url('../fonts/icons/admin-icons.ttf') format('truetype');
+    font-weight: normal;
+    font-style: normal;
+}
+
+@font-face {
+    font-family: 'MUI-Icons';
+    src: url('../mui/fonts/MUI-Icons.eot');
+    src: url('../mui/fonts/MUI-Icons.eot?#iefix') format('embedded-opentype'), url('../mui/fonts/MUI-Icons.svg#MUI-Icons') format('svg'), url('../mui/fonts/MUI-Icons.woff') format('woff'), url('../mui/fonts/MUI-Icons.ttf') format('truetype');
+    font-weight: normal;
+    font-style: normal;
+}
+
+/* @import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700 <http://fonts.googleapis.com/css?family=Open+Sans:400italic%2c400%2c600%2c700>); */
+
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Open Sans'), local('OpenSans'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 600;
+  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: normal;
+  font-weight: 700;
+  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff');
+}
+@font-face {
+  font-family: 'Open Sans';
+  font-style: italic;
+  font-weight: 400;
+  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(//themes.googleusercontent.com/static/fonts/opensans/v6/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff');
+}
+
+// Base
+
+body, html {
+    min-height: 100%;
+    height: 100%;
+}
+
+body {
+    color: @baseColor;
+    font: @baseFontWeight @baseFontSize/@baseLineHeight @baseFont;
+    background: #f2ebde;
+    position: relative;
+    height: auto;
+}
+
+// Headings
+
+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
+
+a {
+    .actionLink();
+}
\ No newline at end of file
diff --git a/app/design/adminhtml/magento_backend/less/styles/debug.less b/app/design/adminhtml/magento_backend/less/styles/debug.less
new file mode 100644
index 00000000000..29254208bae
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/styles/debug.less
@@ -0,0 +1,831 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+//  */
+
+/*
+    This file was created to debug old classes in order to indicate where we must replase it with new ones
+    The types of messages are generated in file: \app\code\core\Mage\Core\Block\Messages.php like $html .= '<' . $this->_messagesSecondLevelTagName . ' class="' . $type . '-msg">';
+-------------------------------------- */
+
+/*
+    All messages to identify and refactor:
+
+label.mage-error,
+.notice,
+.messages ul,
+.messages li,
+.messages ul li,
+.error-msg,
+.success-msg,
+.notice-msg,
+.warning-msg
+
+Done:
+.notification-global
+.notification-global-notice
+-------------------------------------- */
+.debug {
+    border: 1px solid red !important;
+}
+
+.messages ul,
+ul.messages {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+ul.messages > li {
+    margin: 20px 0;
+
+}
+
+ul.messages li li {
+    padding: 10px 26px 10px 35px;
+    border-radius: 5px;
+    color: #676056;
+    text-shadow: none;
+    position: relative;
+    background: #fffbf0;
+    border: 1px solid #d87e34;
+    margin-top: -1px;
+}
+
+ul.messages li li:first-child {
+    margin-top: 0;
+}
+
+ul.messages li li:before {
+    position: absolute;
+    left: 11px;
+    top: 50%;
+    margin-top: -11px;
+    background: none;
+    text-shadow: none;
+    width: auto;
+    height: auto;
+    border: 0;
+    font-family: 'MUI-Icons';
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    font-size: 16px;
+    content: '\e046'; /* icon-info  */
+    color: #d87e34;
+}
+
+ul.messages li.error-msg li {
+    color: #963535;
+    border-color: #963535;
+    background: #f3dcd8;
+}
+
+ul.messages li.error-msg li:before {
+    content: '\e069';
+    color: #963535;
+}
+
+ul.messages li.success-msg li {
+    border-color: #ceceb6;
+    background: #e4eecb;
+    color: #185b00;
+}
+
+ul.messages li.success-msg li:before {
+    content: '\e067';
+    color: #185b00;
+}
+
+/*
+    Accordion
+------------------------*/
+.accordion {
+    margin: 0 0 8px;
+    padding: 0;
+}
+
+.accordion > dt,
+.accordion > dd.open,
+.accordion .collapseable,
+.section-config.active > .collapseable + input + fieldset,
+.accordion .collapseable.open + input + fieldset {
+    background: #fff;
+    border: 1px solid #eae6e0;
+    border-radius: 5px;
+    margin: 0 0 8px;
+    padding: 5px 18px 2px;
+    position: relative;
+}
+
+.accordion > dt + dd {
+    display: none;
+}
+
+.accordion > dt.open,
+.section-config.active > .collapseable,
+.accordion .collapseable.open {
+    margin: 0;
+    border-bottom: 0;
+    border-radius: 5px 5px 0 0;
+}
+.section-config.active > .collapseable + input + fieldset,
+.accordion > dt + dd.open,
+.accordion .collapseable.open + input + fieldset {
+    padding: 25px 18px 18px;
+    display: block;
+    border-top: 0;
+    border-radius: 0 0 5px 5px;
+}
+
+.section-config > .collapseable > a,
+.accordion > dt a,
+.accordion .collapseable > a {
+    .style10();
+    display: block;
+    padding: 7px 0 10px 22px;
+    text-decoration: none;
+    position: relative;
+    cursor: pointer;
+}
+
+.section-config > .collapseable > a i,
+.accordion > dt a i,
+.accordion .collapseable > a i {
+    .style31();
+}
+
+.section-config.active > .collapseable > a,
+.accordion .collapseable.open a,
+.accordion dt.open a {
+    border-bottom: 1px solid #ededed;
+}
+.section-config > .collapseable > a:before,
+.accordion > dt a:before,
+.accordion .collapseable > a:before {
+    position: absolute;
+    left: 0;
+    top: 7px;
+    font-family: 'MUI-Icons';
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    content: '\e02a'; /* arrow right icon */
+    color: #b2b0ad;
+}
+
+
+.section-config.active > .collapseable > a:before,
+.accordion > dt.open a:before,
+.accordion .collapseable.open a:before {
+    content: '\e02c'; /* arrow down icon */
+}
+.section-config > .collapseable > a:hover:before,
+.accordion > dt a:hover:before,
+.accordion .collapseable > a:hover:before {
+    color: #7e7e7e;
+}
+
+/* PayPal connected */
+
+.section-config.complex .section-config.with-button {
+    padding:20px 15px;
+    margin:0 -30px 0 -15px;
+    border-bottom:1px solid #eae6e0;
+}
+
+.section-config.complex tr:last-child .section-config.with-button {
+    border-bottom:0;
+}
+
+.section-config.complex .section-config.with-button > .entry-edit-head {
+    padding:0;
+    padding-left:25px;
+    border:0;
+}
+
+.section-config.complex .section-config.with-button.enabled > .entry-edit-head:before {
+    content: "\e01e";
+    color:#fff;
+    background: #65940a;
+    font-family: "MUI-Icons";
+    font-weight: normal;
+    padding:3px;
+    font-size: 10px;
+    width:10px;
+    height:10px;
+    line-height: 10px;
+    overflow: hidden;
+    border-radius: 8px;
+    display: block;
+    float:left;
+    margin-left:-25px;
+    margin-top:0;
+}
+
+.section-config.complex .section-config.with-button > .config {
+    margin:10px -10px;
+    border:1px solid #d1d0ce;
+    border-radius: 5px;
+    padding:5px 0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td {
+    padding:0;
+}
+
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head {
+    border:0;
+    border-radius: 0;
+    margin-bottom:0;
+    padding:5px 10px 2px;
+    border-bottom:1px solid #d1d0ce;
+    background: transparent;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .entry-edit-head {
+    border:0;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .entry-edit-head a {
+    border-bottom:0;
+}
+
+.section-config.complex .section-config.with-button > .config > table > tbody > tr > td > .section-config > .config {
+    border:0;
+    border-bottom:1px solid #d1d0ce;
+    border-radius: 0;
+    margin:0;
+    padding-bottom:50px;
+}
+.section-config.complex .section-config.with-button > .config > table > tbody > tr:last-child > td > .section-config > .config {
+    border-bottom:0;
+}
+
+.section-config .config h4 {
+    padding-left:25%;
+    font-size: 18px;
+}
+
+.section-config .config td.label label.enabled:before {
+}
+.section-config .config td.label label.enabled:before {
+    content: "\e01e";
+    color:#fff;
+    background: #65940a;
+    font-family: "MUI-Icons";
+    font-weight: normal;
+    padding:3px;
+    font-size: 10px;
+    width:10px;
+    height:10px;
+    line-height: 10px;
+    overflow: hidden;
+    border-radius: 8px;
+    display: block;
+    float:left;
+    margin-right:5px;
+}
+
+.section-config.complex .section-config.with-button > .config:before {
+    content:'';
+    height: 9px;
+    width: 20px;
+    overflow: hidden;
+    display: block;
+    position: absolute;
+    bottom: 100%;
+    left: 50%;
+    zoom: 1;
+    z-index: 2;
+    margin-left: -10px;
+    background: url(../images/subconfig-bg.png) no-repeat 0 0;
+}
+
+.section-config.config-advanced {
+    padding:30px 0 0;
+}
+.section-config.config-advanced > .entry-edit-head {
+    border:0;
+    padding:0;
+    padding-left:25%;
+}
+.section-config.config-advanced > .entry-edit-head a {
+    border:0 !important;
+}
+.section-config.config-advanced > .config {
+    padding-left:0!important;
+    padding-right:0!important;
+    border:0!important;
+    border-radius: 0!important;
+}
+
+.section-config.config-advanced > .entry-edit-head a {
+    margin-left:-22px;
+}
+
+
+.section-config.with-button .config-heading strong {
+    display: block;
+    .style28();
+    margin-bottom:5px;
+}
+
+.section-config.with-button .config-heading .button-container {
+    margin:15px 0 0;
+}
+.section-config.with-button .button-container {
+    line-height: 28px;
+}
+.section-config.with-button .button-container a {
+    margin-left:20px;
+}
+
+.section-config.with-button .action-configure span {
+    display: block;
+    position: relative;
+    text-align: center;
+}
+.section-config.with-button .action-configure .state-opened {
+    visibility: hidden;
+    height:0;
+    overflow: hidden;
+}
+.section-config.with-button .action-configure.open .state-opened {
+    visibility: visible;
+    height:auto;
+    overflow: auto;
+}
+.section-config.with-button .action-configure.open .state-closed {
+    visibility: hidden;
+    height:0;
+    overflow: hidden;
+}
+
+.accordion > dt + dd {
+    display: none;
+}
+
+.accordion > dt + .open:empty {
+    background: #fff url(../mui/images/ajax-loader-big.gif) no-repeat center;
+    height: 100px;
+}
+
+/* TODO: arrange configuration tables */
+.accordion .collapseable.disabled {
+    background: #f1f1f1;
+}
+
+.accordion .collapseable.disabled > a {
+    cursor: not-allowed;
+}
+
+.accordion .collapseable.disabled > a:before {
+    content: '';
+}
+
+.accordion .config {
+    border: 0;
+}
+
+.accordion .config .comment a {
+    .style3();
+}
+
+.accordion .config legend {
+    display: none;
+}
+
+.eq-ie8 .accordion .config legend {
+    position: absolute;
+    left: -999em;
+    display: block;
+    width: 0;
+    height: 0;
+    padding: 0;
+    margin: 0;
+    overflow: hidden;
+}
+
+.accordion .config table {
+    width: 100%;
+}
+
+.accordion .config .label {
+    float: none;
+    width: 25%;
+    text-align: right;
+    .style2();
+}
+
+.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;
+}
+
+.accordion .config td {
+    background: none;
+    border: 0;
+    padding: 8px 15px 0 0;
+    vertical-align: top;
+}
+
+.accordion .paypal-selection-simplified {
+    padding-left: 30px;
+}
+
+.accordion .paypal-selection input[type="checkbox"] {
+    margin: -4px 7px 0 0;
+}
+
+.accordion .config input[type="text"],
+.accordion .config input[type="password"],
+.accordion .config select,
+.accordion .config textarea {
+    width: 100%;
+    -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%;
+}
+
+.accordion .config .value {
+    width: 50%;
+    padding-right:40px;
+}
+
+.accordion .config .value.with-tooltip {
+    padding-top:5px;
+}
+.accordion .config .value.with-tooltip .tooltip {
+    position: relative;
+    top:0;
+    left:0;
+    right:0;
+    bottom:0;
+    margin:0;
+    float:right;
+    margin-right:-20px;
+    margin-top:6px;
+}
+.accordion .config .value.with-tooltip .tooltip-content {
+    padding:15px;
+    right:0;
+    margin-left:0;
+    margin-right:-19px;
+    margin-bottom:10px;
+    left:auto;
+    top:auto;
+    bottom:100%;
+    width: 400px;
+    max-width: 400px;
+    line-height: 1.333;
+}
+.accordion .config .value.with-tooltip .tooltip-content:before {
+    content: '';
+    position: absolute;
+    width: 0;
+    height: 0;
+    top: auto;
+    bottom:-5px;
+    left:auto;
+    right: 20px;
+    border-left: 5px solid transparent;
+    border-right: 5px solid transparent;
+    border-top: 5px solid #000;
+    border-bottom:0;
+    opacity: .8;
+}
+
+.accordion .config .value.with-tooltip .help {
+    position: relative;
+    width:auto;
+    margin:0;
+}
+
+.accordion .config .scope-label {
+    color: #999;
+    font-size: 12px;
+    letter-spacing: 0.05em;
+    padding: 15px 15px 0 0;
+}
+
+.accordion .config .note {
+    .style19();
+    padding-left: 15px;
+    margin: 5px 0;
+}
+
+.accordion .config .note a {
+    .style22();
+}
+
+.accordion .config .note:before {
+    position: absolute;
+    margin: 4px 0 0 -14px;
+    content: '';
+    display: inline-block;
+    vertical-align: top;
+    font-size: 0;
+    line-height: 0;
+    width: 0;
+    border-bottom: 5px solid #666;
+    border-left: 5px solid transparent;
+    border-right: 5px solid transparent;
+}
+
+.accordion .config .system-tooltip-box {
+    position: absolute;
+}
+
+.accordion .paypal-selection {
+    margin: 10px;
+    width: 98%;
+}
+
+.accordion .paypal-selection th {
+    padding: 6px 10px 7px;
+}
+
+.accordion .paypal-selection {
+    border-bottom: 2px solid #c0bbaf;
+}
+
+.accordion .paypal-payment-notice {
+    margin: 10px;
+}
+
+.accordion .custom-options {
+    border: 1px solid #999;
+    padding: 0 10px;
+    margin: 0 0 20px;
+}
+
+/* TODO: arrange range inputs width in tables */
+.grid td input.input-text-range {
+    width: 35%;
+}
+
+.grid td input.input-text-range-date {
+    width: 31%;
+}
+
+/* TODO: styles for required TH fields */
+th.required:after {
+    color: red;
+    content: "*";
+    margin-left: 5px;
+}
+
+/* TODO: set color for messages in Cache Storage Management */
+.grid-severity-critical,
+.grid-severity-major,
+.grid-severity-notice,
+.grid-severity-minor {
+    display: block;
+    border: 1px solid #c76f35;
+    background: #fffbf0;
+    text-align: center;
+}
+
+.grid-severity-critical {
+    border-color: #6e1313;
+    background: #f7bfbf;
+    color: #6e1313;
+}
+
+.grid-severity-major {
+    border-color: #963535;
+    background: #f3dcd8;
+    color: #963535;
+}
+
+.grid-severity-notice {
+    border-color: #185b00;
+    background: #e6ecc0;
+    color: #185b00;
+}
+
+/*
+    Sales
+-------------------------------------- */
+
+.order-items .entry-edit-head .form-buttons {
+    float: right;
+}
+
+.order-items .entry-edit-head .icon-head {
+    display: inline;
+}
+
+.order-items .entry-edit-head {
+    margin-bottom: 20px;
+}
+
+.order-items .entry-edit-head:before,
+.order-items .entry-edit-head:after {
+    content: "";
+    display: table;
+}
+
+.order-items .entry-edit-head:after {
+    clear: both;
+}
+
+/*
+    Import-export tax rates
+-------------------------------------- */
+.import-export-tax-rates input[type=file] {
+    margin-right: 10px;
+}
+
+.import-tax-rates,
+.export-tax-rates {
+    float: left;
+    width: 48.9362%;
+}
+
+.export-tax-rates {
+    margin-left: 2.12766%;
+}
+
+.import-export-tax-rates:before,
+.import-export-tax-rates:after {
+    content: "";
+    display: table;
+}
+
+.import-export-tax-rates:after {
+    clear: both;
+}
+
+/*
+    Product
+-------------------------------------- */
+.tier {
+    margin: 20px 0 0;
+}
+
+/*
+    Edit attribute set
+-------------------------------------- */
+.attribute-set-col {
+    display: block;
+    float: left;
+    width: 100%;
+    margin-left: 2.127659574%;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 31.9149%;
+}
+
+.attribute-set-col:first-child {
+    margin-left: 0;
+}
+
+.attribute-set-tree {
+    margin-top: 5px;
+    overflow: auto;
+    height: 400px;
+    width: 100%;
+}
+
+.attribute-set:before,
+.attribute-set:after {
+    content: "";
+    display: table;
+}
+.attribute-set:after {
+    clear: both;
+}
+
+/*
+    Manage Categories
+-------------------------------------- */
+.catalog-category-edit .category-edit-title {
+    float: left;
+}
+
+/*
+    Catalog Price Rule
+-------------------------------------- */
+.rule-tree-wrapper {
+    line-height: 28px;
+}
+
+.rule-tree ul {
+    list-style: none;
+    padding-left: 16px;
+    border-left: dotted 1px #888;
+}
+
+.rule-tree li {
+    margin: 0 0 10px;
+}
+
+.rule-tree .x-tree ul {
+    padding-left: 0 !important;
+    border-left: none !important;
+}
+
+.rule-param .label {
+    color: #000;
+    float: none;
+    text-align: left;
+    padding: 0;
+    vertical-align: baseline;
+    width: auto;
+}
+
+.rule-param .label-disabled {
+    color: #eee;
+    cursor: default;
+    text-decoration: none;
+}
+
+.rule-chooser,
+.rule-param .element,
+.rule-param-edit .label {
+    display: none;
+}
+
+.rule-param input,
+.rule-param select {
+    width: auto !important;
+    margin: 0;
+    min-width: 170px;
+}
+
+.rule-param-edit .element {
+    display: inline;
+}
+
+.rule-param-edit .element .addafter {
+    padding-left: 5px;
+}
+
+[class^="rule-param-"] img,
+.rule-chooser-trigger img {
+    vertical-align: middle;
+}
+
+.rule-chooser {
+    border: solid 1px #CCC;
+    margin: 20px;
+    padding: 15px 10px 5px;
+}
+
+.rule-param-wait {
+    background: url(../mui/images/ajax-loader-small.gif) no-repeat left center;
+    padding-left: 20px;
+}
+
+/*
+
+    URL Rewrite
+-------------------------------------- */
+.field-url-rewrite-option-select {
+    padding-top: 13px;
+}
+
+
+/* jstree */
+.jstree-default .disabled > a {
+    color: #a29c94;
+}
+/*  File brouser */
diff --git a/app/design/adminhtml/magento_backend/css/header.css b/app/design/adminhtml/magento_backend/less/styles/header.less
similarity index 96%
rename from app/design/adminhtml/magento_backend/css/header.css
rename to app/design/adminhtml/magento_backend/less/styles/header.less
index 0ee25f3fb8e..c54f085dfb0 100644
--- a/app/design/adminhtml/magento_backend/css/header.css
+++ b/app/design/adminhtml/magento_backend/less/styles/header.less
@@ -1,5 +1,5 @@
-/**
- * Magento
+// /**
+//  * Magento
  *
  * NOTICE OF LICENSE
  *
@@ -16,10 +16,10 @@
  * Do not edit or add to this file if you wish to upgrade Magento to 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)
- */
+//  *
+//  * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
 
 /*
     Header
@@ -137,8 +137,6 @@
     padding: 20px 30px 13px 18px;
     background: #f7f3eb;
     border-bottom: 1px solid #f7e4d0;
-    color: #8C867E;
-    font: 11px/13px Arial, Helvetica, sans-serif;
     white-space: normal;
 }
 
@@ -306,10 +304,8 @@
 }
 
 .header-panel .notifications .value {
-    font-size: 9px;
-    font-weight: bold;
+    .style16();
     line-height: 11px;
-    color: #fff;
     padding: 1px 3px;
     min-width: 10px;
     background: #f58220;
@@ -332,10 +328,8 @@
 .header-panel .dropdown-menu > li {
     background: #fff;
     border-bottom: 0;
-    color: #8c867e;
     position: relative;
     padding: 13px 26px 14px 16px;
-    font: 11px/13px Arial, Helvetica, sans-serif;
     white-space: normal;
 }
 
@@ -355,11 +349,10 @@
 }
 
 .header-panel .notifications > .dropdown-menu .notification-description {
-    max-height: 40px;
+    max-height: 43px;
     overflow: hidden;
     display: block;
-    font-family: Helvetica, Arial, sans-serif;
-    color: #676056;
+    .style14();
 }
 
 .header-panel .notifications > .dropdown-menu .notification-entry {
@@ -459,7 +452,6 @@
 .notification-entry-dialog .notification-dialog-content strong {
     display: block;
     color: #f58220;
-    font-family: "CallunaSans";
     font-size: 18px;
     font-weight: 500;
 }
@@ -546,7 +538,6 @@
 .header-panel .search .autocomplete-results .title {
     display: block;
     color: #f58220;
-    font-family: "CallunaSans";
     font-size: 14px;
     font-weight: 500;
     margin-bottom: 5px;
@@ -554,13 +545,10 @@
 
 .header-panel .notifications > .dropdown-menu li > strong {
     display: block;
-    font-family: "CallunaSans";
-    font-size: 14px;
-    font-weight: 500;
-    color: #f47b20;
-    max-height: 34px;
+    .style33();
+    max-height: 32px;
     overflow: hidden;
-    line-height: 1.2;
+    line-height: 1.4;
     margin-bottom: 4px;
 }
 
@@ -633,11 +621,9 @@
 }
 
 .header-panel .notifications > .dropdown-menu time {
-    color: #8c867e;
+    .style14();
     display: block;
     margin-top: 7px;
-    font-size: 10px;
-    font-family: Helvetica, Arial, sans-serif;
 }
 
 .header-panel .notifications > .dropdown-menu a:focus ~ .action-close,
diff --git a/app/design/adminhtml/magento_backend/css/pages.css b/app/design/adminhtml/magento_backend/less/styles/pages.less
similarity index 86%
rename from app/design/adminhtml/magento_backend/css/pages.css
rename to app/design/adminhtml/magento_backend/less/styles/pages.less
index fd1fd798dd8..8e3cf0933e5 100644
--- a/app/design/adminhtml/magento_backend/css/pages.css
+++ b/app/design/adminhtml/magento_backend/less/styles/pages.less
@@ -1,5 +1,5 @@
-/**
- * Magento
+// /**
+//  * Magento
  *
  * NOTICE OF LICENSE
  *
@@ -16,10 +16,10 @@
  * Do not edit or add to this file if you wish to upgrade Magento to 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)
- */
+//  *
+//  * @copyright  Copyright (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 Creation
@@ -263,45 +263,6 @@
     padding: 0 0 18px 20%;
 }
 
-/*
-    Invitations
---------------------------------------*/
-.invitee_information,
-.inviter_information {
-    width: 48.9362%;
-}
-
-.invitee_information {
-    float: left;
-}
-
-.inviter_information {
-    float: right;
-}
-
-.invitation_information .data-table th,
-.invitee_information .data-table th,
-.inviter_information .data-table th {
-    width: 20%;
-    white-space: nowrap;
-}
-
-.invitation_information .data-table textarea,
-.invitation_information .data-table input {
-    width: 100%;
-}
-
-.invitations-history ul {
-    margin: 0;
-    padding-left: 25px;
-}
-
-.invitations-history ul .status:before {
-    display: inline-block;
-    content: "|";
-    margin: 0 10px;
-}
-
 /*
     Configuration -> Design
 -------------------------------------- */
@@ -316,6 +277,17 @@
     clear: both;
 }
 
+/*
+    Configuration -> Payment Methods
+-------------------------------------- */
+.adminhtml-system-config-edit .payflow-settings-notice .important-label {
+    .style32();
+}
+
+.adminhtml-system-config-edit .payflow-settings-notice ul.options-list strong {
+    .style28();
+}
+
 /*
     CMS -> Banners
 -------------------------------------- */
@@ -689,27 +661,6 @@
     text-align: left;
 }
 
-/*
-    Reports - Customer Segment Report
--------------------------------------- */
-.filter-segments {
-    list-style: none;
-    padding: 0;
-}
-
-.adminhtml-report-customer-customersegment-detail .col-id {
-    width: 35px;
-}
-
-.adminhtml-report-customer-customersegment-detail .col-period {
-    white-space: nowrap;
-    width: 70px;
-}
-
-.adminhtml-report-customer-customersegment-detail .col-zip {
-    width: 50px;
-}
-
 /*
     Reports - Most Viewed
 -------------------------------------- */
@@ -771,56 +722,6 @@
     width: 80px;
 }
 
-/*
-    Reports - Order Conversion Rate
--------------------------------------- */
-.adminhtml-report-invitation-order .col-period {
-    white-space: nowrap;
-    width: 70px;
-}
-
-.adminhtml-report-invitation-order .col-inv-sent,
-.adminhtml-report-invitation-order .col-inv-acc,
-.adminhtml-report-invitation-order .col-acc,
-.adminhtml-report-invitation-order .col-rate {
-    text-align: right;
-    width: 23%;
-}
-
-/*
-    Reports - Invitations - Customer
--------------------------------------- */
-.adminhtml-report-invitation-customer .col-id {
-    width: 35px;
-}
-
-.adminhtml-report-invitation-customer .col-period {
-    white-space: nowrap;
-    width: 70px;
-}
-
-.adminhtml-report-invitation-customer .col-inv-sent,
-.adminhtml-report-invitation-customer .col-inv-acc {
-    text-align: right;
-    width: 120px;
-}
-
-/*
-    Reports - Invitations - General
--------------------------------------- */
-.adminhtml-report-invitation-index .col-period {
-    white-space: nowrap;
-}
-
-.adminhtml-report-invitation-index .col-inv-sent,
-.adminhtml-report-invitation-index .col-inv-acc,
-.adminhtml-report-invitation-index .col-inv-disc,
-.adminhtml-report-invitation-index .col-inv-acc-rate,
-.adminhtml-report-invitation-index .col-inv-disc-rate {
-    text-align: right;
-    width: 19%;
-}
-
 /*
     Reports - Abandoned Carts
 -------------------------------------- */
@@ -960,31 +861,6 @@
     text-align: right;
 }
 
-/*
-    Reports - Customer Segments
--------------------------------------- */
-
-.adminhtml-report-customer-customersegment-segment .col-id {
-    width: 35px;
-}
-
-.adminhtml-report-customer-customersegment-segment .col-status {
-    width: 65px;
-}
-
-.adminhtml-report-customer-customersegment-segment .col-qty {
-    width: 145px;
-}
-
-.adminhtml-report-customer-customersegment-segment .col-segment,
-.adminhtml-report-customer-customersegment-segment .col-website {
-    width: 35%;
-}
-
-.adminhtml-report-customer-customersegment-segment .col-select {
-    width: 45px;
-}
-
 /*
     Reports - Low Stock
 -------------------------------------- */
@@ -1120,12 +996,9 @@
     width: 150px;
 }
 
-/*
-    Gift Registry
---------------------------------------*/
+
 .table-fieldset-alt,
-.type-options,
-.giftregistry-custom-attributes {
+.type-options {
     margin-bottom: 20px;
 }
 
@@ -1321,7 +1194,6 @@
 .action-switch-to-analytics:visited,
 .action-switch-to-hub:link,
 .action-switch-to-hub:visited {
-    font-family: 'CallunaSans', Arial, sans-serif;
     font-weight: 400;
     font-size: 16px;
     color: #19a3d1;
@@ -1355,6 +1227,14 @@
     Sales
 -------------------------------------- */
 
+#order-totals strong {
+    .style28();
+}
+
+#order-shipping-method-summary a {
+    .style3();
+}
+
 .customer-current-activity {
     float: left;
     width: 22%;
@@ -1596,24 +1476,7 @@
 }
 
 .sales-order-create-index #order-data .fieldset-wrapper .actions .action-add {
-    background: #f58227;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y1ODIyNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMDcyMWMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f58227), color-stop(100%, #f0721c));
-    background: -webkit-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -o-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: -ms-linear-gradient(top, #f58227 0%, #f0721c 100%);
-    background: linear-gradient(to bottom, #f58227 0%, #f0721c 100%);
-    border: 1px solid #e4731c;
-    border-radius: 5px;
-    margin: 0 20px 0 0;
-    box-shadow: inset 0 1px 1px rgba(255, 255, 255, .1);
-    color: #fff;
-    margin-top: 7px;
-    margin-bottom: 8px;
-    padding: 4px 14px;
-    text-shadow: 0 1px 1px #8e3b05;
-    text-decoration: none;
+    margin: 7px 8px 8px 0;
 }
 
 .sales-order-create-index .order-additional-area.fieldset-wrapper .actions {
@@ -1622,26 +1485,6 @@
     padding: 0;
 }
 
-.sales-order-create-index #order-data .fieldset-wrapper .actions .action-add:hover {
-    color: #fff;
-    background: #e47821;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U0NzgyMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZTY4MTciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e47821), color-stop(100%, #de6817));
-    background: -webkit-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -o-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: -ms-linear-gradient(top, #e47821 0%, #de6817 100%);
-    background: linear-gradient(to bottom, #e47821 0%, #de6817 100%);
-}
-
-.eq-ie8 .sales-order-create-index #order-data .fieldset-wrapper .actions .action-add {
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f58227', endColorstr='#f0721c', GradientType=0);
-}
-
-.eq-ie8 .sales-order-create-index #order-data .fieldset-wrapper .action-add:hover {
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47821', endColorstr='#de6817', GradientType=0);
-}
-
 .sales-order-create-index #order-data .fieldset-wrapper .actions .action-delete {
     margin: 11px 0 0;
 }
@@ -1664,17 +1507,23 @@
 }
 
 .create-order-sidebar-container > div .head h5 {
+    .style9();
     margin: 17px 0 7px;
 }
 
 .customer-current-activity-inner > h4 {
+    .style10();
     border-bottom: 1px solid #ededed;
     margin-top: 0;
     padding: 0 0 16px;
 }
 
 .customer-current-activity-inner .data-table th {
-    font-size: 11px;
+    .style18();
+}
+
+.customer-current-activity-inner .data-table td {
+    .style19();
 }
 
 .customer-current-activity .action-refresh {
@@ -1714,6 +1563,7 @@
 }
 
 .customer-current-activity .auto-scroll {
+    .style18();
     overflow: auto;
     max-height: 150px;
 }
@@ -1849,11 +1699,7 @@
     color: #963535;
 }
 
-.adminhtml-giftwrapping-index th.col-id {
-    text-align: left;
-}
 
-.adminhtml-giftwrapping-index .col-id,
 .checkout-agreement-index .col-id,
 [class^=" sales-billing-"] .col-id,
 [class^=" sales-transactions-"] .col-id {
@@ -1888,8 +1734,7 @@
 
 [class^=" sales-order-"] .col-subtotal,
 [class^=" sales-order-"] .col-price,
-[class^=" adminhtml-rma-"] .col-price,
-.adminhtml-giftwrapping-index .col-price {
+[class^=" adminhtml-rma-"] .col-price {
     text-align: right;
     width: 50px;
 }
@@ -1901,14 +1746,12 @@
 
 [class^=" sales-"] .col-actions,
 [class^=" adminhtml-rma-"] .col-actions,
-[class^=" adminhtml-rma-"] .col-default,
-.adminhtml-giftwrapping-index .col-actions {
+[class^=" adminhtml-rma-"] .col-default {
     width: 50px;
 }
 
 [class^=" sales-"] .col-select,
-[class^=" adminhtml-rma-"] .col-select,
-.adminhtml-giftwrapping-index .col-select {
+[class^=" adminhtml-rma-"] .col-select {
     width: 60px;
 }
 
@@ -1936,7 +1779,6 @@
 [class^=" adminhtml-rma-"] .col-order-number,
 [class^=" adminhtml-rma-"] .col-rma-number,
 [class^=" sales-transactions-"] .col-order-id,
-.adminhtml-giftwrapping-index .col-status,
 .sales-order-view .col-refunded {
     white-space: normal;
     width: 75px;
@@ -1983,7 +1825,6 @@
     width: 190px;
 }
 
-.adminhtml-giftwrapping-index .col-websites,
 .checkout-agreement-index .col-store-view {
     white-space: nowrap;
     width: 200px;
@@ -2022,7 +1863,6 @@
     text-align: right;
 }
 
-.adminhtml-giftwrapping-index .col-price .label,
 [class^=" sales-order-"] .col-price .label,
 [class^=" sales-order-"] .col-subtotal .label {
     display: inline-block;
@@ -2030,8 +1870,6 @@
     white-space: nowrap;
 }
 
-.adminhtml-giftwrapping-index .col-price .price-excl-tax .price,
-.adminhtml-giftwrapping-index .col-price .price-incl-tax .price,
 [class^=" sales-order-"] .col-price .price-excl-tax .price,
 [class^=" sales-order-"] .col-price .price-incl-tax .price,
 [class^=" sales-order-"] .col-subtotal .price-excl-tax .price,
@@ -2428,7 +2266,8 @@ table.items-to-invoice tbody tr:hover td {
 .popup-window-title .title {
     color: #676056;
     display: block;
-    font: 20px/1 'CallunaSans', Arial, sans-serif;
+    font-size: 20px;
+    line-height: 1;
 }
 
 .popup-window-title .actions {
@@ -2470,7 +2309,6 @@ table.items-to-invoice tbody tr:hover td {
 .popup-fieldset-title .title {
     color: #666;
     display: inline-block;
-    font-family: 'CallunaSans', Arial, sans-serif;
     font-size: 18px;
     font-weight: normal;
     padding: 7px 0 10px;
@@ -2640,59 +2478,6 @@ table.items-to-invoice tbody tr:hover td {
     background: #fff !important;
 }
 
-.adminhtml-giftwrapping-edit .field-image .control {
-    line-height: 28px;
-}
-
-.adminhtml-giftwrapping-edit .field-image a {
-    display: inline-block;
-    margin: 0 5px 0 0;
-}
-
-.adminhtml-giftwrapping-edit .field-image img {
-    vertical-align: middle;
-}
-
-.adminhtml-giftwrapping-new .field-image .input-file,
-.adminhtml-giftwrapping-edit .field-image .input-file {
-    display: inline-block;
-    margin: 0 15px 0 0;
-    width: auto;
-}
-
-.adminhtml-giftwrapping-new .field-image .addafter,
-.adminhtml-giftwrapping-edit .field-image .addafter {
-    border: 0;
-    box-shadow: none;
-    display: inline-block;
-    margin: 0 15px 0 0;
-    height: auto;
-    width: auto;
-}
-
-.adminhtml-giftwrapping-new .field-image .delete-image,
-.adminhtml-giftwrapping-edit .field-image .delete-image {
-    display: inline-block;
-    white-space: nowrap;
-}
-
-.adminhtml-giftwrapping-edit .field-image .delete-image input {
-    margin: -3px 5px 0 0;
-    width: auto;
-    display: inline-block;
-}
-
-.adminhtml-giftwrapping-edit .field-image .addon .delete-image input:focus + label {
-    border: 0;
-    box-shadow: none;
-}
-
-.adminhtml-giftwrapping-edit .store-switcher {
-    float: left;
-    position: relative;
-    bottom: -14px;
-}
-
 /*
     URL rewrite
 -------------------------------------- */
diff --git a/app/design/adminhtml/magento_backend/less/vars.less b/app/design/adminhtml/magento_backend/less/vars.less
new file mode 100644
index 00000000000..716bfa4a997
--- /dev/null
+++ b/app/design/adminhtml/magento_backend/less/vars.less
@@ -0,0 +1,87 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to 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)
+//  */
+
+@baseDir: ~"..";
+
+// Primary colors
+@primary1: #676056;
+@primary2: #ed4f2e;
+@primary3: #026294;
+@primary4: #fff;
+@primary5: #007dbd;
+@primary6: #e22626;
+@primary7: #f2ebde;
+@primary8: #31302b;
+@primary9: #ef672f;
+
+// Buttons
+// Default Buttons
+@defaultButton1: #f2ebde;
+@defaultButton2: #ada89e;
+@defaultButton3: #676056;
+@defaultButton4: #cac3b4;
+@defaultButton5: #989287;
+
+// Primary Buttons
+@primaryButton1: #007dbd;
+@primaryButton2: #0574ad;
+@primaryButton3: #026294;
+@primaryButton4: #004c74;
+
+// Links
+@linkColor: @primary3;
+@linkColor2: @primary4;
+
+// Base font
+@baseFont: 'Open Sans', sans-serif;
+@baseFontSize: 14px;
+@baseFontWeight: 400;
+@baseFontWeightSemibold: 600;
+@baseFontWeightBold: 700;
+@baseLineHeight: 1.33;
+@baseColor: @primary1;
+
+// Headings
+// H1
+@h1color: @primary1;
+@h1font: 400 28px/1.2 @baseFont;
+
+// H2
+@h2color: @primary1;
+@h2font: 400 20px/1.2 @baseFont;
+
+// H3
+@h3color: @primary1;
+@h3font: 600 16px/1.2 @baseFont;
+
+// H4
+@h4color: @primary1;
+@h4font: 600 14px/1.2 @baseFont;
+
+// H5
+@h5color: @primary1;
+@h5font: 600 13px/1.2 @baseFont;
+
+// H6
+@h6color: @primary1;
+@h6font: 600 12px/1.2 @baseFont;
diff --git a/app/design/adminhtml/magento_backend/mui/base.css b/app/design/adminhtml/magento_backend/mui/base.css
index 9c5d6afbde1..8762d4d8fa9 100644
--- a/app/design/adminhtml/magento_backend/mui/base.css
+++ b/app/design/adminhtml/magento_backend/mui/base.css
@@ -29,184 +29,6 @@
     font-style: normal;
 }
 
-/*
-    Simple 'button view' action (default size)
--------------------------------------- */
-input[type=button],
-input[type=submit],
-input[type=reset],
-button,
-input[type=button]:visited,
-input[type=submit]:visited,
-input[type=reset]:visited,
-button:visited,
-[class^="action-"],
-[class^="action-"]:visited {
-    font: 14px/18px 'CallunaSans', Arial, Helvetica, sans-serif;
-    font-weight: 500;
-    background: #e8e5e0;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U4ZTVlMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZGRhZDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #e8e5e0 0%, #dddad3 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e8e5e0), color-stop(100%,#dddad3));
-    background: -webkit-linear-gradient(top, #e8e5e0 0%,#dddad3 100%);
-    background: -o-linear-gradient(top, #e8e5e0 0%,#dddad3 100%);
-    background: -ms-linear-gradient(top, #e8e5e0 0%,#dddad3 100%);
-    background: linear-gradient(to bottom, #e8e5e0 0%,#dddad3 100%);
-    color: #47413a;
-    display: inline-block;
-    padding: 4px 14px;
-    text-align: center;
-    text-decoration: none;
-    vertical-align: top;
-    cursor: pointer;
-    border: 1px solid #c5c0b9;
-    border-radius: 5px;
-    -webkit-touch-callout: none;
-    -webkit-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-    text-shadow: 0 1px 0 rgba(255,255,255,.5);
-    box-shadow: inset 0 1px 1px rgba(255,255,255,.5);
-}
-
-.eq-ie8 input[type=button],
-.eq-ie8 input[type=submit],
-.eq-ie8 input[type=reset],
-.eq-ie8 button,
-.eq-ie8 input[type=button]:visited,
-.eq-ie8 input[type=submit]:visited,
-.eq-ie8 input[type=reset]:visited,
-.eq-ie8 button:visited,
-.eq-ie8 [class^="action-"],
-.eq-ie8 [class^="action-"]:visited {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8e5e0', endColorstr='#dddad3',GradientType=0 );
-}
-
-input[type=button]:hover,
-input[type=submit]:hover,
-input[type=reset]:hover,
-button:hover,
-input[type=button]:focus,
-input[type=submit]:focus,
-input[type=reset]:focus,
-button:focus,
-[class^="action-"]:hover,
-[class^="action-"]:focus {
-    background: #dfdbd4;
-    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RmZGJkNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkM2NkYzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-    background: -moz-linear-gradient(top, #dfdbd4 0%, #d3cdc4 100%);
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dfdbd4), color-stop(100%,#d3cdc4));
-    background: -webkit-linear-gradient(top, #dfdbd4 0%,#d3cdc4 100%);
-    background: -o-linear-gradient(top, #dfdbd4 0%,#d3cdc4 100%);
-    background: -ms-linear-gradient(top, #dfdbd4 0%,#d3cdc4 100%);
-    background: linear-gradient(to bottom, #dfdbd4 0%,#d3cdc4 100%);
-    color: #322e2a;
-}
-
-.eq-ie8 input[type=button]:hover,
-.eq-ie8 input[type=submit]:hover,
-.eq-ie8 input[type=reset]:hover,
-.eq-ie8 button:hover,
-.eq-ie8 input[type=button]:focus,
-.eq-ie8 input[type=submit]:focus,
-.eq-ie8 input[type=reset]:focus,
-.eq-ie8 button:focus,
-.eq-ie8 [class^="action-"]:hover,
-.eq-ie8 [class^="action-"]:focus {
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dfdbd4', endColorstr='#d3cdc4',GradientType=0 );
-}
-
-input[type=button]:active,
-input[type=submit]:active,
-input[type=reset]:active,
-button:active,
-input[type=button].active,
-input[type=submit].active,
-input[type=reset].active,
-button.active,
-[class^="action-"]:active,
-[class^="action-"].active {
-    background: #dbd6ce;
-    box-shadow: 0 1px 1px #aaa59b inset;
-    text-shadow: none;
-}
-
-.eq-ie8 input[type=button]:active,
-.eq-ie8 input[type=submit]:active,
-.eq-ie8 input[type=reset]:active,
-.eq-ie8 button:active,
-.eq-ie8 input[type=button].active,
-.eq-ie8 input[type=submit].active,
-.eq-ie8 input[type=reset].active,
-.eq-ie8 button.active,
-.eq-ie8 [class^="action-"]:active,
-.eq-ie8 [class^="action-"].active {
-    filter: none;
-}
-
-input[type=button][disabled],
-input[type=submit][disabled],
-input[type=reset][disabled],
-button[disabled],
-input[type=button].disabled,
-input[type=submit].disabled,
-input[type=reset].disabled,
-button.disabled,
-input[type=button][disabled]:hover,
-input[type=submit][disabled]:hover,
-input[type=reset][disabled]:hover,
-button[disabled]:hover,
-input[type=button].disabled:hover,
-input[type=submit].disabled:hover,
-input[type=reset].disabled:hover,
-button.disabled:hover,
-input[type=button][disabled]:focus,
-input[type=submit][disabled]:focus,
-input[type=reset][disabled]:focus,
-button[disabled]:focus,
-input[type=button].disabled:focus,
-input[type=submit].disabled:focus,
-input[type=reset].disabled:focus,
-button.disabled:focus,
-input[type=button][disabled]:active,
-input[type=submit][disabled]:active,
-input[type=reset][disabled]:active,
-button[disabled]:active,
-input[type=button].disabled:active,
-input[type=submit].disabled:active,
-input[type=reset].disabled:active,
-button.disabled:active,
-input[type=button][disabled].active,
-input[type=submit][disabled].active,
-input[type=reset][disabled].active,
-button[disabled].active,
-input[type=button].disabled.active,
-input[type=submit].disabled.active,
-input[type=reset].disabled.active,
-button.disabled.active,
-[class^="action-"][disabled],
-[class^="action-"].disabled,
-[class^="action-"][disabled]:visited,
-[class^="action-"].disabled:visited,
-[class^="action-"][disabled]:hover,
-[class^="action-"].disabled:hover,
-[class^="action-"][disabled]:focus,
-[class^="action-"].disabled:focus,
-[class^="action-"][disabled]:active,
-[class^="action-"].disabled:active,
-[class^="action-"][disabled].active,
-[class^="action-"].disabled.active {
-    color: #bbb3b4;
-    color: rgba(71, 65, 58, 0.6);
-    cursor: not-allowed;
-    opacity: 0.6;
-    background: #e4e1db;
-    box-shadow: none;
-    text-shadow: none;
-    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);
-}
-
 /*
     Buttons group
 -------------------------------------- */
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/cart.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart.phtml
new file mode 100644
index 00000000000..2931540d95f
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart.phtml
@@ -0,0 +1,172 @@
+<?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
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php if ($this->getItemsCount()): ?>
+<div class="cart">
+    <div class="page-title title-buttons">
+        <h1><?php echo __('Shopping Cart') ?></h1>
+        <?php if(!$this->hasError()): ?>
+        <ul class="checkout-types">
+        <?php foreach ($this->getMethods('top_methods') as $method): ?>
+            <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
+            <li><?php echo $methodHtml; ?></li>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </ul>
+        <?php endif; ?>
+    </div>
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+    <?php echo $this->getChildHtml('form_before') ?>
+    <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post" id="form-validate" data-mage-init="{validation: []}">
+        <fieldset>
+            <table id="shopping-cart-table" class="data-table cart-table">
+                <col width="1" />
+                <col />
+                <col width="1" />
+            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                <col width="1" />
+            <?php endif ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <col width="1" />
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <col width="1" />
+            <?php endif; ?>
+                <col width="1" />
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <col width="1" />
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <col width="1" />
+            <?php endif; ?>
+                <col width="1" />
+
+            <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+                <thead>
+                    <tr>
+                        <th rowspan="<?php echo $mergedCells; ?>">&nbsp;</th>
+                        <th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo __('Product Name') ?></span></th>
+                        <th rowspan="<?php echo $mergedCells; ?>"></th>
+                        <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><span class="nobr"><?php echo __('Move to Wish List') ?></span></th>
+                        <?php endif ?>
+                        <th class="a-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo __('Unit Price') ?></span></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Qty') ?></th>
+                        <th class="a-center" colspan="<?php echo $mergedCells; ?>"><?php echo __('Subtotal') ?></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="a-center">&nbsp;</th>
+                    </tr>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                    <tr>
+                        <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                        <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    </tr>
+                    <?php endif; ?>
+                </thead>
+                <tfoot>
+                    <tr>
+                        <td colspan="50" class="a-right">
+                            <?php if($this->getContinueShoppingUrl()): ?>
+                                <button type="button" title="<?php echo __('Continue Shopping') ?>" class="button btn-continue"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
+                            <?php endif; ?>
+                            <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo __('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo __('Update Shopping Cart'); ?></span></span></button>
+                            <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo __('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo __('Clear Shopping Cart'); ?></span></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({
+                                                continueShoppingButton: 'button.btn-continue',
+                                                continueShoppingUrl: '<?php echo $this->getContinueShoppingUrl() ?>',
+                                                emptyCartButton: 'button.btn-empty',
+                                                updateCartActionContainer: '#update_cart_action_container'
+                                            });
+                                        });
+                                })(jQuery);
+                            //]]>
+                            </script>
+                        </td>
+                    </tr>
+                </tfoot>
+                <tbody>
+                <?php foreach($this->getItems() as $_item): ?>
+                    <?php echo $this->getItemHtml($_item) ?>
+                <?php endforeach ?>
+                </tbody>
+            </table>
+            <script type="text/javascript">(function($) {$('#shopping-cart-table').decorate('table')})(jQuery)</script>
+        </fieldset>
+    </form>
+    <div class="cart-collaterals">
+        <div class="col2-set">
+            <div class="col-1">
+                <?php echo $this->getChildHtml('crosssell') ?>
+            </div>
+            <div class="col-2">
+                <?php /* Extensions placeholder */ ?>
+                <?php echo $this->getChildHtml('checkout.cart.extra') ?>
+                <?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
+            </div>
+        </div>
+        <div class="totals">
+            <?php echo $this->getChildHtml('totals'); ?>
+            <?php if(!$this->hasError()): ?>
+            <ul class="checkout-types">
+            <?php foreach ($this->getMethods('methods') as $method): ?>
+                <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
+                <li><?php echo $methodHtml; ?></li>
+                <?php endif; ?>
+            <?php endforeach; ?>
+            </ul>
+            <?php endif; ?>
+        </div>
+    </div>
+</div>
+<?php else: ?>
+<div class="page-title">
+    <h1><?php echo __('Shopping Cart is Empty') ?></h1>
+</div>
+<div class="cart-empty">
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+    <?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>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/cart/coupon.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/coupon.phtml
new file mode 100644
index 00000000000..9386430baa0
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/coupon.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
+ * @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 id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
+    <div class="discount">
+        <h2><?php echo __('Discount Codes') ?></h2>
+        <div class="discount-form">
+            <label for="coupon_code"><?php echo __('Enter your coupon code if you have one.') ?></label>
+            <input type="hidden" name="remove" id="remove-coupon" value="0" />
+            <div class="input-box">
+                <input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->escapeHtml($this->getCouponCode()) ?>" />
+            </div>
+            <div class="buttons-set">
+                <button type="button" title="<?php echo __('Apply Coupon') ?>" class="button apply-coupon" value="<?php echo __('Apply Coupon') ?>"><span><span><?php echo __('Apply Coupon') ?></span></span></button>
+                <?php if(strlen($this->getCouponCode())): ?>
+                    &nbsp; <button type="button" title="<?php echo __('Cancel Coupon') ?>" class="button cancel-coupon" value="<?php echo __('Cancel Coupon') ?>"><span><span><?php echo __('Cancel Coupon') ?></span></span></button>
+                <?php endif;?>
+            </div>
+        </div>
+    </div>
+</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.apply-coupon', cancelButton: 'button.cancel-coupon'
+                });
+            });
+    })(jQuery);
+//]]>
+</script>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/crosssell.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/crosssell.phtml
similarity index 100%
rename from app/code/Magento/Checkout/view/frontend/cart/crosssell.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/cart/crosssell.phtml
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/item/configure/updatecart.phtml
similarity index 71%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/cart/item/configure/updatecart.phtml
index 34e87f8932f..e24f55d04ae 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/item/configure/updatecart.phtml
@@ -19,25 +19,27 @@
  * 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 $_product = $this->getProduct(); ?>
 <?php $buttonTitle = __('Update Cart'); ?>
 <?php if ($_product->isSaleable()): ?>
-    <div class="box tocart update">
+    <div class="add-to-cart">
         <?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>
+        <label for="qty"><?php echo __('Qty:') ?></label>
+        <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>"
+               title="<?php echo __('Qty') ?>" class="input-text qty"
+            <?php if ($_product->getStockItem() && $_product->getStockItem()->getIsQtyDecimal()) : ?>
+                data-validate="{required:true, 'validate-greater-than-zero':true}"/>
+            <?php else: ?>
+                data-validate="{required:true, digits:true}"/>
+            <?php endif; ?>
         <?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>
+        <button type="button" title="<?php echo $buttonTitle ?>" class="button btn-cart" id="product-updatecart-button"><span><span><?php echo $buttonTitle ?></span></span></button>
         <?php echo $this->getChildHtml('', true) ?>
     </div>
 
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/item/default.phtml
similarity index 78%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/cart/item/default.phtml
index 9871473d843..1c3fff9ed0a 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/item/default.phtml
@@ -19,77 +19,95 @@
  * 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 $_item \Magento\Sales\Model\Quote\Item */
 $_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 else:?>
-            <span 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 else: ?></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()):?>
-            <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>
+<tr>
+    <td><?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><?php endif;?><img src="<?php echo $this->getProductThumbnailUrl() ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /><?php if ($this->hasProductUrl()):?></a><?php endif;?></td>
+    <td>
+        <h2 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; ?>
+        </h2>
+        <?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; ?>
-            <?php endif; ?>
-            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
-            <?php if ($addInfoBlock): ?>
-                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
-            <?php endif;?>
-        </div>
+        </dl>
+        <?php endif;?>
+        <?php if ($messages = $this->getMessages()): ?>
+        <?php foreach ($messages as $message): ?>
+            <p class="item-msg <?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;?>
+    </td>
+    <td class="a-center">
+        <?php if ($isVisibleProduct): ?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><?php echo __('Edit') ?></a>
+        <?php endif ?>
     </td>
+    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+    <td class="a-center">
+        <?php if ($isVisibleProduct): ?>
+        <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo __('Move'); ?></a>
+        <?php endif ?>
+    </td>
+    <?php endif ?>
 
     <?php if ($canApplyMsrp): ?>
-        <td class="col msrp a-right"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+        <td class="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>
+                <?php $_product = $_item->getProduct(); ?>
                 <script type="text/javascript">
-                    Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo __("What's this?") ?>");
+                    (function ($) {
+                        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/msrp.js') ?>", function () {
+                            $('#<?php echo $helpLinkId ?>').addToCart({
+                                popupId: "#<?php echo $helpLinkId ?>",
+                                productName: '<?php echo $_product->getName() ?>',
+                                realPrice: '<?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>',
+                                msrpPrice: '<?php echo $this->helper('Magento\Core\Helper\Data')->currency($_product->getMsrp(),true,true) ?>',
+                                closeButtonId: '#map-popup-close',
+                                showAddToCart: false
+                            });
+                        });
+                    })(jQuery);
                 </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">
+        <td class="a-right">
             <?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: ?>
@@ -129,10 +147,9 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
                 <?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">
+        <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()): ?>
                 <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
@@ -174,13 +191,11 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
         </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 class="a-center">
+        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
     </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">
+    <td class="a-right">
         <?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: ?>
@@ -225,7 +240,7 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
     </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">
+    <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()): ?>
             <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
@@ -272,25 +287,5 @@ $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_ite
         <?php endif; ?>
     </td>
     <?php endif; ?>
+    <td class="a-center"><a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="btn-remove btn-remove2"><?php echo __('Remove item')?></a></td>
 </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_backup/Magento_Checkout/cart/shipping.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/shipping.phtml
new file mode 100644
index 00000000000..89aa5e352ff
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/shipping.phtml
@@ -0,0 +1,127 @@
+<?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\Checkout\Block\Cart\Shipping */ ?>
+<div class="shipping">
+    <h2><?php echo __('Estimate Shipping and Tax') ?></h2>
+    <div class="shipping-form">
+       <form action="<?php echo $this->getUrl('checkout/cart/estimatePost') ?>" method="post" id="shipping-zip-form">
+            <p><?php echo __('Enter your destination to get a shipping estimate.') ?></p>
+            <ul class="form-list">
+                <li>
+                    <label for="country" class="required"><em>*</em><?php echo __('Country') ?></label>
+                    <div class="input-box">
+                        <?php echo $this->getDirectoryBlock()->getCountryHtmlSelect($this->getEstimateCountryId()) ?>
+                    </div>
+                </li>
+            <?php //if($this->getStateActive()): ?>
+                <li>
+                    <label for="region_id"<?php if ($this->isStateProvinceRequired()) echo ' class="required"' ?>><?php if ($this->isStateProvinceRequired()) echo '<em>*</em>' ?><?php echo __('State/Province') ?></label>
+                    <div class="input-box">
+                        <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 a 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>
+                </li>
+            <?php //endif; ?>
+            <?php if($this->getCityActive()): ?>
+                <li>
+                    <label for="city"<?php if ($this->isCityRequired()) echo ' class="required"' ?>><?php if ($this->isCityRequired()) echo '<em>*</em>' ?><?php echo __('City') ?></label>
+                    <div class="input-box">
+                        <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>
+                </li>
+            <?php endif; ?>
+                <li>
+                    <label for="postcode"<?php if ($this->isZipCodeRequired()) echo ' class="required"' ?>><?php if ($this->isZipCodeRequired()) echo '<em>*</em>' ?><?php echo __('Zip/Postal Code') ?></label>
+                    <div class="input-box">
+                        <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>
+                </li>
+            </ul>
+            <div class="buttons-set">
+                <button type="submit" title="<?php echo __('Get a Quote') ?>" class="button"><span><span><?php echo __('Get a Quote') ?></span></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') ?>",
+                    "<?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') ?>">
+            <dl class="sp-methods">
+                <?php foreach ($_shippingRateGroups as $code => $_rates): ?>
+                    <dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+                    <dd>
+                        <ul>
+                        <?php foreach ($_rates as $_rate): ?>
+                            <li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"';?>>
+                               <?php if ($_rate->getErrorMessage()): ?>
+                                    <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
+                               <?php else: ?>
+                                    <input name="estimate_method" type="radio" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
+                                    <label for="s_method_<?php echo $_rate->getCode() ?>"><?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; ?>
+                                    </label>
+                               <?php endif ?>
+                            </li>
+                        <?php endforeach; ?>
+                        </ul>
+                    </dd>
+                <?php endforeach; ?>
+            </dl>
+            <div class="buttons-set">
+                <button type="submit" title="<?php echo __('Update Total') ?>" class="button" name="do" value="<?php echo __('Update Total') ?>"><span><span><?php echo __('Update Total') ?></span></span></button>
+            </div>
+        </form>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/code/Magento/Checkout/view/frontend/cart/sidebar.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar.phtml
similarity index 100%
rename from app/code/Magento/Checkout/view/frontend/cart/sidebar.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar.phtml
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar/default.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar/default.phtml
new file mode 100644
index 00000000000..ca93d77ee32
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/sidebar/default.phtml
@@ -0,0 +1,145 @@
+<?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();
+    $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);
+?>
+<li class="item">
+    <?php if ($this->hasProductUrl()): ?>
+        <a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><img src="<?php echo $this->getProductThumbnailSidebarUrl() ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></a>
+    <?php else: ?>
+        <span class="product-image"><img src="<?php echo $this->getProductThumbnailSidebarUrl() ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></span>
+    <?php endif; ?>
+    <div class="product-details">
+        <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove This Item') ?>"  class="btn-remove"><?php echo __('Remove This Item') ?></a>
+        <?php if ($isVisibleProduct): ?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="btn-edit"><?php echo __('Edit item')?></a>
+        <?php endif ?>
+        <p class="product-name"><?php if ($this->hasProductUrl()): ?><a href="<?php echo $this->getProductUrl() ?>"><?php endif; ?><?php echo $this->escapeHtml($this->getProductName()) ?><?php if ($this->hasProductUrl()): ?></a><?php endif; ?></p>
+        <strong><?php echo $this->getQty() ?></strong> x
+
+    <?php if ($canApplyMsrp): ?>
+
+        <span class="map-cart-sidebar-item"><?php echo __('See price before order confirmation.'); ?></span>
+
+    <?php else: ?>
+
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <?php echo __('Excl. Tax'); ?>:
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+            <?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; ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+            <br />
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                <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')): ?>
+                <?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')): ?>
+                <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; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+            <?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); ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <br /><?php echo __('Incl. Tax'); ?>:
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+            <?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; ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+            <br />
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                <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')): ?>
+                <?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')): ?>
+                <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; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+            <?php endif; ?>
+        <?php endif; ?>
+    <?php endif; ?>
+
+    <?php endif; //Can apply MSRP ?>
+
+        <?php if ($_options = $this->getOptionList()):?>
+        <div class="truncated" data-mage-init="{truncateOptions:[]}">
+          <div class="truncated_full_value">
+            <dl class="item-options">
+                <?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>
+        <a href="#" onclick="return false;" class="details"><?php echo __('Details') ?></a>
+        </div>
+        <?php endif; ?>
+    </div>
+</li>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml b/app/design/frontend/magento_backup/Magento_Checkout/cart/totals.phtml
similarity index 86%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/cart/totals.phtml
index ea12c71727e..53a0e844767 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/cart/totals.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -31,11 +32,10 @@
  * @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>
+    <div class="cart-msrp-totals"><?php echo __('You will see the order total before you submit the order.'); ?></div>
 <?php else: ?>
-    <table id="shopping-cart-totals-table" class="table totals">
+    <table id="shopping-cart-totals-table">
         <col />
         <col width="1" />
         <tfoot>
@@ -46,4 +46,3 @@
         </tbody>
     </table>
 <?php endif; ?>
-</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/cvv.gif b/app/design/frontend/magento_backup/Magento_Checkout/cvv.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6d6e9f2907839d58c27ec8de8644f30fc8b4467c
GIT binary patch
literal 18112
zcmW(+cRbbq_kZ8vE?lcniEHnXE$iB|QVGdk*=}~`z4lJFked}UZU`Z+5uzkyhmcv4
zz3=z)`<=hf<MDjF9_Mi$=lOa*&(YD-mRGR-2>JpXQUG0D-5)=GtgNj3{JCHs+sduw
zx4*yt=g%K;aq-x^x9jWcyuwmC79Nv}8#%?@-QQ+@{W}r58#g#QQ{C}J#xzOSKH)W~
z@ypDww49f`YMz3(qe@FlbF15$KMo(1rv2Rbr>JGjtsUT-SQedKB`9$-I3&a&B-cMW
zjZZ&J=24ni=-ay1?#8Y!0=FU>d%uOGRgBHAYCC0ZJ&=4%C>6XD^KE=uT1jtudRo!I
zPR%k#LSEC7(0I%H_4fAm&fzJ)0iHx6?d<G)pPaqp8bA1LT*NquU(5eP-*8glyX@?2
z@~3ahYn#qVWFDO$KSF|KV9s%8gLh{C<mBY(*@c5|>GP5gN~S^7beBYBux=6gcil5Q
zp7%tjzx*>hJN4sdI<dm|Y0bL(o!NyY46o?H$(fbk^WLGcn~I9Rwb(;5-xk$%r4)25
zuB_knf5WZn>J%8=-rinZ{cc?Z5YP+q^72YaNm14J<yFTmEU)T$mUMppZtD7Uy0_cT
z&Te>YVsLO!(I)H9^0FNE_M4Xe{;%K7aLGMGlWhZ2kNjWsd>%~-3Y?mpNH1;5DsQuV
zN)*uy$;^LM*YR~@WF#>r{ql8z@#QUJT>8k5)rG}hlM~}J(^Ipne<!DZY)GSQZ3Dke
zElf{Mp3O~^Hhh|x{h6DXu&#J%<xAhx?A+|^tnj^r@^{@Eo7<wA1U|h`Vr}=oe>*0=
zFMXdzzAP-9nVAt(^IzTgbA?NMckgg)exsu46R)OERDAOM{QUCBP{+X7OA@)E>3wb6
z7g4=PTSu48sqZh!Tlw@udwY8)r)DC;6T3c-exI3_(kF=N$B3DvaI53)c^7*7_=G(x
zXzm;99vm5-`6XtYBxs0tadYR@3qkQIiQG@>`ZQ$iU2;WQHz6TGP|cWC)oF9?r$u1K
z^78V<?)K2c{L<3W=I`HOi4A}M{!Pj%yf`{&|2W;(-bwBq*qE4X|2pI074yKv<i@?o
zoV4P+vKk5fCpXocZrlm}+SLUHgC(?MDHO_|z2l7o3g<Bt1OOC31o$uhuO|Qm1)w0=
zbV<a{NCcCRML+3PcPu@(e!lKoI}HTO;;qU4x5a(WFd7MLdUYkA(gp5UT6|)3XrrbV
z8OYbGFZ+@w?{o7Ew>BY-q>Vsb*Ka8QR;-&YWI51KG5Xr5SYJlScDh!BgVCgJ;MJRn
zTAS{K>jsTgQ}xcHm6n5z)sGs)#Ae&J4I(;P19vxm3^vuyci<t^?1s&xpWSg(21mS2
z3uP|i4a-vM@9TaI<|G@%br#pJel3`ZW54x6I%l-}{u`6dmUo*IwE_JvZ?!i5nTC3A
z&V6ZZ^5i2&Qght4ILcb;PZz$!UiyA_b+}m3`o3cq?+af!-npR<t%rXXy01~@dU6)1
zw9O^oSX<|^V}`fYvR`_czdIi#?XGrw>F98u2VlC`Cs5|*S;C;+Ya8F>9&RRRq%;3q
z)Fl(=pV2=&By|lb?p<-0e@8dZu?a3S%*Pjgd%YNXxV~ECcJVPT4==r9vXI=(S<dZE
zEjh`m^-l@^GgXt>WjTsY2{SCc9=}!+l=sV)E5SIX%+5um@u(<K(*M0ivdp3YACuzN
z<WkJ#b8zQ#_r~>=yr-eWUe(OD?d5`vFQB-LklPP=6HM)Lf4M%|SS?Mm8Ido`apXFh
zy{doP_!AUo;<{eSq}|W+GT%-Xu6$!paHG%|CbUL8y4*7V>Vmg&tq3Md8JNvyQYOO7
znpY~{*o+R#JbX<y*DfmW+0omGFB^|_t*q?rbq%k9A>67IW$Qj^#v<NtHqLIGV3pXQ
z!ds48m)&YI`ndAkuMHNBi@1MPzgF!vdN0`Ga;Bkla^sJKO|LvUHpZ=H=zUq8j8(pT
z&ydZ8aWU4vH?P%t?1Ih2pFCKQd`^9KvH7p>vdRJ&Zkpk~^GV=!)y{y(Yr{{25`7}O
zpQR_<cfUx@6zvWv9sb_^iiL~r4QsM|*=5z`FKCcfRqwgcZ=`cx(9ibUe*e4K<Ldo!
zi-12ey!x>p$deA)9tTs-uajkw?oEFVW^jF?a<gV*9)~{ySF4-mZthY39M0q6VuACr
z5+9!Q-Q%wbv@s6;bF`GIc>5DL*mUS{AqVc+y^<fWb-bES&2_R?lI?l2hAF8z*{EvT
zI@zpU!kqqYm=IHBxuv?dx7c>rZo2dwF0Qm}YNX!utAC>4cqc4!>umS6j=1vgF;g#P
zMB`}6>Cg6nzlz)4vEuFHrb##Cke~R!D(!x4`ul!wJ3H+BY|lPCcnkdpy(2wpVK)gM
zJtEt(lRHA6K2u+~RtUaq*1r2*G_?QG{LZY7+O?j)5fSBuut!bG@oQi0vk^M--ZnXK
z8qkx7D-nq98&ME07YFJjTbgTY<Yu*DZ^q9SR6k-nk36=6t|#@wDU|(0ToN~%-c@yQ
z3>m>d!->Dm)&~i@5%ommABZDvvAy^1M?s-~@qu?aDPn3`;`eS)YaB(ZR?4S{`2Pc0
z7~)l7H=;Ocx}uR8uh_fg-e0}B9g{i8x#B<B&ffJmwu-uF)M&DnTLr_$l@r6@1AGG0
za8gt0V$oHpc$~wlxKZ*lMl%&}on%jMVr0krD3IlHf>DZs0KmhWi@zN+jOrkl@ZJBU
z#}I;#=CXmZ+cx*vCDaB|Zx>5~-pi?>Q&NYe9QLHkb${Hbdn8N~dznWe`F73Ql-#OP
zx%UcCMyo|gN52~Lz4b3QV{WiLU3ZW_lDp#>qmiP4cnoI8P{8_VJNiu#Jf$sL$Ns9c
z_eZHhNtOXwC##`cd}P^fiNcqO2U6h^v*Q@0D+4$QyO)0&mJrmb(NBhair=#J$%}lt
z9oSNzDI8)a@BI*;Y~G1dI4Whkt3M*LjD<>lA?Q;Dkt5jm%AXmmO|lLc?<rjJqW_++
zsjBmBv~;V8_KIDH*f-U1Tqd4lp;9$%`2i&1G9G-kVR_Q`;BDHz7<Ab>t-&!9N5h4`
zSaW^2KK%e#d{^G1S!ombdaPc?@70}XS7VCogG!UjZ)m<%Qr~dsO1ga@u6@1Asnx{n
z-F4=-@$Y8ruFOmhef)}JZ}{zKnppAK^Wfd1&8q4CgDFQ!jLFktUJDluxtn9CyYH%K
zxAH8gXBM5R9qe<eAG<y3o>`P_YTf_C6>adtf?=Y0@}v22#^4VJ$-|JL&@E?S0ZTWN
z!?vszPyY!w83+Hv5A)~6K0a?|hB8@-F^QUT2ZQq$Cx;yXnuLcN+JI_7qzCr35!d-=
z4*liY7Ye*Q|K>edutTw&^^;=cKL11qA9Z8UZ{xH?P!TZyPJtD3_2(-K%%jX*vKb_(
zAlpM~>j4n=(A$)N&-Qd*$vw#1Z&M$%*_FPZ{3wz2C=jl*6s_z3$ZhRy#%n`I+5kwu
z#!%fv0$XFr^{Gz1lz$$6!w%6(PfhRE)V-KsTNDnsL-}CN?)}OA+pnAahlAU+yO7+6
zD^d9mO<kPoiSR!we+%S?;`lhS|I9intv>wfQEySmu(N7G6*Qbv<NYcazN*>x^jnfs
zL-Bj+b!B_o5qO1kjab3D$!_3i+h)USCfW_7*r2fzv{WT+k*nd`>F;Fb8&xd)n-7Cq
z0(~3b)qRZFoRSQfpjzKA4ZHr^H6U;@LAdd4vgM{@aO>3IK6e9>%fsOA%=Fp{ypiek
z9}llq2b<l-woRHXT&u?{L@=Oqs9?*r_L1u!|0eR!>iVbG@~8GyuC-GYdCC84ohM%e
zjDf|r6aE$lW~@zh$_?4!#LqZr!$-S0=Un48k{6jNcb*QK4DDpK<~#C}t)o?Cz0>Tc
zmodfD*ZqffU!I<=V(D6jV{h*jT{~aXy>s$y6_;!*zqEcSE(le2d%yD0`GzSxYP@M^
zzb5#6)BFzpvzwt$-r==Xj?woc6GI1$t>=GmayLf{F7{dsu5Si@Jss;DI;>4B2xfot
zerhVo|5=6dR@|MoMV7)qZVPU(-?KKUqT8SkkLET);ivQWA02c)YTc&XR9e!xb25_G
zzM2x-w#<F!c(66>Z|MA)m*U@Jo5(q9<3apZz}M5c(~CngUHf+IowLPjl%xJTVgHgP
z;IwA;`)@i<H$~_DrtZjXzdMvm&HQ@46-+r@pi`wB<<^2)G^}?<3RUJtCH(nkCTFLb
z&JUuWK_Qcri=(d{por9PqzE@dAQtfsAHG2kZ6k)Cyhi8Z05}%Ch7Y&HK^ZYHeG)Vt
zkB8v^>YVUeGIc!>jgp{VB~vex!(ljT11w??i!i`Zvj&D+VL<UX;E*4XmIszGKs^qB
z7z?Klgj%JB0|GEcBkCwT9)tskIP|gvwe(R0j0hYbBBL-MI2LgyE*!KCWc7vN55*%`
z!teP9pQi<PWdlZWa2+!2I2Ik1irB!wgakl^HW6xgGzbH<ZR3rcfn_o^Xc!_Pk7qgx
zmm#7L`J>}=kO_g|L<;^t7+{SYdBg&ZBLDXcnnEHJf{3=Wi8u&AgCqcD`nZ#TsH48v
zqgZ%62IP(bG2+AF64WR>x`7p7WrYrsV~+b^R(Q0#5hRKTm7$M1c#N-iMp#aUIUR(Z
z^2O9>$NaF1>5PpzdYp8yN~ME=9UY=BH`B<FVVcBnH9QKHiUdmlw<lv)fdm*P(nLNI
zwv9THqdw-3JLU(75&()!o#70)V-a>X1Urco1S=GbkMj@!)QG^U1a&<o{_qeLZxa>j
z94-T-4C2C-$>HS^KskVFBLaL!s6FR!SLf72QwWn81Wt~x9gaWHNhIP?!hl~UCBV<B
z|LG(=IhQYaRy~=V4X7DqXt}_&A7;Eu&CpUnRm-Cou~5AVU`01Gygx(xA+;4L!!RCc
zH4L#M(dZ8+1lnZO;!$gOl-c_%9^DA-r-1S>B;E)TPlPf}K3B6z)7C@hlBo^XpFJ-}
zzaXM(ae!VfB8LcdvdMNQWob`AoVMe&6#$}5<O`!58kY=Bn;fkvNHIB68=2{31ktpC
z<>zK2bF+fV;j21N6%~S&*VCh9!@oPHZP>sJuu#7Dd2OHaH0dL)NO`y^2$3FmL5f-?
z<*kwPig8ex;XIN&O2&wK43AzjqHdjnydXY%K}4oa=6$Fr08_|$j6`T4wqS#p*>(kJ
zn}VPx^SIXv+Hkq86`5;zxF(QUONI?j<>8Pol}Y(vEcyjKu!=)}eww%Np4g#RFqvCG
zG)gbWB<SG6{0?7Cz+>v3`ZOqHfb?mth|n=CtqckJ<Y|$>$*UZEQEvrcJOx2v00CE+
zKoBr!QzT#xk+Fe2(4`efK+BfLLa+%aiF|<;sCG~hoD5T5pyJers*`90TqDa<i%hO&
zmt%myoRT$65hIp%&<3`KD_tAT7JQLaTuwOCP2e|A(zMC8OD!=;K#$?`_=NyH-AuRy
zptnY?WkZWcm8ZqNTDhEet;GrZUR3=!Se$}^tu0WAyr<c~BiD%Nte^_5po;7u07XQ@
zTM+n)ia|WuiC9q<RN*TGtDUUKX+aQMqUwz*UMC<Koh#kR#a1L}ZX7Z;utL6{`ZOo?
zb!7#Lh-?U~7&MB?Ax9XOS1gk&H}L2eICR+nHT-7v?edCDR0^XJB+w|STfeH#wIWC$
zLL;c6okY7)S)(;vL(nfjax9Onbh$oIu49v}FM<0034b<#5BWrWK2Sk*Qk9D%t`65;
zQAm=Ze+{}u$`L3#y9or#N1W$GowX#MCBzTXlbkRGV-l#csoFKt>yVp3P#}qRrdDgZ
zwit`x$a~He41gr+1P5!^C_ts$Y1LUJphKVgT#wcrOJi$<@-}MF4sOtOYbd3Mh1f*W
zG=l?dpuI%Urun<=n?5@?Ywu^3x7L-n%Yg?M;5iF$O`C%8PtTl$fkYhI$*rJ%JN5+@
zEjQeVO+bfXpiUU5-2%Krx5?L_!h<?Z4vU6OH=64s!Zw@0L}(ZW&>_*hb1qnoLwO4~
zJvV3qV-e~LP3l;L6$Ws!ft9Y8kLRX9NC@*6%`uA994?K^+ld9j&@m!3#|EXD*U+5T
zT55xGdV~7V7czl`RHULz4g4Rzd8gd_Zcb9NJDbXTvMDVQ?enI^g}M?v+~Q>LMw7nG
z3QJpI&}2*zjQ6EZQ;0*=(*qf9jhX^kB?ceXFtJX+2guEM5Kxu4P&A$!SrZJ6n`v|q
zhK=EoW4QNDiV5|Yw9~crHGHJU%!jDd_bHX7wivjr4Qigc1WHqqNQ&Z`qGn=)p@<Q}
zn2?rj@aMJ1Lu<JHH%<d?mY;<~xUh(qn?)#W^Quv<bbj|unlvumZaWMNMV~2yDayeB
zVnTrS@1l^0nbK?k2upN*(=Dctc#Wm4MwH#F>ZaZ-3a5XbNCJUL1@!=pG!6VO9w~-`
zqVUM&ZFo4g`<g`2APM{g--`m^i4w2CB#>Mc;Azp@&`hHV!10D?bv*J3rdyu^z#V=U
z6=2{W$UXJgev7kSF%-?6Dx{b`jrTB8Eg$hwB82ZO`hqb=__wX7A?qSN%sI8SMg;Cm
z4_m}P6lV+JHtJSTs(zY;N+dsfXxPn@)2(3$UB>6Q<#*So_UKoA77If6>E%Au@BWVv
zzs92V$;fz{p3lFFAUO0r5h`i`x{QS*NC*%X`V9vYJE46{LW^CcMJyEIB<Q|v4<X2D
znt0lcD!>l_u=HuZBw!9nvuDwLP6N#$fxAgx&)Y!y7-%;hpi}<3|GP-*+N+Q2@b%wC
zbw=>+R2m{ZZ5<Bw$*^1N5hPKut4nS`sp8e^ws%@w$fnbQT8afKZGpwu9@-@b)=lc+
z&_ka#7bq)_fr(9;qCi^$lImf$=5VvJ2T?tAO!H3<g#J4O)#9g+r5!r9nu;t}99tcR
zhXTEcI9O0zk5d66UxJ2}2<>ng*QJ4e8y<DK-m(l#wBc!OXix!PsGnS?RVO3C^t4zE
zplJlbDNoj6TJ-UNu?XN@kODSp$Z%-^r%pm%Oaj<3t<xBFGNLG?D<i9m>u^Nk77vHg
zV9eWrOG%^LOEl6rIJs|hIW<xaM@}R~t`3j3CihG`!!(n>bgeb#<In;>M(2>IYwpB*
z%41Chk-ADf`4T|GAW~*{M*Zek`ND+82ap~G3%_Pll@khE#S(l0B$$lMPn~?8Jgz}I
zu}Yj!EJwzF0Darei?p2FO74lWe6fmysgq`&he8sK8p@42e3i#ovGCMeU%@zZSSrHF
zsNty_ti5%lsKB-44_}%4w229i<~2k-1ES#fG@DVtRm{u>IdD|#vkZlZj7KxeMv(6o
zGZ3Iu(rTte4{BnF;1O8*VVJwC5TW{VNqZ<tAq*8o-=g?p>4!*!Hv2CG@#`+>*<)ZC
zLGFkmkINX%m|D$v|EUZRU82yUyxvUgDgf42kZX9_cq}v@J1KebYZ*H^R)9cYmatg(
zDmGVZW>9j7+V>?AK?1)kK<-j-G>TUNeWQkaqnYQ#(aydR()tK{yM2WStJWr6An|L!
zTWVejIvIeb6;I2GXL$_J1ioDlRg+26foLzl>b79w5)t(z1eH((O!0@)@E6$WW`|hI
zSSYIfq9PZMdV&8vj`|%M1|0)_LnM+kacC}~)<LlZvU&Q%&~MnA37Gy|J{H=Br_#rv
zG$m+4LWqw^zYjiiQanf?9PD)>YQclF9E#2-p}VoP>bR}-i!Jz7+K}HphhgYzSojJX
zpmn+lS%4pIZTA5`;Wz2XI5c+<DkY5ge1S#_M;joqiMg|W#e5+9!d0tl;{peJ`WD2C
z-zdEO?~NFokAe<mkbu{T(Q>>;$k79G5+xcNaK(-Bo~>QYzq?7di?lhOlQ#&&joo|<
zROKu6kky_h_KOY{YHYC=;##FRUtn&%=LgVeOv52Kls*x<i*1C^AE?a3i{$~b5!~a>
zUg&=#W}DVd^*|qskfDdSlK;9D9zw7O{X+-#s)gkM%{&nay*(8ol%y#^r*V~bkBzo(
z7|x|!lC%X+Q3bA92Z+*dau)t<Yy9ak@-zG8I)Shw^o)g-1iIKp^8%+bMqpmzMgU=_
zV|RKr8|AYNekzh?ey7n1TlDI5U-KD_M(y!{M?1rn{k8>oKmP2lcu_x=R#W0!<=LhZ
zC7kS4yZ@ke|Fy&mh|R}%{Q2EyzZLJCYjd2nNtCn!`|1nhI=KHB$l1Iqa4!{kOh*r5
zM$!<G-|;}f^4`^j*tlHos0{imM&A}cg4FjutvlRElS<{}W_@yh=VNrZ;DZ{6_ah%6
z;Wr$IN*<1`+{#yQsrflEx_XDG7LDdLA1nXnc{5XNpI;~Cvy`Np=KdiXA{!3izs&HC
z3J$@=<fC{D{G+hOpulQc`n$SZs`~QPr3R+yWi9Sr#Km`rG3z$BI|_z8Jb!Ji^7-x+
zU&H^c(vp*O)Heta`@yZVgL=icjNq4&VVw9ttv^63NMNYdD%JaAep`p}372M6HYIhU
z&FD+zrhF~=8j;y$@r!U$zC;L^r;;;Z&#T?-)^$22tOu!%%kRCy)JX7Pw&BNTEMIrm
zp6;!Ghu_kl3mtuZqhe7Z@-ZJcoZRT2e7x^8`L<5VAe~U9Q5plp8AYUicE$GI?8DI5
zNFpJ4noI&VmscGTkBPX-``L`7&ZwM0pJ|9iVl~j!KDz3h^cmYQUPjKStLkStPr9`*
zQmLA^*?I0FZi9(2aoj3~gXD*C+|M;RSRP6OD*8`0^hN5&Mk?+d(Tf4Uq0oxxt#+y1
z!tJ^H_iycv`|RG5KX&oDRd%);D+C1uK#{bhsrzM&_<uqwdB7#95(caq#qk^DnFQpD
ztE)V&R!i-b@7+aKOJ8Qev$U>zx8k>#VstaHD=-J?AHK{FOh3|RTq<>FfW`87Jb0j5
zPB2D2u(fn}Zs^%;{QYyF;~wnVGweqi%XnSCyS9qwW5h>SqBG5nQx((;C8}n39*L!2
z6JrvDDO@U%HoCdnD!uL-P$9dN5is{^B}9&27;;yNK84Kq27!k#H^(tJ-DrjhVxreH
zB5Bb>BQe}rX7Xd6sb-qI*gd1g82<X^pVz{^K<oN3vSwr48D=C{invM_UF!X1Y59(;
zSrMsm@w)#J)4W7CE-o%+6G=0Ui)P1I-jui(%_YD?Gg^g}Zb20%LCVz(HQ4ygAAVEO
z>sBPMglwz2^>=c=Uz9WTDL*OS&4yIN*+DX{IlMB@^X@Q>*M5@x=jKcXWpjOe<rer5
z#p@jH=9~~~rRmjsKmWHWnL(RPPf&>_#77Xrk~Mn=`7FzXOLm@ZcUt>;(6+T=@@HR|
z8$!vHw}k$#8rR;%;NK2Np*dQmC{$^)8M4yiw%x8B{4~5*?DSaftCI?!UK`b6kb?g6
z<v)wb*<4~g8lOM-?7-#1>vl#>J9Z6SmFf=mm&7^F_bZ-cJXHUj%CWci?Qh=2kW3$q
z({|)pzfQ8IQDpcsHw&OB*FMC%h@(-80OGN6`!Xc2_0#JdtOAs13tu{$K8=?K8FI=b
z1-c+%&1ZW?ld_w(bOxn}?&)TJb+$!`%U5$E8GN4;(x7+aG<fV7lI447*6h%|!&o8j
zBTWJAy9xJ87RkRCE-4y5kK#4dYc&cKzg%aOr1|70i{A*<YhQvAFs*&<$C0*t@7)xi
zkYZTiq=x0}&$wW=#p}MdQ3{_sQ+#<GIBB2iYVzHCp4e8z_M6l%>izA%>S^$PT8PXw
zOQVtg#>3}W^eH#$Id~n16`U{v6@DgWl#X@X5i-&jI*ZCEHH1@zs7F6|xx?QqT`HQ~
zWdMg3r%C-I@G4(nx`p0N@8#i>`kK=#li>J#)NolQET@N=V!@qy1t_{!W7`+P^A8;`
zjJ+na(5?8HkUAj|!O-gxC991|#g)KsexK6zUwMm+R(h;5o0DKd97R-2Y71=#!UH`u
zULIIHR%9?A@>phi1*Iy-3I-X4*f6AREZVW$DK864DuQs!Xu{9#8X}V#ATc@Gh9}>E
z%&T0C{by17yf$$;QE#ui8@a$EI#FR&ui))*g36xAQ4ysgel%;Pz9q<5DD_nd_db<W
zP+H0(dcP78!1XR$>c~qpC|5aWLtp&Ky_`yE(8IV-mjd-i)RO!vCC{<9hXvp=DY408
z%fg(=_^9U>b}$dkh^yMJ5m9^?P~lOOxE(2(l?Ov%yx#wjeoL@VyWE%linBe9b}A%J
z-K0*X8h`WEjfm&4;)bYv5Io_hw%H|((ySjb+>!><%<dY{4ptYjDtdGIUOYqkA2Rh8
z#ypeD|JvIJE}Ua7Gh;#O#R*9cNd9$p4rwwYmo8qI$0&wQ_Z`?p7b|hoCL(=&5jpG8
z6Ckbz^I68Xt%z#gj`dDt`TUdNnXU%UESV0z9KnA2g}_<0o$eG@M5F&J7JBv7ypFt0
zJs{hI=O7@g*>X5K5i!w^hY4(~A3<#Nz1-fZc!uVp>W*?eg7pdX0qHwOtQmyS!Zw97
zXN*I+AI!x#JSRzZK<V~_7#VR;9*M4+VanJW>C=;C`GKb7%dEd;>lWfXN{9^k->aGN
z)U*sV<Ml|<WtwKTNE8p2#ZyyCx^6a(&D|bmuG^WnWY~A*Y#~{y99wXI8yq-<XZK4X
zAiRaaq74jJ9s8@<?1@xzUd5>VWHmH<UIY~SV(1~PAs<dV<zOiH{JYki-;X5}Lw^ag
zqs02vae5|>oNm;OC!iqvI@ferE?N?EcU7KTM%d?ttd*m`anV21&7CLtpPS+CG|(@;
z{EVMGE5|dZ{783DRD?~GsfTD8+9`Z<Kyf)o8L~d#$Tj?lXg|;q6*4jn-;4bI?`0=v
z>J))N<Vx+gWvtNIxfdR8u>j!@q;x_&UBbV1LNA88*vyB)JZ3-Vby?Rs?k~iJbB`}D
z1UBcMCp$4L6R9r7)v3bh3C37%SOs2-%IM`zCQAsc7dWC>N&QEdKARVB))q1x_6g4h
zt$}rRJCv=~!=GVR<qn&A{kHz<*?jvC&Tqo7nvbK|4>7Q-HqJ}-G)pJYDrD(Ryv7iM
zCrt%9+5O*kCVMy@MorPIz^Te{hyJ<?9m?+&#ir;F+u_}8hxBi+ZoS0YpV*_sC3Gg3
zD0)l+$K$$3*c-t{i1gc>pk#5r_Wc6We}MBwF@NZ~&vpcVi3;d~y_0FcCPHL+Vcw-5
zPJ3|+WYFABgBJ^=@ufVAq6x7$KsHBq+$YEJ>z>UIW6zml7GkoQLRMrRw|vcR-+f6r
zn^)(TA2|>8ojO&do$$JOe4oKjCoAlL?a$ix9~v<*-31l}-6n-S4A_@j>Y|d^VOVBE
zVZk;@*eSN>$=Yi)HZR4#Pn7jzrSg%0Bl{z0h>g6?c(^oNds0!fnTk4u%rdE1gaeqH
z$?&KqK~^ZEG(1qFtn*Q)AOfZwh<#8l9^M?SmWroliwfzEZv`ut(JSv$t8*Ggvms)1
z<DjN^Somg*v>8NuI66F$5R=%&k`u#i+!CP?A*2ft8w39|P!K*M7z0rv^i(p4W*Pcu
zT?CA&yq!YGQz?F<^7@U+%iZ^{mf8us?Z!aIlvIbpncQAIgtMx}?}_T64HRty`V=X{
zz#4@#qI!YV)Z!`Ab^ys3wG!9hOwNjcaE#khtovy^mAk|P)(BKT0cS4cgN;JTf23Ix
zVikGMMv5?%PH=Vm$k|UNgKc_}2RciPvQE8`tq!)WQX69;u*gS<;G5uNRR$c@^)scg
zYwE5%%25VXSDm>EM|-abw1*Eighxhi*SAMVfl%8`?t5|u{RAu{VIjC7rx-Lt-7Hcr
zzh3-azURGiN%!y8?pM_E%F7!6b~SdXd(<3M^-jtIY$GM*h3$fXt0l;oGXai3Jc_JI
zAr5Qa_66=}Vu`FDA4w4I>>=T}=;wP#BsL=5@R?`1?v*?+6G<){17W7u=3s5L5omP`
zlrzhdyKP6f-WJck+=LL&FILhoG1M=$&@a;*kjw!oN`gfN2KXgn+?ruaHwUhes){u0
z-?YU9ISj<K>Kimi7SX_XY(VdP->01t-iScB1@vkA`AA6yW%&x#(%=@F!7IaqZbaZ^
zB3|}0ABw)Ew5p-jw-15+{HCNCkwXZX9Blq=&_&ZzW~{HS#H3+?l5CE4HIgyOi+Dh$
zGE0A#zGFE28<1rEGP3s$bgA);BsTpw5{1wzM8r5P!INoFDHfk#29S9k6a^_C_0n0-
zM<B8>2$Wl*_ty1|F3@T=3eHWHOOH@xGL9xT#J_TvL^m7$J-fY~58{y^@JkSc1P0V_
z%1o?;E7$>OKfXo;HZd5%kTX!~4rK~d=5hY|F$7$qq_Q6Z(uu=g8vgL3ez3I1pjfk4
zQXo<U+tBwp0(O}o5=TIkN1V+nGm(r+lR(EI9~ekcAK3^`0za_i=)?Ss5CtHlD1;%7
zN(6kT__LwZlwoPyJKge<FteCoggA35a9uefF-hh-PvrG4gu|O)AH=;0HWbn(%0fWz
znushjF8ZE%grhEY)`1j;jd&nbT6!;9+z&8zl@LE4DMpkD(8f^0Sff_*!Dut8>*vuc
zRh=Tbzzcc^y1YcNoa(cpAiA7NG6(FJ8uPm<{tu1v+tj<-9%Ds@1X06CAzeaI6pUw~
zOHWJxzyDydZ<K*YS6P&?m^)NI8Ne=lE#5O0vxqE$LdBNV85V|1jTK5lzVnqB-?jX%
zb3O*ujV!xFFs%loEhBA2A3U;zSR{{0m&dX?8eiRi5pWFfEC6WMuPY&d<}#jvHR5`P
ziR<;R7u_bVKTJSuD4}w&YxOuMk;+xW)YTEn1a!Wf9C^7G>wC*o=z}SGSOPh0icU3s
zMFe<qOwfUZkhnML1JUj>W>L|#Y<SQMGpY#3D3P^ql=OR%0hbBEINetcl3IUm>(D-Y
ze*IyZ=)-j7hiM)>iq2z?_tDoZ6EciNOwBrVCF-Eq$(*>Ut)ho{AEzWX;u(XX<~F8<
zi0N0CQRZtxVa~8(<>^un^P<q{^Q+V4q6v(OZ<$VjyQC>5eT_T`c%CCP<s7dqA^A46
zEOhC1hUKG1k4H_RkJ2AJ%+k``yr(N=mwsblrdXi3_0MF(xmh!<Mdx*kF6D>s{Y+X!
zWm^9{+Btgo;rpX@M~fG_V;mM^T^}qyf0_NPY;nb7YWcav%_p;c*Ngk9e&i5mO9A?)
z7M9~4mJ^|tlgXA-1(ws*mNOqLXTMnf_+dHmU}|>Xf|3>ZaP%GW+jUE3A<I!M%TgoD
zIS;GVP^-0MtM!7pxsOHjw=CW~n*I4beo@A1P0ecffmMNx)rP3`uCn#sE$gX$%ULQb
zrfI9gHLJg(*S0e){(V92Jg`3hVSVw(dfIV*#?LyF-s&h5d0b#!FKF{;Z*t%lKnb-$
zq%7=F+00zFd3JAM2WzubZQc7}zUeJDJ=&Im-Ih_zmPy6-(rw$zR<_KZwk%<`tn9X#
zezw%wOn*Ku6bvtX`?b)%zd)f+WJTL?dfEo{6CO5zEwLb4BEa1U7T)GVIa4t>Epq!u
zG7sbV8Y4n*k(}&{BJGjx!+0*0MMY;S6nzOjyFG>fpp18DG0B_fYVVwSn=PBH&Gj$~
z_Vz~{VwW&mcB&Wl^y6R#8-h)LG|Mm*EiQ_sKib9y#3TUp(AY9y!D#9j&Qv=FRuI}A
zBy41d_58^i2vSGKXfN0aE|V-+L6+qW90*%2zU3F14q8sjHmPFro<Fbh*-)u0D5ku;
znH8^Gg9MHp?3fpCQT>!mbqoS*nXnF;5@0=;sG?AmL>O4m%Fb16<+6$vio~t6uy`M8
z%aH1*3A5EPb5e9&(Ts6YM7?|D^wXkj$$I6NmDMvP*<zbAB=A%|Z0m9O#bZ3$nZWKG
zA+{E)0ev3a?BGdwys{ddLXcQ~%-~E#2`h7oDO-!JcaEHMPVpq%Uw*7fT6`AP{KON4
zDhKR=bv~T4rH%845cz<{$o~=oFC4e3ACJ6q3GZLcom|bma3P{M!nB>U{MU;-L88r&
z_}(>UlCvhRIcW&?>ZR+m+s-k}E^owKVupZBv5lA*7m*k1FUDQocDmeXSruP&$=!CT
z^mJ=FSmh^eM2AIWdlI5$*GITq%KTl+JzXopHgnn6nFGO9S!-ECYnkl7dm1;h%G|<I
zT;68ce<`u=<1VXt6F(r<I*7KcSFtKE+03zVBeQ$F;&YAmT(5O<PhHty&RI*y+ISu2
zF|y*^iC(Xibq~8(iM0A1ecOZ5zqR(Z9Vsavp~f18#>YRvY^lXTQ+OfD0-nnKdaE&>
z*MsSTwtjy&cZc1!e0v1?d*Qi__WH-}wIk-WtKzkH0pga801rot3`cVWx*iP0rk-x4
zdq!}`J8;y2T`xc_2b`h;QEa+iU~$~v6auG>m*o+5zXqUEb=Vez9?23ya=aM&V~={d
zh4FWFB)2&bo}aS-9eJq6a3sSvL9JZQXS*%O46GR!<wAxuGCpCH`zQ0>^S2nPL7Q{<
z01o`aVd%U$>Hf0zM-zSl+Sn)#9F$vJgh%52-<Ke{BM?Km3I8(!hb|!eH5$t5El%-l
zFqA~o6F3BRxbJvVw#Orak3eS5-aHc#9M08*2N0(}I0*d7i}HTc-G5Avp}}wZi56hr
zN8rXFymB~R<2oJN*MF~aKz}Y~U>Dwcg}yuEV4Y@P`9n{GKHq=-(7)|_2C+N5aKF2+
zed%feqeI`n+I~iVeQ&|{4Jm|M0nkT{5W2qISfxD`ijQVCQqAk1`ozA>b3j}C8a&XK
zW7!ie;pgP#|2W*=8Sb6=!S7Se-9O)VhgJRwE$m}C_H4fT-_(n=E6l!P)_HU5AICF)
zKkER0uR~1Xfnu${^9Lk{M3k~z6q8q!YF~i$p?^5(FlQm4jy;e{`*6!YAnHzF^y7d)
zahydV(nlhSA{f}obV%is1C|^%$+d~p%{f}yi;XJ`WabY{yEFI4YA(_`Fw^>JR(OC&
z(Lu`9g=?~K27xGbgk);%(>#tDX#q&yvo|nZNZx!)nt0Hu^6|f0$63}vWnMvlJp;kv
zfyISEl{&^Heb#TWpz8Ucn!iD{lpqpa@LP`HI`QCo)!>FZ!SAe3YfPsa#M5&oepMC*
zJFLnzb_BP54gN46-2V5pHXyhm_VghAaf|p_%j)fpJ0TyfLwdbJ>fmSfEN4;DAp?a$
zk*k1xf5?~lkfFaJUnwEObfMokLPx|yzj#F`fw?RtV%%}BJzXO{e}!2h2$MRmd8R|g
zIwCzKVUz>e82re2nsWpn?tI~K=wbk5?#{U)@%(cw|Kwq)Tt9s3aoAkAy`seV=j^kV
z>X0q|<3TT~ZMyJ(9N|0S;k&Bgdw0V3t-}xC6jUGqJq%G!jd=_VLQ}()StICy@H0pp
zO|^Oausv>=o&Zr;yL+ExCTtL3o_WRA=xZuHjkpt1jdQS9SHs+LOo~e*ov>#m&|s{c
z$eSgk6PU)`H$=|A8L$%a<R`~4Q9Tyr_m9jmQlg(N>9MgVI97h|^}TA>eWCFxOLzbG
zCuFKvce}ncQMUt;=?2${I*(10Dun1>kL%N{rC*atQ){{O&x`dQ264}3ymN4@;%&Xt
zKv|}}+gMzRN~-_Gde6jwv(N7F^6<wdLs<j99Z*eb>B^TTyHG}tTVu}SlXZ_rYdlV6
z$Ev+s%+Ify$ZRik#l9H==hRpl^wqC_m+ZOAY3U@&z~{#LWan4VCv_E(#=5B#2e|5u
z=iI*0oK$tnS0bj-xbd1*N@Vh>%Ej5qp~3ert(9IqNO=r_d?h>EQhcpw@cQwZqdL`8
zzO<!Z+*1~F|KxbT<jZBz5*k;iRnn~jU&LR2$QhSkPHiyd@Vq<t-??U?+rhs8?i7U$
z`OI)D!UIgI8fv|W0pS!Ghd}b+qk^W6el02w7MT5vXBp3o^nO~MeT(Y-vRzjYlIK08
z#L<y(oP+d<E;C?0G%|uE$^PW#PL^SR$Nlo@MuqjW59jhcL;|yEiJ69y&n;#yOkH`9
z!ljXiu_F(49Gy+3OQZcCrBJO{a*MdC=Q<R)6d>Z(88sX=dIbCOD?gd88p&=c2v@(`
z>Cb$|CjC~p_QT1EFsT!zDDw8>)!^SXT&xW0AgW8=E{L|u$DeX^;}&{rJ~Ly~Gd^79
z`x6&^iTs;w!|@TBE#JJ;&2dUHn8jr-f&7NIMfy2a)GcBRU0rKC%FU=w_E#jG-en7k
zdkB6*k}6bcmedVb6?xkYGtDP`WKwk(?lav-V$9AHlq5g#CZ2UsYm~c#8%8|yDBVT6
zbLkuOj%^Z=wdPf=Z(iN{k6C`%D1GgHWus0}lSzZ_`A5XwveMrg^GRWKX5GKRJ4paM
zWc7X_=80~%YZ6|E`y%y57lt;Ri?98SM1<yz=SmAQj7W#)y4-%JlKqz)rSUx&{{Wi<
zesLoY_3lUsJO4SP?=a{}vZ}<bzRdZSM>TwI?Fy^h-1n%~9$?ZmE{Fdy54tS>_vCo>
z)tkA^)wYvN_qEbQqu}+D`bSz!O_4A0>!jWGlQ#2=IZb76yK29?7K-1ErV8W!XmHbp
zL^MzF>84(~#)T=>xe-+L{L+;y%y%;4J`Ew`Dw0Pg8p$EBuP5;^$D>`fDdR5X;`rdv
zMaO*=?aTANHF%g32F#R$4H2ldri{EG=PV}b#*yJ2+aD2Uw#rNvV8Js36np9dMAFv=
z+P+2>T0T_UtDqC?z;WCw12pJlxmc2NU{~rENSsx};lP>gJ*fO;un;LuTZxO2p&x4^
z`s^t-e&JroT`Gn)I|QpcD<ku&+8HMmoxWWZf_))Tq-{Y!*l_;j>|fX6mtl_kq#igs
z9xB;pqt{`iK}RUp2}j%&(lq44Km_~Mc3k7nyluvF;98}+H&_GvyDo>O0s~LCk@}sH
zSI_<t&=OrNOEZhdR>SHtLpYSUQ34C>8=&Dp2<KppM(i~AaU9&B2(=?YVm=jvmOFLX
z?Pt6ak%FIX8S8U;mG~sn-y3MK?-GDV4)>H45*V7f($b|_sXu?i!$?57ZYNP(ULx6r
zCW0nu(ut=|VnBwkDrkmH>$LJX0=94`bY*r06C!Ug_?=Ox$(Rod5gH~iHV|RIc%_op
z4b9Y;1XtvH_*nmekTgRaop{2%t3;UTnfm4IW+tsKZ@*bz>gI4Y(zwBM0ursmr|CY$
z3(Hr+?=FA^pX1f0qy@hvml=nho>{9F?tG18d{?fmEOd{MJ8UP`aGUmA(75=j@oO5H
z3X=~)CiOy}OBw4cq=Q_IyIcAyWJ@c}m4(em^^I%Lqi^;o-y#h@3YnItWeScCcZ*jI
zSAE!dR~vRNYy%OV>||^t#VCu|F}<1mc<?<n-m!--A92a2#G@wb$79QENrVp+VwiL;
z;;bP&{VlDrAvu%DPIx<!PWON#ZvlTtT=)^-BrC|VK<1<Aj8n*IY-&Fj#YGC6^|AXy
zh4EN7RU&NlOXK^-%0Gu=+XUF;5>?j+G5`8EKe`y3NOz7R6wFWQ5J%v;A!V;>;<dYu
zSO9$8OoutJ^~do@Q+wH;EgR8Jss|*Kwz2b%e8a*EO5gpNI!HPY{0LrN*B+`s5|82*
zvF%!9Asq)2q}z>XmlIgP17<p4c7Om%KhpM#CQ~4cq!djYEBHI957~@|GAX_4m2JO~
z;#0MBeYd$!<>E$aq{uQS)BAqStk_%2KbIInenMGOf!L3y&*(@tEc{0wrP+zUM19^5
zT3txybc?LqNPqv?Nk!_#Xw`~jYd7B(>#lUzlL$)^u>(s0XpG+`I?KQM8g?N?gov)G
zF|`cGs7MzvRj+ADwR}r9iMn;k)>);mlkINSPDUmu-mItV+sg~-at+aqyXhxiQ?nvV
zsK2=A3Um*t5y+aRHgvi+#PP;<nHrz!P0QVuiS`Q_Ql#i_Tc*~@ZocSSy5Ba%%e(0F
znx)J7s3Xxmgz?^X*~a?nKOR1<Gw-w;*)k|!+;n?hK_u`8Mi?U`E2;IzR+wDdlIY*3
zqpfoX?Q-qA)qg{GgXcp?NRG81csioubikY@<fM8#TB_|QI$XYI=G;pG8Zt*4*w`sm
z^Do(_ZHYZLQ{J5`<ym^$GM}o#fFirMLXy%iv2caY_H)yjO%^M%9STD}TUTFfwymmA
z-e>&e^d>TWSkq>y9ex<LS1M(>n#LM5S}f*Qq-wc-zvJe(g4O<u#~(JW_>ads#17t$
z3jB6ZRh-U!e9%z;W7Ew`arWoMLG$Q;a%ZjL+z<4A+wS@5fBW?dx&Lj0GO7HE6jxd-
zXg}<cYG01^Qd+jWIO@M|RrkPJ>z5Q|hcf8azPtFVZB^s%li|eny*<tk>-Q;7^K7j4
zYv@oL*5api^<f7!&p!O|5x+Ehtqt8yQQnReKl{nlan!4-vXfqW_Dibcc*yjkLhtTb
zhHA&jc!$bCeeL-li0Vl%i`VrN&WnHP9cL@5swbnh7yI=c=Ud^bXG`LggV-*<U)b>L
zLU(Z~vEdgN6jcC51ke~zg7x{Q&hwvz7kVa?%S4C@2C7YjX3c~6h{xYS)W%((WEP<Q
zM0gkmagTUj$^mmFGCi?Dlo3%i7{CN`@erVK$50PpXvb|%-Y-!1E+D5dbO#vP0X2S-
z26})<$NY-nHijPclYVP~L6-80>B3qdsgRA>d8Ebp9{>&GPbN=Jmde7*2i=!Ueo{Gc
zGWox{^77TuC*V??HR}Q7Qk2@U?JIN^8>;Blb@o?R>o_mBaI*DsUXi?WeeM<JfJo!p
zbv1_bQokBUN+Fx;PmD?tE%PGhJzFj@F7At0<4`UhPdii)K+nf@m8Xa;5YI8h`N@Tg
zzibg2RK$7vl|Y)Epya~I6Nu=@qHq!iJFZ*wWI=dx@#q^DJI+>YtLXR}*YUm`EzQ!|
zTQ2%(sE8FOUl^NEmNhL-LxR~x+=?4CZYMg97h=Xp`A0~-wC2v@JaK{CEGm}kAsjs+
z$l^2@ydgKe2}hrbWrrzCryshIWNt(Yx9W>|cIQahUV>~0LG`4Nf4WB?&0acaRyt)~
zn7G6)PgGju29??0lqAbV6s!MdM!w)8E0xGD0HVDhv~xFVFH-V^s1yW2$IT-HyOq1<
z)ee>vi#XK6I*+J$*sGQ$Q<ijY+MO^g>$w&KPQ{QE9=V_;ZAKe)l_k~)o~pPK?F4I0
zR|hr;yj(9x-Z@e(pM3POMAo_V=%*UiwVNHv&0_4RnvZ>u@QZ!cj#dK8*1UZD$sRk$
zg@*E|yaaAWKolEG4Z%*TV_4HgK+*e`uH-Ld{(ruHiA@Tx{e`2A?23I2*&@Xedr^Em
z<*2H;tm#DgW#a$K)SMSW<VH)B9zO+)dy76PmmK{e$c<suVjS&*9NCV3-86T^W;v-k
z@T$EeTbPs?ra3;k$7k4^BNrH{l`?PkV&1%L*}Ti%-n-L#!{O0QK8LPfqU~J|%gT-f
z%e=ff-72jWz>6o!t49S+sz=-&TOheMf}GJ~wHmyf^Rh5LQmzUg8qqCG&!f0VkZn^7
z9$yVTh*Vw#%$SR1>6cNOJZdA{a)I3}xX7@BZkAbYxdnXqVy8<xNEE#m6VxsGawT*e
zZyiPmbzP1!S&Kf1jCU;!>s7Oy<2g}wk^nmsyt{*YS3~U9!fF8Xq4}pTxlXls2oc=|
z36%NR=~evnYdMMaFed@!mL;=ZH7)kn3GB{^=FS;i<#GO{cMl>>CGoi<rTSv8Q%!!k
zbUntFIV6qa6+J7o+bcqEJ3JfUf2?BnJjNlYjyGpZz$462KcVpPI9YUK%}dr<m2FKe
z0wO=ml`_Ch%qmneUqd1)@a8;nX0K&!%4P8omhu%fD?T{~0mYYms_a5H{3{J5*KdvR
z5e~ZTw*-&B@hMA^vs+%9I&Ivj!CRYDp6*v@)D=duugbi1ig)d<tK=~s;fiGz_|MIM
zb5ZoVYeRIr#Aj|b7v>Zb<XDF)slQ!PnZQw^Ux|hBKteiY(3Q27TyMvb57Ic$nv`|5
zpi0xSlAsjpTTT_$i=dJO4(%fQIN8^w?Mv728eM6E%Hw#$Ej81y75j@)^SNagJBOOE
zO0r31cadWcOekV#Ii-@L1hrN*_r`E#vnZ(B9_4oWQJC^}Ue6oEqQs|C$KPM~TG?*7
zKSo4(>&=m$NRO+?kn3h|k+rFqKz~|=_M%8GTI88kRnX#QSQ*#nk-oO9U#aXoMcx`D
zSt0o`d$u$FVlh{Ik)wy~MjBV;*RuIil%PERm*EO;|HdL}`&a*n$DOW?qo*2^Tx*jf
zqC<;SRSDMBmDVvTeD}RQ#KWo|ga4dbR`)8G;L*S5(PH1iggnFqR1Y={Pbk%sLHzYA
zRlQe5M_<l24e?dMit%Z0dMiDK{U1xdaHx_MTSgZxx5Vfs2(k2(Y@BeHdPCG0%N4yl
zQERKhZ4oaHR>iD-i<Pat_)o|+*(lZKaTxMY3v(lE6<gQY|MQMajS$!o^Z3Uu9uHe)
zasE59A(YJc+v_U-@q?}TE$9EVq~fi|gN!a3{<9iIu4b;0a&}_#2O1x0u>TI+v$Di@
zifT`otCMf?{~ZxgUL?$;*3(|{>9wzqsQ>kO$(QxgNi3yw8(sc=OFTJ_M|-Ptajqn=
zy>oYfCy;sNVcD;vsoDn#ypUPDEHMw|xn;e%MZ>Erx+lDTXg(G2@6<4gnrQ^&{!I^u
zh}ZPO<saL(g!7$d=StRlou*UVsrfg$2l#Gi*C4%SH7>S~JjB+~q=!XI5ka2TT_ic}
z8w`<E>u8ai5rUykReqAIKsX;dU^Rf*l_i^GJg~_v<aIyAnr7E#>%fYuuaHSq5|EX=
zOD<!o+2r==)I7oP+P~m6@aBlzq4?Dqh3qh-tjiU7)22xt#e1KABy_fTpS_hd%Bd5X
zuRHrzC$cChu1FM{@fL?mAyfV>qv~%wlf1FHbwhktguk9!N=mwZUc9#OQiukJJN|f|
zAbY5WJR=<Gsc{hJ<p4ERC_ygUTE=Y`1_hlFq>e+o<x)B14Jd?@WFJ+$4+pvalnTT)
z>m%Pcuk@@?rLRz#jwqH_eDdDs*h5OLuwFf{P&u#uxO7*he)m+_SCwW@?hvH>x=?wk
zUb~h<^|bzss^KWQ;q<aEaNFmEs`JY7?iC)jV@@mwPp8~x2sl+ryF*H0Li%PQ2q5no
zbkB2OfMX8;jKE_d<dZ2MB!Fd{Y&hjrlmF{`dU;<dsZe&X@XoacDV;oCI0#_fH=NkJ
zwJNPwSg0JZf20R8qTW|+wZ6;YcTe2!e){fx9Y3Wejt8%0?s8*I66a0&I3C^EF{S$`
z-30<jQrCOl9dY6f6FIKut0@%L1MXxF1fXm{`0xIgtdxPj=eBQ`$iYUGQRN5Glj@xy
zYOZh)y*t(=-I^W)$R=7FrpqdX*8@C+OSs0zqoBtDdycOgk1YKe_k8Fx$V$2d&80@I
zQ(3QU>$@6_Hl}{gKK`l>2X6IJ^!YxwD4nn<e+4hBPM%a?Vt`S*(`hF8N~+B9-6n_o
z{yx_J|F8AQ1|4=fA8NRy@47G@x;7oS^&K32@%K3F_Sg;ZoZt04JP3s}Ik6nV=mS()
z<-CREd<yF$R0AIC$Q|DbaPX4xmkRW!Ci@?11W@}k<_8ecn~rh=0_l7>3nfnf?Oyr4
zf7BV^&rRm|{O%Eie1*pE76fD@9;iA@kv$fCX9mG?0RE~xAh70p;C}&*266cSIgq=z
zWCwO>3&0-$0GFRZKled<m%xw*`8V|Sj{`YB12#_cHjsbAT>n9k1NoN&IZkW%jzc*;
zZ*^DuGy<H#Joq`2BRQA@`5AcgHvl$Gn{$-&xOpD7l))w(oB>jspN<!Gj~n%m2YEP;
zIRF?rl8>K~b9s|zHIz#^mA7~K(E*kx^_F+}mxuY7-?*6rHJX?9Jgm7CwE3IIxtI5Y
ze)~D2k6%&axvy_}h|6@J|M@%wIyMh_kQ+Lp_kp5Ext+TvdahroSG$hSc6S@Ks*4|!
z`?^dQwxydN97sEg8#R<GHI%b+lb2tX_y0p<_rtAAHd7C_Pj7W!_d!+%K_9?D5|n^s
zhjU-gwSF@;9r!wB(|cr#-(1(bo*(;>Cp-|KwKe-XQ;RilBe{VWwUI9&9g4K1&-F|<
zJh#vFxA#N1=X=BNc(wC4x>x*@*LA!5x|Q>HUC(>H%lp0mbG{S&ruX~52mHW4c{m&V
zXwyN$gSq(4L(4yWR!6*wPkg$Q^Tq3TIRn7PV{^x&b)(NX*0x^|(80~?xD@dCTnF_@
z8@ss6w%5P7_yK{cNBNU4{Ji(Wq?cb%bNi7qxqch<o{u}wANhfgH<;73(eL<??{$`Q
z^VADFrbD*Ww>@<iHM?*6UW++aYya~ZbaP#=-$7q{`sp`#^SDJncEg|jrK|j2U;VhZ
zJl_|1+|Rwb+x<W1J^AfDS|fnpk9FI(y}pO@r@#0H9RA?XH3BexQak?dJAC9*HQQ6Z
zOj~~9=d<`}K45dc=c9Lei~jk6xAS*2>W?2%YdPQxd_Rae@VC6mCwy_!cEx`K987v&
zr+;AM{`e&U0Bpd*0|Wv(fBwMv)2~mGeh3xz>C-RCLj(%@!I47eOp-rz9!Bi<2SL9x
zB^Ck+nQ$S>g&#vgL;&ESN|X~>F7(*v+d_^Yfe^F^a%E7V{pwhN@egTIrAwJMZCYoj
zPy|z{9$ZOt;RXZ(fc7ETum42Mh7?x<ptDi{f(<6W!O;rwA=r6YTLw)6V8fY(0(~Bo
z*|4KTiWV_y<OsLs$dV^1s$2-vB}|4X71D%!GiSe@2znNj0y*l+qDP&Uh8mjXpCBaw
zNG(AS$eD*g^AeOj8K+Q_8-hsbb0$a<y_!RM?59=ryt-%+oXJcFfB=MZ{~`>GFuH&<
zKmd@Gay!XfpcthH=+nCTO3=z5LhmPqrsbA50el{rwnT5vpivVwS{lFrmpZM#$Clgc
zwLfB;Eu`B1xDBP;g4(UO-+~*Cj^g4%E(qm@O3OK&qML3q+^#!M0PVQ*4m|NfBF{YZ
z8Y8Qwh1k=qHTWu1=>M{q>U*#R{PgSTz^FzOkSPK~%kU+uuA&No{A#)oCb9bY27$O%
z`sR$O<~c~aF8e^>597d^YRss{l<qwy>nkzB>wH7=xaP9dODh0?5}<^s&X5958bO2a
zAvn662Y?-GylI{;rGx_jI{8EGNF*(NszCLMgfhw?rWCHq$*|ONAuhcH^9(V`G_%hv
zi$rLvg)W-v&FUONY|bp}6cf)TL*mm<K+`jDB|<AYG|_(Kvni%VJFO^ET_-j2ze|x)
zGPK?@9SROObo#1TK!++%s6W_@D#dMA(pFux&J9Afpac+iU3%LU3f_BzI9FCr@2%9@
zfU&(d({8^NO8*Lbi{<wthUIm*KX&g;cOiKFU1(l>6(+c!eB0d@;fuEg_|kzn4lTA4
zGW7Q3mR)`s=9py`t=fRCHF@TgSDu;Yo_+qAV3IAxS!OuC(Fo|Im0sFsp=}nB=%SBy
zlIg0gzM9gSOU9b(uDxE`>8AmV`s=dIK0CCq10);mw%zVpZLu+Zo9?>3j@vZ5_1+t7
zt>qq@@4y9@8E>c99vtz+gDU**YZZSSa%xGtIr7RQXT0&lE#JIt%m?Hg^uRrrTl3IO
z$9nXnN<W?Tz9(-y@7856JN0YpxE=T0b>E%$-hKZa_~3;fp7`R8KOTAB{f0fs<eh&W
z`sk&fo}GH%mlqHQ3ozK8`|iE}9{ljdAD{g4%|9Rg^wnRV{qL`5KB?^6pP&Bv?Y|%Y
z{KJ1Az)D!K0Du7$-~b6&Km#5SfeBRL0vXsq2R;yj5hNfBDgnRJ_)mfv)Zhj=*g+3|
z(0~-Q83ZZ;0~4MQg(+0w3R&1f7rqdNF_hs9X;?!W-cW^=fPe*^LP8w=5Qsq(;t+{g
ML>B6>DFFchI}ozYJOBUy

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/accordion.js b/app/design/frontend/magento_backup/Magento_Checkout/js/accordion.js
new file mode 100644
index 00000000000..e595f089b73
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/accordion.js
@@ -0,0 +1,58 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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 checkout
+ * @package     accordion
+ * @copyright   Copyright (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 browser:true*/
+(function($) {
+    'use strict';
+    // mage.accordion base functionality
+    $.widget('mage.accordion', $.ui.accordion, {
+        options: {
+            heightStyle: 'content',
+            animate: false,
+            beforeActivate: function(e, ui) {
+                // Make sure sections below current are not clickable and sections above are clickable
+                var newPanelParent = $(ui.newPanel).parent();
+                if (!newPanelParent.hasClass('allow')) {
+                    return false;
+                }
+                newPanelParent.addClass('active allow').prevAll().addClass('allow');
+                newPanelParent.nextAll().removeClass('allow');
+                $(ui.oldPanel).parent().removeClass('active');
+            }
+        },
+
+        /**
+         * Accordion creation
+         * @protected
+         */
+        _create: function() {
+            // Custom to enable section
+            this.element.on('enableSection', function(event, data) {
+                $(data.selector).addClass('allow').find('h2').trigger('click');
+            });
+            this._super();
+            $(this.options.activeSelector).addClass('allow active').find('h2').trigger('click');
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/components.phtml b/app/design/frontend/magento_backup/Magento_Checkout/js/components.phtml
new file mode 100644
index 00000000000..fb4954de06b
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/components.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
+ * @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)
+ */
+?>
+<script type="text/javascript">
+    (function($) {
+        "use strict";
+        /**
+         * Declaration of resources needed for defined components
+         */
+        $.mage.component({
+            paymentAuthentication: [
+                '<?php echo $this->getViewFileUrl('Magento_Checkout::js/payment-authentication.js') ?>'
+            ]
+        });
+    })(jQuery);
+</script>
+<?php echo $this->getChildHtml() ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/discount-codes.js b/app/design/frontend/magento_backup/Magento_Checkout/js/discount-codes.js
new file mode 100644
index 00000000000..73fdcc71420
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/discount-codes.js
@@ -0,0 +1,47 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    checkout coupon discount codes
+ * @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 ($) {
+    $.widget('mage.discountCode', {
+        options: {
+        },
+        _create: function () {
+            this.couponCode = $(this.options.couponCodeSelector);
+            this.removeCoupon = $(this.options.removeCouponSelector);
+
+            $(this.options.applyButton).on('click', $.proxy(function () {
+                this.couponCode.attr('data-validate', '{required:true}');
+                this.removeCoupon.attr('value', '0');
+                $(this.element).validation().submit();
+            }, this));
+
+            $(this.options.cancelButton).on('click', $.proxy(function () {
+                this.couponCode.removeAttr('data-validate');
+                this.removeCoupon.attr('value', '1');
+                this.element.submit();
+            }, this));
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/multi-shipping.js b/app/design/frontend/magento_backup/Magento_Checkout/js/multi-shipping.js
new file mode 100644
index 00000000000..279f7f8687d
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/multi-shipping.js
@@ -0,0 +1,63 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    checkout multi-shipping addresses
+ * @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.multiShipping', {
+        options: {
+            addNewAddressBtn: 'button[data-role="add-new-address"]', // Add a new multishipping address.
+            addNewAddressFlag: '#add_new_address_flag', // Hidden input field with value 0 or 1.
+            canContinueBtn: 'button[data-role="can-continue"]', // Continue (update quantity or go to shipping).
+            canContinueFlag: '#can_continue_flag' // Hidden input field with value 0 or 1.
+        },
+
+        /**
+         * Bind event handlers to click events for corresponding buttons.
+         * @private
+         */
+        _create: function() {
+            $(this.options.addNewAddressBtn).on('click', $.proxy(this._addNewAddress, this));
+            $(this.options.canContinueBtn).on('click', $.proxy(this._canContinue, this));
+        },
+
+        /**
+         * Add a new address. Set the hidden input field and submit the form. Then enter a new shipping address.
+         * @private
+         */
+        _addNewAddress: function() {
+            $(this.options.addNewAddressFlag).val(1);
+            this.element.submit();
+        },
+
+        /**
+         * Can the user continue to the next step? The data-flag attribute holds either 0 (no) or 1 (yes).
+         * @private
+         * @param event {Event} - Click event on the corresponding button.
+         */
+        _canContinue: function(event) {
+            $(this.options.canContinueFlag).val(parseInt($(event.currentTarget).data('flag'), 10));
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js b/app/design/frontend/magento_backup/Magento_Checkout/js/opcheckout.js
similarity index 75%
rename from app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
rename to app/design/frontend/magento_backup/Magento_Checkout/js/opcheckout.js
index 0a77675d280..b9e20dd2b43 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/opcheckout.js
@@ -34,7 +34,7 @@
                 loginRegisterSelector: '#login\\:register',
                 loginFormSelector: '#login-form',
                 continueSelector: '#onepage-guest-register-button',
-                registerCustomerPasswordSelector: '#co-billing-form .field.password,#co-billing-form .field.confirm',
+                registerCustomerPasswordSelector: '#register-customer-password',
                 suggestRegistration: false
             },
             sectionSelectorPrefix: '#opc-',
@@ -42,12 +42,8 @@
             ajaxLoaderPlaceButton: false,
             updateSelectorPrefix: '#checkout-',
             updateSelectorSuffix: '-load',
-            backSelector: '.action.back',
-            minBalance: 0.0001,
-            methodsListContainer: 'dl',
-            methodContainer: 'dt',
-            methodDescription : 'dd ul',
-            methodOn: 'dt input:radio'
+            backSelector: '.back-link',
+            minBalance: 0.0001
         },
 
         _create: function() {
@@ -66,6 +62,8 @@
                     _this.element.trigger('enableSection', {selector: _this.options.sectionSelectorPrefix + section});
                 })
                 .on('ajaxError', $.proxy(this._ajaxError, this))
+                .on('showAjaxLoader', $.proxy(this._ajaxSend, this))
+                .on('hideAjaxLoader', $.proxy(this._ajaxComplete, this))
                 .on('click', this.options.backSelector, function() {
                     _this.element.trigger('enableSection', {selector: '#' + _this.element.find('.active').prev().attr('id')});
                 })
@@ -85,7 +83,6 @@
          * @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();
@@ -97,7 +94,6 @@
          * @private
          */
         _ajaxComplete: function() {
-            this.element.removeClass('loading');
             this.element.find('.please-wait').hide();
             if (this.options.ajaxLoaderPlaceButton) {
                 this.element.find('.button').show();
@@ -158,7 +154,7 @@
                     }
                     if ($.type(response) === 'object' && !$.isEmptyObject(response)) {
                         if (response.error) {
-                            var msg = response.message;
+                            var msg = response.message || response.error_messages;
                             if (msg) {
                                 if ($.type(msg) === 'array') {
                                     msg = msg.join("\n");
@@ -236,13 +232,13 @@
             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))
+                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))
+                if ($(this.options.billing.form).validation && $(this.options.billing.form).validation('isValid')) {
+                    this._billingSave();
+                }
+            }, this))
                 .find(this.options.billing.form).validation();
         } ,
 
@@ -271,24 +267,24 @@
             this._super();
             this.element
                 .on('change', this.options.shipping.addressDropdownSelector, $.proxy(function(e) {
-                    $(this.options.shipping.newAddressFormSelector).toggle(!$(e.target).val());
-                }, this))
+                $(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))
+                $(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))
+                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')) {
+                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))
+                }
+            }, this))
                 .find(this.options.shipping.form).validation();
         },
 
@@ -322,12 +318,12 @@
             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))
+                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;
@@ -335,9 +331,9 @@
                     _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))
+                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();
         },
 
@@ -349,13 +345,13 @@
         _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.'));
+                alert($.mage.__('We are not able to ship to the selected shipping address. Please choose another address or edit the current address.'));
                 return false;
             }
             if (methods.filter(':checked').length) {
                 return true;
             }
-            alert($.mage.__('Please specify shipping method.'));
+            alert($.mage.__('Please specify a shipping method.'));
             return false;
         }
     });
@@ -378,41 +374,49 @@
             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))
+                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))
+                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))
+                $(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();
+                .find(this.options.payment.form).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);
+                        }
+                    }
+                });
         },
 
         /**
@@ -422,11 +426,11 @@
          */
         _paymentMethodHandler: function(e) {
             var _this = $(e.target),
-                parentsDl = _this.closest(this.options.methodsListContainer);
-            parentsDl.find(this.options.methodOn).prop('checked', false);
+                parentsDl = _this.closest('dl');
+            parentsDl.find('dt input:radio').prop('checked', false);
             _this.prop('checked', true);
-            parentsDl.find(this.options.methodDescription).hide().find('[name^="payment["]').prop('disabled', true);
-            _this.parent().nextUntil(this.options.methodContainer).find(this.options.methodDescription).show().find('[name^="payment["]').prop('disabled', false);
+            parentsDl.find('dd ul').hide().find('[name^="payment["]').prop('disabled', true);
+            _this.parent().nextUntil('dt').find('ul').show().find('[name^="payment["]').prop('disabled', false);
         },
 
         /**
@@ -437,7 +441,7 @@
         _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.'));
+                alert($.mage.__("We can't complete your order because you don't have a payment method available."));
                 return false;
             }
             if (this.checkoutPrice < this.options.minBalance) {
@@ -469,6 +473,7 @@
         _enablePaymentMethods: function() {
             var paymentForm = $(this.options.payment.form);
             paymentForm.find('input[name="payment[method]"]').prop('disabled', false);
+            paymentForm.find('input[name="payment[method]"]:checked').trigger('click');
             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();
@@ -479,21 +484,35 @@
     $.widget('mage.opcheckout', $.mage.opcheckout, {
         options: {
             review: {
-                continueSelector: '#review-buttons-container .button'
+                continueSelector: '#review-buttons-container .button',
+                container: '#opc-review',
+                agreementFormSelector:'#checkout-agreements',
+                submitContainer: '#checkout-review-submit'
             }
         },
 
         _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());
+                .on('click', this.options.review.continueSelector, $.proxy(this._saveOrder, this))
+                .on('saveOrder', this.options.review.container, $.proxy(this._saveOrder, this))
+                .on('contentUpdated', this.options.review.container, $.proxy(function() {
+                    var paypalIframe = this.element.find(this.options.review.container)
+                        .find('[data-container="paypal-iframe"]');
+                    if (paypalIframe.length) {
+                        paypalIframe.show();
+                        $(this.options.review.submitContainer).hide();
                     }
                 }, this));
+        },
+
+        _saveOrder: 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.options.review.agreementFormSelector).serialize());
+            }
         }
     });
 })(jQuery, window);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/overview.js b/app/design/frontend/magento_backup/Magento_Checkout/js/overview.js
new file mode 100644
index 00000000000..e2f53ed1d13
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/overview.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    checkout multi-shipping review order overview
+ * @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*/
+/*global alert*/
+(function($) {
+    "use strict";
+    $.widget('mage.orderOverview', {
+        options: {
+            opacity: 0.5, // CSS opacity for the 'Place Order' button when it's clicked and then disabled.
+            pleaseWaitLoader: 'span.please-wait', // 'Submitting order information...' Ajax loader.
+            placeOrderSubmit: 'button[type="submit"]', // The 'Place Order' button.
+            agreements: '#checkout-agreements' // Container for all of the checkout billing agreements.
+        },
+
+        /**
+         * Bind a submit handler to the form.
+         * @private
+         */
+        _create: function() {
+            this.element.on('submit', $.proxy(this._showLoader, this));
+        },
+
+        /**
+         * Verify that all agreements and terms/conditions are checked. Show the Ajax loader. Disable
+         * the submit button (i.e. Place Order).
+         * @return {Boolean}
+         * @private
+         */
+        _showLoader: function() {
+            if ($(this.options.agreements).find('input[type="checkbox"]:not(:checked)').length > 0) {
+                alert($.mage.__('Please agree to all Terms and Conditions before placing the orders.'));
+                return false;
+            }
+            this.element.find(this.options.pleaseWaitLoader).show().end()
+                .find(this.options.placeOrderSubmit).prop('disabled', true).css('opacity', this.options.opacity);
+            return true;
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/payment-authentication.js b/app/design/frontend/magento_backup/Magento_Checkout/js/payment-authentication.js
new file mode 100644
index 00000000000..04f406adca6
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/payment-authentication.js
@@ -0,0 +1,49 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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     js
+ * @copyright   Copyright (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.paymentAuthentication', {
+        options : {
+            bodySelector: '[data-container="body"]'
+        },
+
+        _create: function () {
+            // add a trigger on the body for payment authentication state changes
+            this.element.closest(this.options.bodySelector).on("paymentAuthentication", $.proxy(this._paymentmentAthenticationTrigger, this));
+        },
+
+        /**
+         * This method processes the paymentAuthentication actions.
+         */
+        _paymentmentAthenticationTrigger: function (event, data) {
+            if (data.state === 'start') {
+                this.element.hide();
+            } else {
+                this.element.show();
+            }
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/payment.js b/app/design/frontend/magento_backup/Magento_Checkout/js/payment.js
index e0028755b9b..fbc1983892d 100644
--- a/app/design/frontend/magento_backup/Magento_Checkout/js/payment.js
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/payment.js
@@ -72,8 +72,8 @@
             var element = $(e.target),
                 parentsDl = element.closest('dl');
             parentsDl.find('dt input:radio').prop('checked', false);
-            parentsDl.find('dd ul').hide().find('[name^="payment["]').prop('disabled', true);
-            element.prop('checked', true).parent().nextUntil('dt').find('ul').show().find('[name^="payment["]').prop('disabled', false);
+            parentsDl.find('.items').hide().find('[name^="payment["]').prop('disabled', true);
+            element.prop('checked', true).parent().nextUntil('dt').find('.items').show().find('[name^="payment["]').prop('disabled', false);
         },
 
         /**
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/region-updater.js b/app/design/frontend/magento_backup/Magento_Checkout/js/region-updater.js
new file mode 100644
index 00000000000..4be2fa30b5d
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/region-updater.js
@@ -0,0 +1,177 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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 Checkout region-updater
+ * @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.regionUpdater', {
+        options: {
+            regionTemplate: '<option value="${value}" title="${title}" {{if isSelected}}selected="selected"{{/if}}>${title}</option>',
+            isRegionRequired: true,
+            isZipRequired: true,
+            isCountryRequired: true
+        },
+
+        _create: function() {
+            this._updateRegion(this.element.find('option:selected').val());
+            this.element.on('change', $.proxy(function(e) {
+                this._updateRegion($(e.target).val());
+            }, this));
+            if (this.isCountryRequired) {
+                this.element.addClass('required-entry');
+            }
+            $(this.options.regionListId).on('change', $.proxy(function(e) {
+                this.setOption = false;
+                this.currentRegionOption = $(e.target).val();
+            }, this));
+            $(this.options.regionInputId).on('focusout', $.proxy(function() {
+                this.setOption = true;
+            }, this));
+        },
+
+        /**
+         * Remove options from dropdown list
+         * @param {object} selectElement - jQuery object for dropdown list
+         * @private
+         */
+        _removeSelectOptions: function(selectElement) {
+            selectElement.find('option').each(function(index) {
+                if (index) {
+                    $(this).remove();
+                }
+            });
+        },
+
+        /**
+         * Render dropdown list
+         * @param {object} selectElement - jQuery object for dropdown list
+         * @param {string} key - region code
+         * @param {object} value - region object
+         * @private
+         */
+        _renderSelectOption: function(selectElement, key, value) {
+            selectElement.append($.proxy(function() {
+                $.template('regionTemplate', this.options.regionTemplate);
+                if (this.options.defaultRegion === key) {
+                    return $.tmpl('regionTemplate', {value: key, title: value.name, isSelected: true});
+                } else {
+                    return $.tmpl('regionTemplate', {value: key, title: value.name});
+                }
+            }, this));
+        },
+
+        /**
+         * Takes clearError callback function as first option
+         * If no form is passed as option, look up the closest form and call clearError method.
+         * @private
+         */
+        _clearError: function() {
+            if (this.options.clearError && typeof(this.options.clearError) === "function") {
+                this.options.clearError.call(this);
+            } else {
+                if (!this.options.form) {
+                    this.options.form = this.element.closest('form').length ? $(this.element.closest('form')[0]) : null;
+                }
+                this.options.form && this.options.form.data('validation') && this.options.form.validation('clearError',
+                    this.options.regionListId, this.options.regionInputId, this.options.postcodeId);
+            }
+        },
+        /**
+         * Update dropdown list based on the country selected
+         * @param {string} country - 2 uppercase letter for country code
+         * @private
+         */
+        _updateRegion: function(country) {
+            // Clear validation error messages
+            var regionList = $(this.options.regionListId),
+                regionInput = $(this.options.regionInputId),
+                postcode = $(this.options.postcodeId),
+                requiredLabel = regionList.parent().siblings('label').children('em');
+            this._clearError();
+            this._checkRegionRequired(country);
+            // Populate state/province dropdown list if available or use input box
+            if (this.options.regionJson[country]) {
+                this._removeSelectOptions(regionList);
+                $.each(this.options.regionJson[country], $.proxy(function(key, value) {
+                    this._renderSelectOption(regionList, key, value);
+                }, this));
+                if (this.currentRegionOption) {
+                    regionList.val(this.currentRegionOption);
+                }
+                if (this.setOption) {
+                    regionList.find("option").filter(function() {
+                        return this.text === regionInput.val();
+                    }).attr('selected', true);
+                }
+                if (this.options.isRegionRequired) {
+                    regionList.addClass('required-entry').removeAttr('disabled');
+                    requiredLabel.show();
+                } else {
+                    regionList.removeClass('required-entry validate-select').removeAttr('data-validate');
+                    requiredLabel.hide();
+                    if (!this.options.optionalRegionAllowed) {
+                        regionList.attr('disabled', 'disabled');
+                    }
+                }
+                regionList.show();
+                regionInput.hide();
+            } else {
+                if (this.options.isRegionRequired) {
+                    regionInput.addClass('required-entry').removeAttr('disabled');
+                    requiredLabel.show();
+                } else {
+                    if (!this.options.optionalRegionAllowed) {
+                        regionInput.attr('disabled', 'disabled');
+                    }
+                }
+                regionList.removeClass('required-entry').hide();
+                regionInput.show();
+                requiredLabel.hide();
+            }
+            // If country is in optionalzip list, make postcode input not required
+            if (this.options.isZipRequired) {
+                $.inArray(country, this.options.countriesWithOptionalZip) >= 0 ?
+                    postcode.removeClass('required-entry').parent().siblings('label').children('em').hide() :
+                    postcode.addClass('required-entry').parent().siblings('label').children('em').show();
+            }
+            // Add defaultvalue attribute to state/province select element
+            regionList.attr('defaultvalue', this.options.defaultRegion);
+        },
+
+        /**
+         * Check if the selected country has a mandatory region selection
+         *
+         * @param {string} country Code of the country - 2 uppercase letter for country code
+         * @private
+         */
+        _checkRegionRequired: function(country) {
+            this.options.isRegionRequired = false;
+            var self = this;
+            $.each(this.options.regionJson.config.regions_required, function(index, elem){
+                if (elem == country) {
+                    self.options.isRegionRequired = true;
+                }
+            });
+        }
+    });
+})(jQuery);
\ No newline at end of file
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/shopping-cart.js b/app/design/frontend/magento_backup/Magento_Checkout/js/shopping-cart.js
new file mode 100644
index 00000000000..1e6baf52647
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/shopping-cart.js
@@ -0,0 +1,41 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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 checkout shopping cart
+ * @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($) {
+    $.widget('mage.shoppingCart', {
+        _create: function() {
+            if ($(this.options.updateCartActionContainer).length > 0) { /* <!--[if lt IE 8]> Only */
+                $(this.options.emptyCartButton).on('click', $.proxy(function() {
+                    $(this.options.emptyCartButton).attr('name', 'update_cart_action_temp');
+                    $(this.options.updateCartActionContainer)
+                        .attr('name', 'update_cart_action').attr('value', 'empty_cart');
+                }, this));
+            }
+            $(this.options.continueShoppingButton).on('click', $.proxy(function() {
+                location.href = this.options.continueShoppingUrl;
+            }, this));
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/js/sidebar.js b/app/design/frontend/magento_backup/Magento_Checkout/js/sidebar.js
new file mode 100644
index 00000000000..825b4bb73c0
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/js/sidebar.js
@@ -0,0 +1,44 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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 side bar
+ * @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 confirm:true*/
+(function ($) {
+    $.widget('mage.sidebar', {
+        options: {
+            checkoutUrl: '',
+            checkoutButton: '',
+            removeButton: '',
+            confirmMessage: ''
+        },
+        _create: function() {
+            $(this.options.checkoutButton).on('click', $.proxy(function() {
+                location.href = this.options.checkoutUrl;
+            }, this));
+            $(this.options.removeButton).on('click', $.proxy(function() {
+                return confirm(this.options.confirmMessage);
+            }, this));
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure.xml
new file mode 100644
index 00000000000..edb922b5c54
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure.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">
+    <update handle="catalog_product_view"/>
+    <referenceBlock name="product.info">
+        <block class="Magento\Checkout\Block\Cart\Item\Configure" name="checkout.cart.item.configure.block"/>
+    </referenceBlock>
+    <referenceBlock name="product.info.addtocart">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">Magento_Checkout::cart/item/configure/updatecart.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="product.info.addtocart.additional">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">Magento_Checkout::cart/item/configure/updatecart.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_configurable.xml
similarity index 86%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_configurable.xml
index 0b9179276af..2f306b55b6e 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_configurable.xml
@@ -24,7 +24,5 @@
  */
 -->
 <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>
+    <update handle="catalog_product_view_type_configurable"/>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_simple.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_simple.xml
new file mode 100644
index 00000000000..7ff60b04ca0
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_configure_type_simple.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="catalog_product_view_type_simple"/>
+</layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_index.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_index.xml
new file mode 100644
index 00000000000..72685dcf904
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_cart_index.xml
@@ -0,0 +1,56 @@
+<?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">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.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.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/>
+            <container name="checkout.cart.top_methods" as="top_methods" label="Payment Methods Before Checkout Button">
+                <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.top" template="onepage/link.phtml"/>
+            </container>
+            <container name="checkout.cart.form.before" as="form_before" label="Shopping Cart Form Before"/>
+            <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>
+            <container name="checkout.cart.extra" label="Shopping Cart Extra Contents">
+                <container name="checkout.cart.widget" as="checkout_cart_widget" before="-" label="Shopping Cart Items After"/>
+                <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" template="cart/coupon.phtml"/>
+            </container>
+            <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" template="cart/shipping.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" as="crosssell" template="cart/crosssell.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml"/>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping.xml
similarity index 68%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping.xml
index 64eb779675a..6992a9165dc 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping.xml
@@ -23,11 +23,13 @@
  * @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>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout" design_abstraction="custom">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
         </action>
     </referenceBlock>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\State" name="checkout_state" template="multishipping/state.phtml"/>
+    </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editaddress.xml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editaddress.xml
index b99353cee0e..01155fca00b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editaddress.xml
@@ -26,9 +26,4 @@
 <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editbilling.xml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editbilling.xml
index 024408703e3..01155fca00b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editbilling.xml
@@ -26,9 +26,4 @@
 <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editshipping.xml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editshipping.xml
index 6354c13f57a..01155fca00b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_editshipping.xml
@@ -26,9 +26,4 @@
 <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newbilling.xml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newbilling.xml
index 7830a2c990e..01155fca00b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newbilling.xml
@@ -26,9 +26,4 @@
 <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newshipping.xml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newshipping.xml
index f9a3309971a..01155fca00b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_newshipping.xml
@@ -26,9 +26,4 @@
 <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_select.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_select.xml
new file mode 100644
index 00000000000..8476c3644e2
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_select.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 Shipping Address Selection" design_abstraction="custom">
+    <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>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_selectbilling.xml
similarity index 84%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_selectbilling.xml
index e93e4be3ff0..edbe6ce92e8 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_address_selectbilling.xml
@@ -28,9 +28,4 @@
     <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_backup/Magento_Checkout/layout/override/base/checkout_multishipping_addresses.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_addresses.xml
new file mode 100644
index 00000000000..cb8f206e735
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_addresses.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="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Addresses" name="checkout_addresses" template="multishipping/addresses.phtml">
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_billing.xml
similarity index 65%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_billing.xml
index 26afc1048ab..727670fe7b5 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_billing.xml
@@ -24,13 +24,13 @@
  */
 -->
 <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>
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Billing" name="checkout_billing" template="multishipping/billing.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>
+    </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml
similarity index 88%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml
index 189b3da3dbf..8e46496c74a 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_customer_address.xml
@@ -23,9 +23,8 @@
  * @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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout Customer Address Edit Form" design_abstraction="custom">
     <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/checkout_multishipping.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_login.xml
similarity index 95%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_login.xml
index 6ee5a363ead..db128f00b8c 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_login.xml
@@ -24,4 +24,5 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="customer_account_login"/>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_overview.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_overview.xml
new file mode 100644
index 00000000000..6fae4733fab
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_overview.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">
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Overview" name="checkout_overview" template="multishipping/overview.phtml">
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="row-grouped" template="multishipping/overview/item.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="row-configurable" template="multishipping/overview/item.phtml"/>
+            <block class="Magento\Checkout\Block\Multishipping\Payment\Info" name="payment_info">
+                <action method="setInfoTemplate">
+                    <argument name="method" xsi:type="string"/>
+                    <argument name="template" xsi:type="string"/>
+                </action>
+            </block>
+            <block class="Magento\Checkout\Block\Agreements" name="checkout.multishipping.agreements" as="agreements" template="multishipping/agreements.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Totals" name="totals"/>
+            <container name="checkout.multishipping.overview.items.after" as="items_after" label="Overview Items After"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_register.xml
similarity index 95%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_register.xml
index 94c94a523fe..a3a49fd46d2 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_register.xml
@@ -24,5 +24,5 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <remove name="checkout_cart_link"/>
+    <update handle="customer_account_create"/>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_shipping.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_shipping.xml
new file mode 100644
index 00000000000..09e49208bc0
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_shipping.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">
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Shipping" name="checkout_shipping" template="multishipping/shipping.phtml">
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/>
+            <block class="Magento\Checkout\Block\Multishipping\Billing\Items" name="checkout_billing_items" template="multishipping/billing/items.phtml">
+                <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="multishipping/item/default.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="multishipping/item/default.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="multishipping/item/default.phtml"/>
+            </block>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_success.xml
similarity index 80%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_success.xml
index 9a4c4da6351..6e453eef56b 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_multishipping_success.xml
@@ -24,9 +24,8 @@
  */
 -->
 <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>
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Success" name="checkout_success" template="multishipping/success.phtml"/>
+    </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml
similarity index 91%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml
index 46344f85d91..7784b3f5619 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_additional.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="shipping_method_available" output="1" template="onepage/shipping_method/additional.phtml">
+    <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="shipping_method_additional" output="1" template="onepage/shipping_method/additional.phtml">
         <action method="setDontDisplayContainer">
             <argument name="param" xsi:type="string">1</argument>
         </action>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml
similarity index 84%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml
index f4a491f3acb..fa508817825 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_failure.xml
@@ -24,10 +24,9 @@
  */
 -->
 <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">Your order has been received.</argument>
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">2columns-right.phtml</argument>
         </action>
     </referenceBlock>
     <referenceContainer name="content">
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_index.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_index.xml
similarity index 80%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_index.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_index.xml
index eaefcb0bbd8..ff432355736 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_index.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_index.xml
@@ -26,17 +26,10 @@
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <referenceBlock name="root">
         <action method="setTemplate">
-            <argument name="template" xsi:type="string">1column.phtml</argument>
+            <argument name="template" xsi:type="string">2columns-right.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">
+    <referenceContainer name="right">
         <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>
@@ -45,12 +38,9 @@
         <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\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml"/>
+            <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"/>
@@ -62,11 +52,10 @@
                         <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 class="Magento\View\Block\Template" name="checkout.onepage.payment.additional" as="additional"/>
+                <block class="Magento\View\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/checkout_multishipping_addresses.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_paymentmethod.xml
similarity index 72%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_paymentmethod.xml
index c7e28ffe5a6..25a577d24d1 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_paymentmethod.xml
@@ -22,12 +22,12 @@
  * @copyright   Copyright (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>
+    <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="payment_method" output="1" 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>
-    </referenceBlock>
+    </block>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_progress.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_progress.xml
new file mode 100644
index 00000000000..80228f5a508
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_progress.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">
+    <block class="Magento\Checkout\Block\Onepage\Progress" name="progress" output="1" template="onepage/progress.phtml">
+        <block class="Magento\Checkout\Block\Onepage\Payment\Info" name="payment_info">
+            <action method="setInfoTemplate">
+                <argument name="method" xsi:type="string"/>
+                <argument name="template" xsi:type="string"/>
+            </action>
+        </block>
+    </block>
+</layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_review.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_review.xml
new file mode 100644
index 00000000000..04bf6de1345
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_review.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">
+    <block class="Magento\Checkout\Block\Onepage\Review\Info" name="order_review" output="1" template="onepage/review/info.phtml">
+        <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="default" template="onepage/review/item.phtml"/>
+        <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="onepage/review/item.phtml"/>
+        <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="onepage/review/item.phtml"/>
+        <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.onepage.review.info.totals" as="totals" template="onepage/review/totals.phtml"/>
+        <container name="checkout.onepage.review.info.items.before" as="items_before" label="Items Before"/>
+        <container name="checkout.onepage.review.info.items.after" as="items_after" label="Items After"/>
+        <block class="Magento\Checkout\Block\Agreements" name="checkout.onepage.agreements" as="agreements" template="onepage/agreements.phtml"/>
+        <block class="Magento\View\Block\Template" name="checkout.onepage.review.button" as="button" template="Magento_Checkout::onepage/review/button.phtml"/>
+    </block>
+</layout>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_shippingmethod.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_shippingmethod.xml
new file mode 100644
index 00000000000..01ea8488482
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_shippingmethod.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">
+    <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="shipping_method" output="1" template="onepage/shipping_method/available.phtml"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_success.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_success.xml
similarity index 84%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_success.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_success.xml
index 65a3aea343b..ac8dc93f7f6 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_onepage_success.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/checkout_onepage_success.xml
@@ -24,10 +24,9 @@
  */
 -->
 <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">Your order has been received.</argument>
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">2columns-right.phtml</argument>
         </action>
     </referenceBlock>
     <referenceContainer name="content">
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/default.xml b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/default.xml
similarity index 68%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/default.xml
rename to app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/default.xml
index 38f1fbec78f..942683120c6 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/default.xml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/layout/override/base/default.xml
@@ -25,15 +25,22 @@
 -->
 <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"/>
+        <block class="Magento\Page\Block\Js\Components" 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">
+    <referenceBlock name="top.links">
+        <block class="Magento\Checkout\Block\Cart\Link" name="my-cart-link"/>
+        <block class="Magento\Checkout\Block\Link" name="onepage-checkout-link" after="my-cart-link">
+            <arguments>
+                <argument name="label" xsi:type="string">Checkout</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceContainer name="right">
+        <block class="Magento\Checkout\Block\Cart\Sidebar" name="cart_sidebar" template="cart/sidebar.phtml" before="-">
             <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"/>
+            <container name="cart_sidebar.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_backup/Magento_Checkout/multishipping/address/select.phtml
similarity index 50%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/address/select.phtml
index 91a0dd3b6de..4dea9b79df9 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/address/select.phtml
@@ -19,42 +19,40 @@
  * 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 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 class="multiple-checkout">
+    <div class="page-title title-buttons">
+        <h1><?php echo __('Change Billing Address') ?></h1>
+        <button type="button" title="<?php echo __('Add New Address') ?>" class="button" onclick="setLocation('<?php echo $this->getAddNewUrl() ?>')"><span><span><?php echo __('Add New Address') ?></span></span></button>
     </div>
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
     <?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($_index%3==0): ?><div class="col3-set"><?php endif; ?>
+        <div class="col-<?php echo ($_index%3+1) ?>">
+                <p class="actions">
+                    <a href="<?php echo $this->getEditAddressUrl($_address) ?>"><?php echo __('Edit Address') ?></a> <span class="separator">|</span> 
+                    <a href="<?php echo $this->getSetAddressUrl($_address) ?>"><strong><?php echo __('Select Address') ?></strong></a>
+                </p>
+                <address>
+                    <?php echo $_address->format('html') ?>
+                </address>
                 <?php if($this->isAddressDefaultBilling($_address)): ?>
-                    <br /><strong><?php echo __('Default Billing') ?></strong>
+                   <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 if($_index && $_index%3==0): ?></div><?php endif; ?>
     <?php endforeach; ?>
-    <div class="actions">
-        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Billing Information') ?></span></a>
+    <?php if(!$_index || $_index%3!=0): ?></div><?php endif; ?>
+    <div class="buttons-set">
+        <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Billing Information') ?></a></p>
     </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_backup/Magento_Checkout/multishipping/addresses.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/addresses.phtml
new file mode 100644
index 00000000000..2b55e1349e1
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/addresses.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
+ * @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
+/**
+ * Ship to multiple address template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Addresses
+ */
+?>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form id="checkout_multishipping_form" action="<?php echo $this->getPostActionUrl() ?>" method="post">
+    <div class="multiple-checkout">
+        <div class="page-title title-buttons">
+            <h1><?php echo __('Ship to Multiple Addresses') ?></h1>
+            <button type="button" title="<?php echo __('Enter a New Address') ?>" class="button" data-role="add-new-address"><span><span><?php echo __('Enter a New Address') ?></span></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" />
+        <h2><?php echo __('Please select a shipping address for applicable items.') ?></h2>
+        <table class="data-table" id="multiship-addresses-table">
+            <col />
+            <col width="1" />
+            <col width="1" />
+            <col width="1" />
+            <thead>
+                <tr>
+                    <th><?php echo __('Product') ?></th>
+                    <th class="a-center"><?php echo __('Qty') ?></th>
+                    <th><?php echo __('Send To') ?></th>
+                    <th>&nbsp;</th>
+                </tr>
+            </thead>
+            <tfoot>
+                <tr>
+                    <td colspan="100" class="a-right"><button type="submit" title="<?php echo __('Update Qty &amp; Addresses') ?>" class="button" data-role="can-continue" data-flag="0"><span><span><?php echo __('Update Qty &amp; Addresses') ?></span></span></button></td>
+                </tr>
+            </tfoot>
+            <tbody>
+            <?php foreach ($this->getItems() as $_index => $_item): ?>
+                <?php if ($_item->getQuoteItem()) :?>
+                <tr>
+                    <td><?php echo $this->getItemHtml($_item->getQuoteItem())?></td>
+                    <td><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><?php if ($_item->getProduct()->getIsVirtual()): echo __('Shipping selection is not applicable.'); else: echo $this->getAddressesHtmlSelect($_item, $_index); endif; ?></td>
+                    <td class="a-center"><a href="<?php echo $this->getItemDeleteUrl($_item) ?>" title="<?php echo __('Remove Item') ?>" class="btn-remove2"><?php echo __('Remove Item') ?></a></td>
+                </tr>
+                <?php endif; ?>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+        <script type="text/javascript">jQuery('#multiship-addresses-table').decorate('table')</script>
+        <div class="buttons-set">
+            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Shopping Cart') ?></a></p>
+            <button type="submit" title="<?php echo __('Continue to Shipping Information') ?>" class="button<?php if ($this->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($this->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><span><?php echo __('Continue to Shipping Information') ?></span></span></button>
+        </div>
+    </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/code/Magento/Checkout/view/frontend/multishipping/agreements.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/agreements.phtml
similarity index 100%
rename from app/code/Magento/Checkout/view/frontend/multishipping/agreements.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/agreements.phtml
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing.phtml
new file mode 100644
index 00000000000..faa48086693
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing.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)
+ */
+?>
+<?php
+/**
+ * Multishipping checkout billing information
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Billing
+ */
+?>
+<div class="multiple-checkout">
+    <div class="page-title">
+        <h1><?php echo __('Billing Information') ?></h1>
+    </div>
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="multishipping-billing-form">
+        <div class="col2-set">
+            <div class="col-1 col-narrow">
+                <div class="box">
+                    <div class="box-title">
+                        <h2><?php echo __('Billing Address') ?> <span class="separator">|</span> <a href="<?php echo $this->getSelectAddressUrl() ?>"><?php echo __('Change') ?></a></h2>
+                    </div>
+                    <div class="box-content">
+                        <?php $_address=$this->getAddress() ?>
+                        <address><?php echo $_address->format('html') ?></address>
+                    </div>
+                </div>
+            </div>
+            <div class="col-2 col-wide">
+                <div class="box">
+                    <div class="box-title">
+                        <h2><?php echo __('Payment Method') ?></h2>
+                    </div>
+                    <div class="box-content">
+                        <!-- Payment methods forms list -->
+                        <dl class="sp-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 :?>
+                                <span class="no-display"><input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" checked="checked" class="radio" /></span>
+                                <?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('checkout_billing_items') ?>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="buttons-set">
+            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Shipping Information') ?></a></p>
+            <button id="payment-continue" type="submit" title="<?php echo __('Continue to Review Your Order') ?>" class="button"><span><span><?php echo __('Continue to Review Your Order') ?></span></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>
+</div>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing/items.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing/items.phtml
new file mode 100644
index 00000000000..96d7e0a4e99
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/billing/items.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
+ * @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 ($this->getQuote()->hasVirtualItems()): ?>
+    <div class="col2-set">
+        <h2 class="legend"><?php echo __('Other Items in Your Order') ?></h2>
+        <div class="col-1 col-narrow"></div>
+        <div class="col-2 col-wide">
+            <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getVirtualProductEditUrl() ?>"><?php echo __('Edit Items') ?></a></h3>
+            <table class="data-table" id="unavailable-shipping-table">
+                <col />
+                <col width="1" />
+                <thead>
+                    <tr>
+                        <th><?php echo __('Product Name') ?></th>
+                        <th class="a-center"><?php echo __('Qty') ?></th>
+                    </tr>
+                </thead>
+                <tbody>
+                <?php foreach ($this->getVirtualQuoteItems() as $_item): ?>
+                    <tr>
+                        <td><?php echo $this->getItemHtml($_item) ?></td>
+                        <td class="a-center"><?php echo $_item->getQty() ?></td>
+                    </tr>
+                <?php endforeach; ?>
+                </tbody>
+            </table>
+            <script type="text/javascript">(function($) {$('#unavailable-shipping-table').decorate('table')})(jQuery)</script>
+        </div>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/multishipping/item/default.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/item/default.phtml
new file mode 100644
index 00000000000..9f29bfc9734
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/item/default.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)
+ */
+?>
+<h3 class="product-name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></h3>
+<?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; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/link.phtml
similarity index 82%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/link.phtml
index 6d72e1a9009..e141179eb76 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/link.phtml
@@ -19,8 +19,9 @@
  * 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)
  */
 ?>
-<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>
+<a href="<?php echo $this->getCheckoutUrl()?>" title="<?php echo __('Checkout with Multiple Addresses');?>"><?php echo __('Checkout with Multiple Addresses');?></a>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview.phtml
new file mode 100644
index 00000000000..73b2f58a5c0
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview.phtml
@@ -0,0 +1,217 @@
+<?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\Checkout\Block\Multishipping\Overview */ ?>
+<div class="multiple-checkout">
+    <div class="page-title">
+        <h1><?php echo __('Review Order') ?></h1>
+    </div>
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="review-order-form">
+        <div class="col2-set">
+            <h2 class="legend"><?php echo __('Billing Information') ?></h2>
+            <div class="col-1">
+                <div class="box">
+                    <?php $_address=$this->getBillingAddress() ?>
+                    <div class="box-title">
+                        <h3><?php echo __('Billing Address') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditBillingAddressUrl($_address) ?>"><?php echo __('Change') ?></a></h3>
+                    </div>
+                    <div class="box-content">
+                        <address>
+                            <?php echo $_address->format('html') ?>
+                        </address>
+                    </div>
+                </div>
+            </div>
+            <div class="col-2">
+                <div class="box">
+                    <div class="box-title">
+                        <h3><?php echo __('Payment Method') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditBillingUrl() ?>"><?php echo __('Change') ?></a></h3>
+                    </div>
+                    <div class="box-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>
+        <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+        <div class="col2-set">
+        <h2 class="legend"><?php echo __('Shipping Information') ?></h2>
+        <?php foreach ($this->getShippingAddresses() as $_index => $_address): ?>
+            <h3 class="legend"><?php echo __('Address %1 of %2', ($_index+1), $this->getShippingAddressCount()) ?></h3>
+                <div class="col-1 col-narrow">
+                    <div class="box">
+                        <div class="box-title">
+                            <h4><?php echo __('Shipping To') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditShippingAddressUrl($_address) ?>"><?php echo __('Change') ?></a></h4>
+                        </div>
+                        <div class="box-content">
+                            <address>
+                                <?php echo $_address->format('html') ?>
+                            </address>
+                        </div>
+                    </div>
+                    <div class="box">
+                        <div class="box-title">
+                            <h4><?php echo __('Shipping Method') ?> <span class="separator">|</span> <a href="<?php echo $this->getEditShippingUrl() ?>"><?php echo __('Change') ?></a></h4>
+                        </div>
+                        <div class="box-content">
+                            <?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>
+                </div>
+                <div class="col-2 col-wide">
+                    <h4><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getAddressesEditUrl() ?>"><?php echo __('Edit Items') ?></a></h4>
+                    <table class="data-table" id="overview-table-<?php echo $_address->getId() ?>">
+                        <col />
+                        <col width="1" />
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                        <col width="1" />
+                        <?php endif; ?>
+                        <col width="1" />
+                        <col width="1" />
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                        <col width="1" />
+                        <?php endif; ?>
+                        <thead>
+                            <tr>
+                                <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Product Name') ?></th>
+                                <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Price') ?></th>
+                                <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Qty') ?></th>
+                                <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Subtotal') ?></th>
+                            </tr>
+                            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                            <tr>
+                                <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                                <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                                <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                                <th><?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>
+                    <script type="text/javascript">jQuery('#overview-table-<?php echo $_address->getId() ?>').decorate('table')</script>
+                </div>
+            <?php if($this->getShippingAddressCount()!=$_index+1): ?>
+                <div class="divider"></div>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </div>
+        <?php if ($this->getQuote()->hasVirtualItems()): ?>
+        <div class="col2-set">
+            <h2 class="legend"><?php echo __('Other Items in Your Order') ?></h2>
+            <div class="col-1 col-narrow"></div>
+            <div class="col-2 col-wide">
+                <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getVirtualProductEditUrl() ?>"><?php echo __('Edit Items') ?></a></h3>
+                <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+                <table class="data-table" id="virtual-overview-table">
+                    <col />
+                    <col width="1" />
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                    <col width="1" />
+                    <?php endif; ?>
+                    <col width="1" />
+                    <col width="1" />
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                    <col width="70" />
+                    <?php endif; ?>
+                    <thead>
+                        <tr>
+                            <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Product Name') ?></th>
+                            <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Price') ?></th>
+                            <th rowspan="<?php echo $mergedCells; ?>"><?php echo __('Qty') ?></th>
+                            <th colspan="<?php echo $mergedCells; ?>" class="a-center"><?php echo __('Subtotal') ?></th>
+                        </tr>
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                        <tr>
+                            <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                            <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th><?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>
+                    <script type="text/javascript">jQuery('#virtual-overview-table').decorate('table')</script>
+                </div>
+        </div>
+        <?php endif; ?>
+
+           <?php echo $this->getChildHtml('items_after'); ?>
+
+            <div id="checkout-review-submit" data-mage-init="{paymentAuthentication:{}}">
+                <?php echo $this->getChildHtml('agreements') ?>
+                <div class="place-order">
+                    <div class="grand-total">
+                        <div class="inner">
+                            <big><?php echo __('Grand Total:') ?> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()) ?></big>
+                            <div id="review-buttons-container">
+                                <button type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout" id="review-button"><span><span><?php echo __('Place Order') ?></span></span></button>
+                            </div>
+                        </div>
+                    </div>
+                    <span class="please-wait" id="review-please-wait" style="display:none;">
+                        <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Submitting order information...') ?>" title="<?php echo __('Submitting order information...') ?>" class="v-middle" /> <?php echo __('Submitting order information...') ?>
+                    </span>
+                </div>
+            </div>
+            <div class="buttons-set">
+                <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Billing Information') ?></a></p>
+            </div>
+        </form>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/overview.js')?>", function() {
+                jQuery('#review-order-form').orderOverview();
+            });
+        </script>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview/item.phtml
similarity index 78%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview/item.phtml
index d7cb049a107..bc68ca43f9e 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/overview/item.phtml
@@ -33,14 +33,15 @@
 ?>
 <?php $_item = $this->getItem() ?>
 <tr>
-    <td class="col item"><?php echo $this->getRenderedBlock()->getItemHtml($_item) ?></td>
-<?php /* Excluding Tax */ ?>
+    <td><?php echo $this->getRenderedBlock()->getItemHtml($_item) ?></td>
+
+    <!--- Excluding Tax -->
     <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td class="col price excl tax">
+    <td class="a-right">
         <?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(); ?>"}'>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <div class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -48,23 +49,27 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
             <?php endif; ?>
-        </span>
+
+        </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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <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; ?>
@@ -78,16 +83,16 @@
         <?php endif; ?>
     </td>
     <?php endif; ?>
-<?php /* // Excluding Tax */ ?>
+    <!--- // Excluding Tax -->
 
-<?php /* Including Tax */ ?>
+    <!--- Including Tax -->
     <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
-    <td class="col price incll tax">
+    <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()): ?>
-            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <div class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -95,22 +100,27 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
             <?php endif; ?>
-        </span>
+
+        </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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <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>
 
@@ -123,15 +133,17 @@
 
     </td>
     <?php endif; ?>
-<?php /* // Including Tax */ ?>
-    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
-<?php /* Excluding Tax Subtotal */ ?>
+    <!--- // Including Tax -->
+
+    <td class="a-center"><?php echo $_item->getQty()*1 ?></td>
+
+    <!--- 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">
+    <td class="a-right">
         <?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(); ?>"}'>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <div class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -140,43 +152,47 @@
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
             <?php endif; ?>
 
-        </span>
+        </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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                    <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 /* //Excluding Tax Subtotal */ ?>
+    <!--- //Excluding Tax Subtotal -->
 
-<?php /* Including Tax Subtotal */ ?>
+    <!--- 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">
+    <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()): ?>
-            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
         <?php else: ?>
-            <span class="cart-price">
+            <div class="cart-price">
         <?php endif; ?>
 
             <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
@@ -184,33 +200,39 @@
             <?php else: ?>
                 <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
             <?php endif; ?>
-        </span>
+
+        </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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                        <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="weee"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                    <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; ?>
-<?php /* //Including Tax Subtotal */ ?>
+    <!--- //Including Tax Subtotal -->
 </tr>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/multishipping/shipping.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/shipping.phtml
new file mode 100644
index 00000000000..50bd5ae841c
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/shipping.phtml
@@ -0,0 +1,130 @@
+<?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
+/**
+ * Multishipping checkout shipping template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Shipping
+ * @var $this \Magento\Checkout\Block\Multishipping\Shipping
+ */
+?>
+<div class="multiple-checkout">
+    <div class="page-title">
+        <h1><?php echo __('Select Shipping Method') ?></h1>
+    </div>
+    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+    <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="shipping_method_form">
+        <?php foreach ($this->getAddresses() as $_index => $_address): ?>
+        <div class="col2-set">
+            <h2 class="legend"><?php echo __('Address %1 of %2', ($_index+1), $this->getAddressCount()) ?></h2>
+            <div class="col-1 col-narrow">
+                <div class="box">
+                    <div class="box-title">
+                        <h3><?php echo __('Shipping To') ?> <span class="separator">|</span> <a href="<?php echo $this->getAddressEditUrl($_address) ?>"><?php echo __('Change') ?></a></h3>
+                    </div>
+                    <div class="box-content">
+                        <address><?php echo $_address->format('html') ?></address>
+                    </div>
+                </div>
+                <div class="box box-sp-methods">
+                    <div class="pointer"></div>
+                    <div class="box-title">
+                        <h3><?php echo __('Shipping Method') ?></h3>
+                    </div>
+                    <div class="box-content">
+                        <?php if (!($_shippingRateGroups = $this->getShippingRates($_address))): ?>
+                            <p><?php echo __('Sorry, no quotes are available for this order.') ?></p>
+                        <?php else: ?>
+                        <dl class="sp-methods">
+                            <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
+                                <dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+                                <dd>
+                                    <ul>
+                                    <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
+                                        <li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"' ?>>
+                                           <?php if ($_rate->getErrorMessage()): ?>
+                                                <?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?>: <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
+                                           <?php else: ?>
+                                                <?php if ($_sole) : ?>
+                                                <span class="no-display"><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() ?>" checked="checked"/></span>
+                                                <?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 ?>
+                                        </li>
+                                    <?php endforeach; ?>
+                                    </ul>
+                                </dd>
+                            <?php endforeach; ?>
+                        </dl>
+                        <?php endif; ?>
+                    </div>
+                </div>
+            </div>
+            <div class="col-2 col-wide">
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_adress_checkbox', $_address); ?>
+                <h3><?php echo __('Items') ?> <span class="separator">|</span> <a href="<?php echo $this->getItemsEditUrl($_address) ?>"><?php echo __('Edit Items') ?></a></h3>
+                <table class="data-table" id="shipping-table-<?php echo $_address->getId() ?>">
+                    <col />
+                    <col width="1" />
+                    <thead>
+                        <tr>
+                            <th><?php echo __('Product Name') ?></th>
+                            <th class="a-center"><?php echo __('Qty') ?></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <?php foreach ($this->getAddressItems($_address) as $_item): ?>
+                        <tr>
+                            <td>
+                                <?php echo $this->getItemHtml($_item->getQuoteItem()) ?>
+                            </td>
+                            <td class="a-center"><?php echo $_item->getQty() ?></td>
+                        </tr>
+                    <?php endforeach; ?>
+                    </tbody>
+                </table>
+                <script type="text/javascript">(function($) {$('#shipping-table-<?php echo $_address->getId()?>').decorate('table')})(jQuery)</script>
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_address', $_address); ?>
+            </div>
+        </div>
+        <?php endforeach; ?>
+        <?php echo $this->getChildHtml('checkout_billing_items') ?>
+        <div class="buttons-set">
+            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Select Addresses') ?></a></p>
+            <button type="submit" title="<?php echo __('Continue to Billing Information') ?>" class="button"><span><span><?php echo __('Continue to Billing Information') ?></span></span></button>
+        </div>
+    </form>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/state.phtml
similarity index 70%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/state.phtml
index e718013b82c..660d5fe126c 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/state.phtml
@@ -24,15 +24,16 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php
+<?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 class="checkout-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>
+<script type="text/javascript">(function($) {$('#checkout-progress-state li').decorate('generic', ['first','last'])})(jQuery)</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/success.phtml
similarity index 73%
rename from app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/multishipping/success.phtml
index 51ef877cc16..d666ec7ca0a 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/multishipping/success.phtml
@@ -24,22 +24,27 @@
  * @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>
+<div class="multiple-checkout">
+    <div class="page-title">
+        <h1><?php echo __('Order Success') ?></h1>
+    </div>
+    <h2 class="sub-title"><?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 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 class="buttons-set">
+        <button type="button" title="<?php echo __('Continue Shopping') ?>" class="button" onclick="window.location = '<?php echo $this->getContinueUrl() ?>';"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
     </div>
 </div>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/onepage.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage.phtml
new file mode 100644
index 00000000000..1ee814f2e63
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage.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
+$_paymentBlock = $this->getLayout()->getBlock('checkout.onepage.payment');
+$_registerParam = $this->getRequest()->getParam('register');
+?>
+<div class="page-title">
+    <h1><?php echo __('Checkout') ?></h1>
+</div>
+<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/opcheckout.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',
+                        ajaxLoaderPlaceButton: true,
+                        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>
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/accordion.js b/app/design/frontend/magento_backup/Magento_Checkout/onepage/accordion.js
similarity index 100%
rename from app/code/Magento/Checkout/view/frontend/onepage/accordion.js
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/accordion.js
diff --git a/app/code/Magento/Checkout/view/frontend/onepage/agreements.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/agreements.phtml
similarity index 100%
rename from app/code/Magento/Checkout/view/frontend/onepage/agreements.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/agreements.phtml
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/onepage/billing.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/billing.phtml
new file mode 100644
index 00000000000..35d3e9389cb
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/billing.phtml
@@ -0,0 +1,218 @@
+<?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\Checkout\Block\Onepage\Billing  */ ?>
+<form id="co-billing-form" action="">
+<fieldset>
+    <ul class="form-list">
+    <?php if ($this->customerHasAddresses()): ?>
+        <li class="wide">
+            <label for="billing-address-select"><?php echo __('Select a billing address from your address book or enter a new address.') ?></label>
+            <div class="input-box">
+                <?php echo $this->getAddressesHtmlSelect('billing') ?>
+            </div>
+        </li>
+    <?php endif; ?>
+    <li id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>>
+        <fieldset>
+            <input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
+            <ul>
+                <li class="fields"><?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() ?></li>
+                <li class="fields">
+                    <div class="field">
+                        <label for="billing:company"><?php echo __('Company') ?></label>
+                        <div class="input-box">
+                            <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->isCustomerLoggedIn()): ?>
+                    <div class="field">
+                        <label for="billing:email" class="required"><em>*</em><?php echo __('Email Address') ?></label>
+                        <div class="input-box">
+                            <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; ?>
+                </li>
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+                <li class="wide">
+                    <label for="billing:street1" class="required"><em>*</em><?php echo __('Address') ?></label>
+                    <div class="input-box">
+                        <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>
+                </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="wide">
+                    <div class="input-box">
+                        <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>
+                </li>
+        <?php endfor; ?>
+                <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+                <li class="wide">
+                    <label for="billing:vat_id"><?php echo __('VAT Number') ?></label>
+                    <div class="input-box">
+                        <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>
+                </li>
+                <?php endif; ?>
+                <li class="fields">
+                    <div class="field">
+                        <label for="billing:city" class="required"><em>*</em><?php echo __('City') ?></label>
+                        <div class="input-box">
+                            <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">
+                        <label for="billing:region_id" class="required"><em>*</em><?php echo __('State/Province') ?></label>
+                        <div class="input-box">
+                            <select id="billing:region_id" name="billing[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;" <?php if ($this->getConfig('general/region/display_all') === 0) { ?>disabled="disabled"<?php } ?>>
+                                <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;" <?php if ($this->getConfig('general/region/display_all') === 0) { ?>disabled="disabled"<?php } ?>/>
+                        </div>
+                    </div>
+                </li>
+                <li class="fields">
+                    <div class="field">
+                        <label for="billing:postcode" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
+                        <div class="input-box">
+                            <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">
+                        <label for="billing:country_id" class="required"><em>*</em><?php echo __('Country') ?></label>
+                        <div class="input-box">
+                            <?php echo $this->getCountryHtmlSelect('billing') ?>
+                        </div>
+                    </div>
+                </li>
+                <li class="fields">
+                    <div class="field">
+                        <label for="billing:telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
+                        <div class="input-box">
+                            <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">
+                        <label for="billing:fax"><?php echo __('Fax') ?></label>
+                        <div class="input-box">
+                            <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>
+                </li>
+                <?php if(!$this->isCustomerLoggedIn()): ?>
+
+        <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+        <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+            <?php if ($_dob->isEnabled() || $_gender->isEnabled()): ?>
+                <li class="fields">
+                <?php if ($_dob->isEnabled()): ?>
+                    <div class="field">
+                        <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+                    </div>
+                <?php endif; ?>
+                <?php if ($_gender->isEnabled()): ?>
+                    <div class="field">
+                        <?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+                    </div>
+                <?php endif ?>
+                </li>
+            <?php endif ?>
+
+        <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+        <?php if ($_taxvat->isEnabled()): ?>
+                <li>
+                    <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+                </li>
+        <?php endif ?>
+
+                <li class="fields" id="register-customer-password">
+                    <div class="field">
+                        <label for="billing:customer_password" class="required"><em>*</em><?php echo __('Password') ?></label>
+                        <div class="input-box">
+                            <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">
+                        <label for="billing:confirm_password" class="required"><em>*</em><?php echo __('Confirm Password') ?></label>
+                        <div class="input-box">
+                            <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>
+                </li>
+                <?php endif; ?>
+                <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+                    <li class="control">
+                        <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 for="billing:save_in_address_book"><?php echo __('Save in address book') ?></label>
+                    </li>
+                <?php else:?>
+                    <li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1" /></li>
+                <?php endif; ?>
+                <?php echo $this->getChildHtml('form.additional.info'); ?>
+            </ul>
+        </fieldset>
+    </li>
+    <?php /* Extensions placeholder */ ?>
+    <?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
+    <?php if ($this->canShip()): ?>
+        <li class="control">
+            <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo  __('Ship to this address') ?>" class="radio" /><label for="billing:use_for_shipping_yes"><?php echo  __('Ship to this address') ?></label></li>
+        <li class="control">
+            <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo __('Ship to different address') ?>" class="radio" /><label for="billing:use_for_shipping_no"><?php echo __('Ship to different address') ?></label>
+        </li>
+    <?php endif; ?>
+    </ul>
+    <?php if (!$this->canShip()): ?>
+        <input type="hidden" name="billing[use_for_shipping]" value="1" />
+    <?php endif; ?>
+    <div class="buttons-set" id="billing-buttons-container">
+        <p class="required"><?php echo __('* Required Fields') ?></p>
+        <button type="button" title="<?php echo __('Continue') ?>" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
+        <span class="please-wait" id="billing-please-wait" style="display:none;">
+            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
+        </span>
+    </div>
+</fieldset>
+</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_backup/Magento_Checkout/onepage/failure.phtml
similarity index 89%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/failure.phtml
index f0ccb4c1f26..dfccd26f471 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/failure.phtml
@@ -19,10 +19,14 @@
  * 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="page-title">
+    <h1><?php echo __('Something went wrong while processing your payment.') ?></h1>
+</div>
 <?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_backup/Magento_Checkout/onepage/link.phtml
similarity index 75%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/link.phtml
index a016f12eaca..e8cd3bda3e0 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/link.phtml
@@ -19,10 +19,11 @@
  * 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 ($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>
+    <button type="button" title="<?php echo __('Proceed to Checkout') ?>" class="button btn-proceed-checkout btn-checkout<?php if ($this->isDisabled()):?> no-checkout<?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_backup/Magento_Checkout/onepage/login.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/login.phtml
new file mode 100644
index 00000000000..db2cb53047d
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/login.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
+ * @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 /* Extensions placeholder */ ?>
+<?php echo $this->getChildHtml('checkout.onepage.login.extra')?>
+<div class="col2-set">
+    <?php echo $this->getChildHtml('login_before')?>
+    <div class="col-1">
+        <h3><?php if( $this->isAllowedGuestCheckout() ): ?><?php echo __('Checkout as a Guest or Register') ?><?php else: ?><?php echo __('Register to Create an Account') ?><?php endif; ?></h3>
+        <?php if( $this->isAllowedGuestCheckout() ): ?>
+            <p><?php echo __('Sign up with us to save time on your next checkout:') ?></p>
+        <?php else: ?>
+            <p><strong><?php echo __('Register and save time!') ?></strong><br />
+            <?php echo __('Sign up with us to save time on your next checkout:') ?></p>
+            <ul>
+                <li><?php echo __('Fast and easy check out') ?></li>
+                <li><?php echo __('Get easy access to your order history and status.') ?></li>
+            </ul>
+        <?php endif; ?>
+        <?php if( $this->isAllowedGuestCheckout() ): ?>
+            <ul class="form-list">
+                <?php if( $this->isAllowedGuestCheckout() ): ?>
+                <li class="control">
+                    <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 for="login:guest"><?php echo __('Checkout as Guest') ?></label>
+                </li>
+                <?php endif; ?>
+                <li class="control">
+                    <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 for="login:register"><?php echo __('Register') ?></label>
+                </li>
+            </ul>
+            <h4><?php echo __('Register and save time!') ?></h4>
+            <p><?php echo __('Sign up with us to save time on your next checkout:') ?></p>
+            <ul class="ul">
+                <li><?php echo __('Fast and easy check out') ?></li>
+                <li><?php echo __('Get easy access to your order history and status.') ?></li>
+            </ul>
+        <?php else: ?>
+            <input type="hidden" name="checkout_method" id="login:register" value="register" checked="checked" />
+        <?php endif; ?>
+    </div>
+    <div class="col-2">
+        <h3><?php echo __('Login') ?></h3>
+        <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+        <form id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
+        <fieldset>
+            <h4><?php echo __('Already registered?') ?></h4>
+            <p><?php echo __('Please log in below:') ?></p>
+            <ul class="form-list">
+                <li>
+                    <label for="login-email" class="required"><em>*</em><?php echo __('Email Address') ?></label>
+                    <div class="input-box">
+                        <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>
+                </li>
+                <li>
+                    <label for="login-password" class="required"><em>*</em><?php echo __('Password') ?></label>
+                    <div class="input-box">
+                        <input type="password" class="input-text" id="login-password" name="login[password]" data-validate="{required:true}"/>
+                    </div>
+                </li>
+                <?php echo $this->getChildHtml('login.form.additional.info'); ?>
+            </ul>
+        </fieldset>
+        </form>
+    </div>
+</div>
+<div class="col2-set">
+    <div class="col-1">
+        <div class="buttons-set">
+            <p class="required">&nbsp;</p>
+            <button type="button" class="button" data-checkout='{"isGuestCheckoutAllowed":true}'><span><span><?php echo ($this->isAllowedGuestCheckout() ? __('Continue') : __('Register')) ?></span></span></button>
+            <span class="please-wait" style="display:none;">
+                <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="" class="v-middle" /> <?php echo __('Loading next step...') ?>
+            </span>
+        </div>
+    </div>
+    <div class="col-2">
+        <div class="buttons-set">
+            <p class="required"><?php echo __('* Required Fields') ?></p>
+            <a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo __('Forgot your password?') ?></a>
+            <button type="submit" class="button" data-action='login-form-submit'><span><span><?php echo __('Login') ?></span></span></button>
+        </div>
+    </div>
+</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_backup/Magento_Checkout/onepage/payment.phtml
similarity index 57%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/payment.phtml
index fe8f86c816f..4a11e6f8b6c 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/payment.phtml
@@ -19,25 +19,21 @@
  * 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="" id="co-payment-form" class="form payments">
-    <fieldset class="fieldset">
-        <?php echo $this->getChildChildHtml('methods_additional') ?>
+<form action="" id="co-payment-form">
+    <fieldset>
         <?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>
+<div class="buttons-set" id="payment-buttons-container">
+    <p class="required"><?php echo __('* Required Fields') ?></p>
+    <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+    <button type="button" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
+    <span class="please-wait" id="payment-please-wait" style="display:none;">
+        <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
+    </span>
+</div>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/onepage/payment/methods.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/payment/methods.phtml
new file mode 100644
index 00000000000..914206cc665
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/payment/methods.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
+ * @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
+/**
+ * One page checkout payment methods
+ *
+ * @see \Magento\Checkout\Block\Onepage\Payment\Methods
+ */
+?>
+<dl class="sp-methods" id="checkout-payment-method-load">
+<?php
+    $methods = $this->getMethods();
+    $oneMethod = count($methods) <= 1;
+?>
+<?php if (empty($methods)): ?>
+    <dt>
+        <?php echo __('No Payment Methods') ?>
+    </dt>
+<?php else:
+    foreach ($methods as $_method):
+        $_code = $_method->getCode();
+?>
+    <dt>
+    <?php if(!$oneMethod): ?>
+        <input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" <?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
+    <?php else: ?>
+        <span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /></span>
+        <?php $oneMethod = $_code; ?>
+    <?php endif; ?>
+        <label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
+    </dt>
+    <?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
+    <dd>
+        <?php echo $html; ?>
+    </dd>
+    <?php endif; ?>
+<?php endforeach;
+    endif;
+?>
+</dl>
+<div class="no-display" data-checkout-price="<?php echo (float)$this->getQuote()->getBaseGrandTotal(); ?>" />
+<?php echo $this->getChildChildHtml('additional'); ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/progress.phtml
similarity index 95%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/progress.phtml
index 5719d1f9962..c68bcf8d449 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/progress.phtml
@@ -19,16 +19,17 @@
  * 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\Checkout\Block\Onepage\Progress */
 ?>
-<div class="block progress onepage opc-block-progress">
-    <div class="title">
-        <strong><?php echo __('Your Checkout Progress') ?></strong>
+<div class="block block-progress opc-block-progress">
+    <div class="block-title">
+        <strong><span><?php echo __('Your Checkout Progress') ?></span></strong>
     </div>
-    <div class="content">
+    <div class="block-content">
         <dl>
         <?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
         <?php if ($this->isStepComplete('billing')): ?>
diff --git a/app/code/Magento/Core/view/frontend/link.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review.phtml
similarity index 86%
rename from app/code/Magento/Core/view/frontend/link.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/review.phtml
index cb8494c6a5e..8b82981faf5 100644
--- a/app/code/Magento/Core/view/frontend/link.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review.phtml
@@ -23,6 +23,7 @@
  * @copyright   Copyright (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\Core\Block\Html\Link */
 ?>
-<a <?php echo $this->getLinkAttributes() ?>><?php echo $this->escapeHtml($this->getAnchorText()) ?></a>
+<div class="order-review" id="checkout-review-load">
+    <?php echo $this->getChildHtml('info') ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/button.phtml
similarity index 81%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/review/button.phtml
index 35ddad1c26c..82172d3fe29 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/button.phtml
@@ -19,8 +19,9 @@
  * 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)
  */
 ?>
-<button role='review-save' type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout action checkout"><span><?php echo __('Place Order') ?></span></button>
+<button data-role="review-save" type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout"><span><span><?php echo __('Place Order') ?></span></span></button>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/info.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/info.phtml
new file mode 100644
index 00000000000..48f12caf1e4
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/info.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
+ * @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 echo $this->getChildHtml('items_before'); ?>
+<div id="checkout-review-table-wrapper" data-mage-init="{paymentAuthentication:{}}">
+    <table class="data-table" id="checkout-review-table">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
+        <col />
+        <col width="1" />
+        <col width="1" />
+        <col width="1" />
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <col width="1" />
+        <col width="1" />
+        <?php endif; ?>
+        <thead>
+            <tr>
+                <th rowspan="<?php echo $rowspan ?>"><?php echo __('Product Name') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo __('Price') ?></th>
+                <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo __('Qty') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo __('Subtotal') ?></th>
+            </tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <tr>
+                    <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <th class="a-right"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th><?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'); ?>
+<script type="text/javascript">jQuery('#checkout-review-table').decorate('table')</script>
+<div id="checkout-review-submit" data-mage-init="{paymentAuthentication:{}}">
+    <?php echo $this->getChildHtml('agreements') ?>
+    <div class="buttons-set" id="review-buttons-container">
+        <p class="f-left"><?php echo __('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo __('Edit Your Cart') ?></a></p>
+        <?php echo $this->getChildHtml('button') ?>
+        <span class="please-wait" id="review-please-wait" style="display:none;">
+            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Submitting order information...') ?>" title="<?php echo __('Submitting order information...') ?>" class="v-middle" /> <?php echo __('Submitting order information...') ?>
+        </span>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/item.phtml
similarity index 97%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/review/item.phtml
index a177ee2976d..e3ea7b940b3 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/item.phtml
@@ -19,15 +19,16 @@
  * 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 class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
+    <td><h3 class="product-name"><?php echo $this->escapeHtml($this->getProductName()) ?></h3>
         <?php if ($_options = $this->getOptionList()):?>
-        <dl class="review item options">
+        <dl class="item-options">
             <?php foreach ($_options as $_option) : ?>
             <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
             <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
@@ -49,7 +50,7 @@
         <?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">
+    <td class="a-right">
         <?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: ?>
@@ -96,7 +97,7 @@
     </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">
+    <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()): ?>
             <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
@@ -141,9 +142,9 @@
         <?php endif; ?>
     </td>
     <?php endif; ?>
-    <td class="col qty"><span class="qty"><?php echo $_item->getQty() ?></span></td>
+    <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="col subtotal excl tax">
+    <td class="a-right">
         <?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: ?>
@@ -188,7 +189,7 @@
     </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">
+    <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()): ?>
             <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/totals.phtml
similarity index 92%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/review/totals.phtml
index 70938f93971..9479a681acc 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/review/totals.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -34,10 +35,10 @@
     <?php echo $this->renderTotals('footer', $_colspan); ?>
     <?php if ($this->needDisplayBaseGrandtotal()):?>
     <tr>
-        <td class="col label" colspan="<?php echo $_colspan; ?>">
+        <td class="a-right" colspan="<?php echo $_colspan; ?>">
             <small><?php echo __('Your credit card will be charged for') ?></small>
         </td>
-        <td class="col total">
+        <td class="a-right">
             <small><?php echo $this->displayBaseGrandtotal() ?></small>
         </td>
     </tr>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping.phtml
new file mode 100644
index 00000000000..05f7c7fbcdc
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping.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
+ * @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\Checkout\Block\Onepage\Shipping */ ?>
+<form action="" id="co-shipping-form">
+    <ul class="form-list">
+    <?php if ($this->customerHasAddresses()): ?>
+       <li class="wide">
+           <label for="shipping-address-select"><?php echo __('Select a shipping address from your address book or enter a new address.') ?></label>
+           <div class="input-box">
+               <?php echo $this->getAddressesHtmlSelect('shipping') ?>
+           </div>
+       </li>
+    <?php endif ?>
+        <li id="shipping-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif ?>>
+            <fieldset>
+                <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
+                <ul>
+                    <li class="fields"><?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->toHtml() ?></li>
+                    <li class="fields">
+                        <div class="fields">
+                            <label for="shipping:company"><?php echo __('Company') ?></label>
+                            <div class="input-box">
+                                <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>
+                    </li>
+            <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+                    <li class="wide">
+                        <label for="shipping:street1" class="required"><em>*</em><?php echo __('Address') ?></label>
+                        <div class="input-box">
+                            <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>
+                    </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="wide">
+                        <div class="input-box">
+                            <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>
+                    </li>
+            <?php endfor; ?>
+                    <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+                    <li class="wide">
+                        <label for="billing:vat_id"><?php echo __('VAT Number'); ?></label>
+                        <div class="input-box">
+                            <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>
+                    </li>
+                    <?php endif; ?>
+                    <li class="fields">
+                        <div class="field">
+                            <label for="shipping:city" class="required"><em>*</em><?php echo __('City') ?></label>
+                            <div class="input-box">
+                                <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">
+                            <label for="shipping:region" class="required"><em>*</em><?php echo __('State/Province') ?></label>
+                            <div class="input-box">
+                                <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 a 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>
+                    </li>
+                    <li class="fields">
+                        <div class="field">
+                            <label for="shipping:postcode" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
+                            <div class="input-box">
+                                <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">
+                            <label for="shipping:country_id" class="required"><em>*</em><?php echo __('Country') ?></label>
+                            <div class="input-box">
+                                <?php echo $this->getCountryHtmlSelect('shipping') ?>
+                            </div>
+                        </div>
+                    </li>
+                    <li class="fields">
+                        <div class="field">
+                            <label for="shipping:telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
+                            <div class="input-box">
+                                <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">
+                            <label for="shipping:fax"><?php echo __('Fax') ?></label>
+                            <div class="input-box">
+                                <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>
+                    </li>
+                <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+                    <li class="control">
+                        <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 for="shipping:save_in_address_book"><?php echo __('Save in address book') ?></label></li>
+                <?php else:?>
+                    <li class="no-display"><input type="hidden" name="shipping[save_in_address_book]" value="1" /></li>
+                <?php endif;?>
+                </ul>
+            </fieldset>
+        </li>
+        <li class="control">
+            <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1"<?php if($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?> title="<?php echo __('Use Billing Address') ?>" class="checkbox" /><label for="shipping:same_as_billing"><?php echo __('Use Billing Address') ?></label>
+        </li>
+    </ul>
+    <div class="buttons-set" id="shipping-buttons-container">
+        <p class="required"><?php echo __('* Required Fields') ?></p>
+        <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+        <button type="button" class="button" title="<?php echo __('Continue') ?>"><span><span><?php echo __('Continue') ?></span></span></button>
+        <span id="shipping-please-wait" class="please-wait" style="display:none;">
+            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
+        </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) ?>,
+                    clearError: function() {
+                        var selectorArr = ['#shipping\\:region_id', '#shipping\\:region', '#shipping\\:postcode'];
+                        for (var i = 0; i < selectorArr.length; i++) {
+                            $(selectorArr[i]).removeClass('validation-failed').next("div.validation-advice").remove();
+                        }
+                    }
+                });
+            });
+    })(jQuery);
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method.phtml
similarity index 67%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method.phtml
index 955011f9ff0..ac7166ee1b1 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method.phtml
@@ -19,22 +19,23 @@
  * 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 class="form shipping methods" id="co-shipping-method-form" action="">
+<form 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>
+    <div class="buttons-set" id="shipping-method-buttons-container">
+        <p class="back-link"><a href="#"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+        <button type="button" class="button"><span><span><?php echo __('Continue') ?></span></span></button>
+        <span id="shipping-method-please-wait" class="please-wait" style="display:none;">
+            <img src="<?php echo $this->getViewFileUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo __('Loading next step...') ?>" title="<?php echo __('Loading next step...') ?>" class="v-middle" /> <?php echo __('Loading next step...') ?>
         </span>
     </div>
 </form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/additional.phtml
similarity index 79%
rename from app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/additional.phtml
index af7fcbff53f..9a816287728 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/additional.phtml
@@ -19,19 +19,11 @@
  * 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
-/**
- * Shopping cart template
- *
- * @see \Magento\Checkout\Block\Cart
- */
-?>
-<?php if ($this->getItemsCount()) {
-    echo $this->getChildHtml('with-items');
-} else {
-    echo $this->getChildHtml('no-items');
-}
+<?php if (!$this->getQuote()->isVirtual()): ?>
+    <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('onepage_checkout', $this->getQuote(), $this->getDontDisplayContainer()) ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/available.phtml
similarity index 87%
rename from app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/available.phtml
index 15c7081b746..8fa017be225 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/onepage/shipping_method/available.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -26,16 +27,17 @@
 <?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>
+    <p><?php echo __('Sorry, no quotes are available for this order.') ?></p>
 <?php else: ?>
-    <dl class="sp-methods items methods">
+    <dl class="sp-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">
+        <dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+        <dd>
+            <ul>
             <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
                 <?php $shippingCodePrice[] = '"'.$_rate->getCode().'":'.(float)$_rate->getPrice(); ?>
-                <div class="field choice">
+                <li>
                    <?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: ?>
@@ -44,18 +46,18 @@
                         <?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()) ?>
+                        <label for="s_method_<?php echo $_rate->getCode() ?>"><?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>
+                </li>
             <?php endforeach; ?>
+            </ul>
         </dd>
     <?php endforeach; ?>
     </dl>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml b/app/design/frontend/magento_backup/Magento_Checkout/success.phtml
similarity index 54%
rename from app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/success.phtml
index 95681ab6f6e..169c4d693f3 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/success.phtml
@@ -19,24 +19,30 @@
  * 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)
  */
 ?>
-<h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2>
+<div class="page-title">
+    <h1><?php echo __('We received your order.') ?></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 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 __('We\'ll send you a confirmation email with order details and tracking information.') ?></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()): ?>
@@ -45,14 +51,14 @@
 
 <?php if ($profiles = $this->getRecurringProfiles()):?>
 <p><?php echo __('Your recurring payment profiles:'); ?></p>
-<ul>
+<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>
+    <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 class="buttons-set">
+    <button type="button" class="button" 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_Checkout/total/default.phtml b/app/design/frontend/magento_backup/Magento_Checkout/total/default.phtml
similarity index 83%
rename from app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
rename to app/design/frontend/magento_backup/Magento_Checkout/total/default.phtml
index 06114863bae..d34e1906d40 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
+++ b/app/design/frontend/magento_backup/Magento_Checkout/total/default.phtml
@@ -19,19 +19,20 @@
  * 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)
  */
 ?>
-<tr class="discount">
-    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>" class="mark">
+<tr>
+    <th colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>" class="a-right">
         <?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">
+    </th>
+    <td style="<?php echo $this->getTotal()->getStyle() ?>" class="a-right">
         <?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 echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
         <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?></strong><?php endif; ?>
     </td>
 </tr>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/total/nominal.phtml b/app/design/frontend/magento_backup/Magento_Checkout/total/nominal.phtml
new file mode 100644
index 00000000000..58537f0ac3f
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/total/nominal.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)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Checkout\Block\Total\Nominal
+ */
+?>
+<tr>
+    <th colspan="<?php echo $this->getColspan() + 1; ?>" style="<?php echo $this->getTotalStyle() ?>" class="a-right">
+        <?php echo sprintf(($this->getRenderingArea() == $this->getTotalArea()) ? '<strong>%s</strong>' : '%s', $this->escapeHtml($this->getTotalTitle())) ?>
+    </th>
+</tr>
+<?php foreach ($this->getTotalItems() as $i => $item): ?>
+<?php foreach ($this->getTotalItemDetails($item) as $j => $row):?>
+<tr class="summary-details <?php echo "summary-details-nominal-{$i}" . (0 == $j ? ' summary-details-first' : '') . ($this->getItemDetailsRowIsCompounded($row) ? '' : ' summary-details-excluded')?>" style="display:none;">
+    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>" class="a-right">
+        <?php echo $this->escapeHtml($this->getItemDetailsRowLabel($row)) ?>
+    </td>
+    <td class="a-right">
+        <?php echo $this->formatPrice($this->getItemDetailsRowAmount($row)) ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+<tr class="summary-total" onclick="expandDetails(this, '<?php echo ".summary-details-nominal-{$i}"?>')">
+    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotalStyle() ?>">
+        <div class="summary-collapse"><?php echo $this->escapeHtml($this->getItemName($item)); ?></div>
+    </td>
+    <td class="a-right">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getItemRowTotal($item)) ?>
+    </td>
+</tr>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_backup/Magento_Checkout/total/tax.phtml b/app/design/frontend/magento_backup/Magento_Checkout/total/tax.phtml
new file mode 100644
index 00000000000..998107b44ca
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Checkout/total/tax.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 global $taxIter; $taxIter++; ?>
+<?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $this->getTotal()->getValue()!=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 $this->getTotal()->getStyle() ?>" 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 rowspan="<?php echo count($rates); ?>" class="a-right" style="<?php echo $this->getTotal()->getStyle() ?>">
+                            <?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;?>
+<tr<?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $this->getTotal()->getValue()!=0): ?> class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')"<?php endif; ?>>
+    <td class="a-right" colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>">
+        <?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 class="a-right" style="<?php echo $this->getTotal()->getStyle() ?>">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_confirmation.xml b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_confirmation.xml
index 0b74bb3978f..11665c9f4d3 100644
--- a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_confirmation.xml
+++ b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_confirmation.xml
@@ -33,6 +33,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="accountConfirmation" template="Magento_Customer::form/confirmation.phtml"/>
+        <block class="Magento\View\Block\Template" name="accountConfirmation" template="Magento_Customer::form/confirmation.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_index.xml b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_index.xml
index b360dfb9e65..e817f42626a 100644
--- a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_index.xml
+++ b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_index.xml
@@ -33,7 +33,7 @@
     <referenceContainer name="my.account.wrapper">
         <block class="Magento\Customer\Block\Account\Dashboard" name="customer_account_dashboard" template="account/dashboard.phtml">
             <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\View\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\Newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="account/dashboard/newsletter.phtml"/>
             <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml"/>
diff --git a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_logoutsuccess.xml b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_logoutsuccess.xml
index 05c3a7da0e2..f92de06af03 100644
--- a/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_logoutsuccess.xml
+++ b/app/design/frontend/magento_backup/Magento_Customer/layout/override/base/customer_account_logoutsuccess.xml
@@ -30,6 +30,6 @@
         </action>
     </referenceBlock>
     <referenceContainer name="content">
-        <block class="Magento\Core\Block\Template" name="customer_logout" template="Magento_Customer::logout.phtml"/>
+        <block class="Magento\View\Block\Template" name="customer_logout" template="Magento_Customer::logout.phtml"/>
     </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Directory/js/optional_zip_countries.phtml b/app/design/frontend/magento_backup/Magento_Directory/js/optional_zip_countries.phtml
index ed5551dcf49..357a8e3afa6 100644
--- a/app/design/frontend/magento_backup/Magento_Directory/js/optional_zip_countries.phtml
+++ b/app/design/frontend/magento_backup/Magento_Directory/js/optional_zip_countries.phtml
@@ -29,6 +29,6 @@
 /**
  * JS block for including Countries with Optional Zip
  *
- * @see \Magento\Core\Block\Template
+ * @see \Magento\View\Block\Template
  */
 ?>
diff --git a/app/design/frontend/magento_backup/Magento_GiftMessage/gift-options.js b/app/design/frontend/magento_backup/Magento_GiftMessage/gift-options.js
new file mode 100644
index 00000000000..6f9b6cc2316
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_GiftMessage/gift-options.js
@@ -0,0 +1,95 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * 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 message options toggle
+ * @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.giftOptions', {
+        options: {
+            mageError: 'mage-error',
+            noDisplay: 'no-display',
+            requiredEntry: 'required-entry'
+        },
+
+        /**
+         * Initial toggle of the various gift options after widget instantiation.
+         * @private
+         */
+        _init: function() {
+            this._toggleVisibility();
+        },
+
+        /**
+         * Bind a click handler to the widget's context element.
+         * @private
+         */
+        _create: function() {
+            this.element.on('click', $.proxy(this._toggleVisibility, this));
+            $(this.element.data('selector').id).find('.giftmessage-area')
+                .on('change', $.proxy(this._toggleRequired, this));
+        },
+
+        /**
+         * Toggle the visibility of the widget's context element's selector(s).
+         * @private
+         * @param event {Object} - Click event. Target is a checkbox.
+         */
+        _toggleVisibility: function(event) {
+            var checkbox = event ? $(event.target) : this.element,
+                container = $(checkbox.data('selector').id);
+            if (checkbox.is(':checked')) {
+                container.show()
+                    .find('.giftmessage-area:not(:visible)').each(function(x, element) {
+                        if ($(element).val().length > 0) {
+                            $(element).change();
+                            container.find('a').click();
+                        }
+                    });
+            } else {
+                var _this = this;
+                container.hide()
+                    .find('.input-text:not(.giftmessage-area)').each(function(x, element) {
+                        $(element).val(element.defaultValue).removeClass(_this.options.mageError)
+                            .next('div.' + _this.options.mageError).remove();
+                    }).end()
+                    .find('.giftmessage-area').val('').change().end()
+                    .find('.select').val('').change().end()
+                    .find('.checkbox:checked').prop('checked', false).click().prop('checked', false).end()
+                    .find('.price-box').addClass(this.options.noDisplay).end();
+            }
+        },
+
+        /**
+         * Make the From and To input fields required if a gift message has been written.
+         * @private
+         * @param event {Object} - Change event. Target is a textarea.
+         */
+        _toggleRequired: function(event) {
+            var textArea = $(event.target),
+                length = textArea.val().length;
+            textArea.closest('li').prev('.fields')
+                .find('.input-text').toggleClass(this.options.requiredEntry, length > 0);
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_backup/Magento_GiftMessage/inline.phtml b/app/design/frontend/magento_backup/Magento_GiftMessage/inline.phtml
new file mode 100644
index 00000000000..b581f23b0ff
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_GiftMessage/inline.phtml
@@ -0,0 +1,252 @@
+<?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 ($this->isMessagesAvailable() || $this->isItemsAvailable()): ?>
+<?php switch ($this->getType()): ?>
+<?php case 'onepage_checkout': ?>
+    <div class="gift-messages">
+        <h3><?php echo __('Does your order include gift items?'); ?></h3>
+        <p>
+            <input type="checkbox" name="allow_gift_messages" id="allow_gift_messages" value="1" data-selector='{"id":"#allow-gift-message-container"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+            <label for="allow_gift_messages"><?php echo __('Add gift options.') ?></label>
+        </p>
+    </div>
+    <div class="gift-messages-form" id="allow-gift-message-container">
+        <div class="inner-box">
+            <?php if ($this->isMessagesAvailable()): ?>
+                <h4><?php echo __('Gift Options for the Entire Order'); ?></h4>
+                <p>
+                    <input type="checkbox" name="allow_gift_messages_for_order" id="allow_gift_messages_for_order" value="1" data-selector='{"id":"#allow-gift-messages-for-order-container"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_messages_for_order"><?php echo __('Add gift options for the Entire Order') ?></label>
+                </p>
+                <div class="allow-gift-messages-for-order-container" id="allow-gift-messages-for-order-container" style="display:none">
+                    <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message for the whole order.') ?></p>
+                    <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]"  value="quote" />
+                    <ul class="form-list">
+                        <li class="fields">
+                            <div class="field">
+                                <label for="gift-message-whole-from"><?php echo __('From') ?></label>
+                                <div class="input-box">
+                                    <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">
+                                <label for="gift-message-whole-to"><?php echo __('To') ?></label>
+                                <div class="input-box">
+                                    <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>
+                        </li>
+                        <li class="wide">
+                            <label for="gift-message-whole-message"><?php echo __('Message') ?></label>
+                            <div class="input-box">
+                                <textarea id="gift-message-whole-message" class="input-text giftmessage-area" 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>
+                        </li>
+                    </ul>
+                </div>
+             <?php endif; ?>
+             <?php if($this->isItemsAvailable()): ?>
+                 <h4><?php echo __('Gift Options for Individual Items'); ?></h4>
+                 <p>
+                    <input type="checkbox" name="allow_gift_messages_for_items" id="allow_gift_messages_for_items" value="1" data-selector='{"id":"#allow-gift-messages-for-items-container"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_messages_for_items"><?php echo __('Add gift options for Individual Items') ?></label>
+                </p>
+                <div id="allow-gift-messages-for-items-container">
+                 <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message to this item.') ?></p>
+                 <ol>
+                 <?php foreach($this->getItems() as $_index=>$_item): ?>
+                 <?php $_product=$_item->getProduct() ?>
+                 <li class="item">
+                     <div class="product-img-box">
+                         <p class="product-image">
+                             <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()) ?>" />
+                         </p>
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                     </div>
+                     <div class="details">
+                         <div class="f-fix">
+                             <h5 class="product-name"><?php echo $this->escapeHtml($_product->getName()) ?></h5>
+                             <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_item" />
+                              <ul class="form-list">
+                                 <li class="fields">
+                                     <div class="field">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-from"><?php echo __('From') ?></label>
+                                         <div class="input-box">
+                                             <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">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-to"><?php echo __('To') ?></label>
+                                         <div class="input-box">
+                                             <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>
+                                 </li>
+                                 <li class="wide">
+                                     <label for="gift-message-<?php echo $_item->getId() ?>-message"><?php echo __('Message') ?></label>
+                                     <div class="input-box">
+                                         <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>
+                                 </li>
+                             </ul>
+                         </div>
+                     </div>
+                 </li>
+                 <?php endforeach; ?>
+             </ol>
+             </div>
+             <?php endif; ?>
+        </div>
+    </div>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+            jQuery('#allow_gift_messages')
+                .add('#allow_gift_messages_for_order')
+                .add('#allow_gift_messages_for_items').giftOptions();
+        });
+    </script>
+<?php break; ?>
+<?php case 'multishipping_adress_checkbox': ?>
+
+<?php break; ?>
+<?php case 'multishipping_address': ?>
+    <div class="gift-messages">
+        <h3><?php echo __('Does your order include gift items?'); ?></h3>
+        <p>
+            <input type="checkbox" name="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-message-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif ?> class="checkbox" />
+            <label for="allow_gift_messages_<?php echo $this->getEntity()->getId() ?>"><?php echo __('Add gift options') ?></label>
+        </p>
+    </div>
+    <div class="gift-messages-form" id="allow-gift-message-container-<?php echo $this->getEntity()->getId() ?>">
+        <div class="inner-box">
+            <?php if ($this->isMessagesAvailable()): ?>
+            <h4><?php echo __('Gift Options for this address'); ?></h4>
+            <p>
+                 <input type="checkbox" name="allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                 <label for="allow_gift_messages_for_order"><?php echo __('Add gift options for the Entire Order') ?></label>
+            </p>
+            <div id="allow-gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>">
+                <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message for this address.') ?></p>
+                <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
+                <ul class="form-list">
+                    <li class="fields">
+                        <div class="field">
+                            <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-from"><?php echo __('From') ?></label>
+                            <div class="input-box">
+                                <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">
+                            <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-to"><?php echo __('To') ?></label>
+                            <div class="input-box">
+                                <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>
+                    </li>
+                    <li class="wide">
+                        <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-message"><?php echo __('Message') ?></label>
+                        <div class="input-box">
+                            <textarea id="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="input-text giftmessage-area" 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>
+                    </li>
+                </ul>
+            </div>
+            <?php endif; ?>
+            <?php if($this->isItemsAvailable()): ?>
+            <h4><?php echo __('Gift Options for Individual Items'); ?></h4>
+            <p>
+                <input type="checkbox" name="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-messages-for-items-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                <label for="allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>"><?php echo __('Add gift options for Individual Items') ?></label>
+            </p>
+            <div id="allow-gift-messages-for-items-container-<?php echo $this->getEntity()->getId() ?>">
+             <p><?php echo __('You can leave this box empty if you don\'t want to add a gift message to this item.') ?></p>
+             <ol>
+             <?php foreach($this->getItems() as $_index=>$_item): ?>
+             <?php $_product=$_item->getProduct() ?>
+                 <li class="item">
+                     <div class="product-img-box">
+                         <p class="product-image"><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()) ?>" /></p>
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                     </div>
+                     <div class="details">
+                         <div class="f-fix">
+                             <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()?>" />
+                             <h5 class="product-name"><?php echo $this->escapeHtml($_product->getName()) ?></h5>
+                             <ul class="form-list">
+                                 <li class="fields">
+                                     <div class="field">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-from"><?php echo __('From') ?></label>
+                                         <div class="input-box">
+                                             <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">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-to"><?php echo __('To') ?></label>
+                                         <div class="input-box">
+                                             <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>
+                                 </li>
+                                 <li class="wide">
+                                     <label for="gift-message-<?php echo $_item->getId() ?>-message"><?php echo __('Message') ?></label>
+                                     <div class="input-box">
+                                         <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>
+                                 </li>
+                             </ul>
+                         </div>
+                     </div>
+                 </li>
+             <?php endforeach; ?>
+             </ol>
+            </div>
+            <?php endif; ?>
+        </div>
+    </div>
+    <script type="text/javascript">
+        (function($) {
+            $(function() {
+                head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+                    $('#allow_gift_messages_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_messages_for_order_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_messages_for_items_<?php echo $this->getEntity()->getId() ?>').giftOptions();
+                });
+            });
+        })(jQuery);
+    </script>
+    <?php break; ?>
+<?php endswitch ?>
+<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_backup/Magento_Paypal/hss/review/button.phtml b/app/design/frontend/magento_backup/Magento_Paypal/hss/review/button.phtml
index 19163379e1a..c8781fc4fa7 100644
--- a/app/design/frontend/magento_backup/Magento_Paypal/hss/review/button.phtml
+++ b/app/design/frontend/magento_backup/Magento_Paypal/hss/review/button.phtml
@@ -24,4 +24,4 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<button type="submit" data-role="review-save" title="<?php echo __('Continue') ?>" class="button btn-checkout"><span><span><?php echo __('Continue') ?></span></span></button>
+<button type="submit" data-role="review-save" title="<?php echo __('Continue') ?>" class="button btn-checkout"><span><?php echo __('Continue') ?></span></button>
diff --git a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/checkout_onepage_index.xml
index 3a7af3478c3..9fddb3a4ddb 100644
--- a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/checkout_onepage_index.xml
+++ b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/checkout_onepage_index.xml
@@ -35,6 +35,6 @@
             <argument name="template" xsi:type="string">Magento_Persistent::checkout/onepage/billing.phtml</argument>
         </action>
         <block class="Magento\Persistent\Block\Form\Remember" name="checkout.onepage.billing.persistent.remember.me" as="persistent.remember.me" template="remember_me.phtml"/>
-        <block class="Magento\Core\Block\Template" name="checkout.onepage.billing.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+        <block class="Magento\View\Block\Template" name="checkout.onepage.billing.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceBlock>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_create.xml b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_create.xml
index d750cd77df5..d6684926c37 100644
--- a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_create.xml
+++ b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_create.xml
@@ -29,6 +29,6 @@
             <argument name="template" xsi:type="string">Magento_Persistent::customer/form/register.phtml</argument>
         </action>
         <block class="Magento\Persistent\Block\Form\Remember" name="customer_form_register.persistent.remember.me" as="persistent.remember.me" template="remember_me.phtml"/>
-        <block class="Magento\Core\Block\Template" name="customer_form_register.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+        <block class="Magento\View\Block\Template" name="customer_form_register.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceBlock>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_login.xml b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_login.xml
index 82366aead37..d840de5dc3a 100644
--- a/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_login.xml
+++ b/app/design/frontend/magento_backup/Magento_Persistent/layout/override/customer_account_login.xml
@@ -29,6 +29,6 @@
             <argument name="template" xsi:type="string">Magento_Persistent::customer/form/login.phtml</argument>
         </action>
         <block class="Magento\Persistent\Block\Form\Remember" name="customer_form_login.persistent.remember.me" as="persistent.remember.me" template="remember_me.phtml"/>
-        <block class="Magento\Core\Block\Template" name="customer_form_login.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+        <block class="Magento\View\Block\Template" name="customer_form_login.persistent.remember.me.tooltip" as="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
     </referenceBlock>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Persistent/remember_me_tooltip.phtml b/app/design/frontend/magento_backup/Magento_Persistent/remember_me_tooltip.phtml
index 8bb7fc4eac6..08cf4d99568 100644
--- a/app/design/frontend/magento_backup/Magento_Persistent/remember_me_tooltip.phtml
+++ b/app/design/frontend/magento_backup/Magento_Persistent/remember_me_tooltip.phtml
@@ -29,7 +29,7 @@
  * "Remember Me" popup template (when click on "What's this?")
  *
  */
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\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;">
diff --git a/app/design/frontend/magento_backup/Magento_Sales/layout/override/sales_recurring_profile_view__tabs.xml b/app/design/frontend/magento_backup/Magento_Sales/layout/override/sales_recurring_profile_view__tabs.xml
index da3289c27ba..dae17f6f570 100644
--- a/app/design/frontend/magento_backup/Magento_Sales/layout/override/sales_recurring_profile_view__tabs.xml
+++ b/app/design/frontend/magento_backup/Magento_Sales/layout/override/sales_recurring_profile_view__tabs.xml
@@ -34,7 +34,7 @@
             <action method="setShouldPrepareInfoTabs">
                 <argument name="value" xsi:type="string">1</argument>
             </action>
-            <block class="Magento\Core\Block\Text" as="profile_info" name="sales.recurring.profile.view.tab.profile" group="info_tabs">
+            <block class="Magento\View\Block\Text" as="profile_info" name="sales.recurring.profile.view.tab.profile" group="info_tabs">
                 <action method="setViewLabel">
                     <argument translate="true" name="value" xsi:type="string">Profile Information</argument>
                 </action>
@@ -43,7 +43,7 @@
                 </action>
             </block>
             <!-- not implemented
-            <block class="Magento\Core\Block\Text" as="history" name="sales.recurring.profile.view.tab.history">
+            <block class="Magento\View\Block\Text" as="history" name="sales.recurring.profile.view.tab.history">
                 <action method="addToParentGroup">
                     <argument name="value" xsi:type="string">info_tabs</argument>
                 </action>
@@ -55,7 +55,7 @@
                 </action>
             </block>
             -->
-            <block class="Magento\Core\Block\Text" as="related_orders" name="sales.recurring.profile.view.tab.orders" group="info_tabs">
+            <block class="Magento\View\Block\Text" as="related_orders" name="sales.recurring.profile.view.tab.orders" group="info_tabs">
                 <action method="setViewLabel">
                     <argument translate="true" name="value" xsi:type="string">Related Orders</argument>
                 </action>
@@ -64,7 +64,7 @@
                 </action>
             </block>
             <!-- not implemented
-            <block class="Magento\Core\Block\Text" as="vendor_info" name="sales.recurring.profile.view.tab.vendor">
+            <block class="Magento\View\Block\Text" as="vendor_info" name="sales.recurring.profile.view.tab.vendor">
                 <action method="addToParentGroup">
                     <argument name="value" xsi:type="string">info_tabs</argument>
                 </action>
diff --git a/app/design/frontend/magento_backup/Magento_Sales/recurring/grid.phtml b/app/design/frontend/magento_backup/Magento_Sales/recurring/grid.phtml
index 9202a7a8faa..29dc6a233eb 100644
--- a/app/design/frontend/magento_backup/Magento_Sales/recurring/grid.phtml
+++ b/app/design/frontend/magento_backup/Magento_Sales/recurring/grid.phtml
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php /* @var $this \Magento\Core\Block\Template */?>
+<?php /* @var $this \Magento\View\Block\Template */?>
 <div <?php echo $this->getGridHtmlClass() ? ' class="' . $this->getGridHtmlClass() . '"' : ''?><?php echo $this->getGridHtmlCss() ? ' style="' . $this->getGridHtmlCss() . '"' : ''?>>
 
 <?php if ($caption = $this->getGridCaption()): ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml b/app/design/frontend/magento_backup/Magento_Shipping/layout/base/shipping_tracking_popup.xml
similarity index 68%
rename from app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
rename to app/design/frontend/magento_backup/Magento_Shipping/layout/base/shipping_tracking_popup.xml
index 8b7a2719c6a..75df863046a 100644
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
+++ b/app/design/frontend/magento_backup/Magento_Shipping/layout/base/shipping_tracking_popup.xml
@@ -23,11 +23,13 @@
  * @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>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Shipment Tracking Popup" type="page">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">popup.phtml</argument>
         </action>
     </referenceBlock>
-    <container name="additional.product.info" label="Additional Product Info"/>
+    <referenceContainer name="content">
+        <block class="Magento\Shipping\Block\Tracking\Popup" name="shipping.tracking.popup" template="tracking/popup.phtml"/>
+    </referenceContainer>
 </layout>
diff --git a/app/design/frontend/magento_backup/Magento_Shipping/tracking/popup.phtml b/app/design/frontend/magento_backup/Magento_Shipping/tracking/popup.phtml
new file mode 100644
index 00000000000..66b76bc2434
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Shipping/tracking/popup.phtml
@@ -0,0 +1,177 @@
+<?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\Shipping\Block\Tracking\Popup */ ?>
+<?php $_results = $this->getTrackingInfo(); ?>
+<div class="page-title title-buttons">
+    <h1><?php echo __('Tracking Information'); ?></h1>
+    <button class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo __('Close Window') ?></span></span></button>
+</div>
+<?php if(sizeof($_results)>0): ?>
+<?php foreach($_results as $shipid => $_result): ?>
+    <?php if($shipid): ?>
+    <h2 class="sub-title"><?php echo __('Shipment #').$shipid; ?></h2>
+    <?php endif; ?>
+    <?php if(sizeof($_result)>0): ?>
+        <?php $rowCount = sizeof($_result); $counter = 1; ?>
+        <?php $_id = 0; foreach($_result as $track): ?>
+            <table class="tracking-table-popup data-table" id="tracking-table-popup-<?php echo $_id ?>">
+                <col width="15%" />
+                <col />
+                <tbody>
+                <?php if(is_object($track)): ?>
+                    <tr>
+                        <th class="label"><?php echo __('Tracking Number:'); ?></th>
+                        <td class="value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
+                    </tr>
+                    <?php if ($track->getCarrierTitle()): ?>
+                    <tr>
+                        <th class="label"><?php echo __('Carrier:'); ?></th>
+                        <td class="value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
+                    </tr>
+                    <?php endif; ?>
+                    <?php if($track->getErrorMessage()): ?>
+                    <tr>
+                        <th class="label"><?php echo __('Error:'); ?></th>
+                        <td class="error"><?php echo __('Tracking information is 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="label"><?php echo __('Info:'); ?></th>
+                        <td class="value"><?php echo $track->getTrackSummary(); ?></td>
+                    </tr>
+                    <?php elseif($track->getUrl()): ?>
+                    <tr>
+                        <th class="label"><?php echo __('Track:'); ?></th>
+                        <td class="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="label"><?php echo __('Status:'); ?></th>
+                            <td class="value"><?php echo $track->getStatus(); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getDeliverydate()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Delivered on:'); ?></th>
+                            <td class="value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getSignedby()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Signed by:'); ?></th>
+                            <td class="value"><?php echo $track->getSignedby(); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getDeliveryLocation()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Delivered to:'); ?></th>
+                            <td class="value"><?php echo $track->getDeliveryLocation(); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getShippedDate()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Shipped or billed on:'); ?></th>
+                            <td class="value"><?php echo $track->getShippedDate(); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getService()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Service Type:'); ?></th>
+                            <td class="value"><?php echo $track->getService(); ?></td>
+                        </tr>
+                        <?php endif; ?>
+
+                        <?php if ($track->getWeight()): ?>
+                        <tr>
+                            <th class="label"><?php echo __('Weight:'); ?></th>
+                            <td class="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="label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : __('N/A')); ?>:</th>
+                        <td class="value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
+                    </tr>
+                <?php endif; ?>
+                </tbody>
+            </table>
+            <script type="text/javascript">(function($) {$('#tracking-table-popup-<?php echo $_id++ ?>').decorate('table')})(jQuery)</script>
+            <?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
+                <br />
+                <table class="data-table" id="track-history-table-<?php echo $track->getTracking(); ?>">
+                    <col />
+                    <col width="1" />
+                    <col width="1" />
+                    <col />
+                    <thead>
+                        <tr>
+                            <th><?php echo __('Location') ?></th>
+                            <th><?php echo __('Date') ?></th>
+                            <th><?php echo __('Local Time') ?></th>
+                            <th><?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><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
+                            <td><span class="nobr"><?php echo $_detailDate ?></span></td>
+                            <td><span class="nobr"><?php echo $_detailTime ?></span></td>
+                            <td><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
+                        </tr>
+                   <?php endforeach; ?>
+                   </tbody>
+                </table>
+                <script type="text/javascript">(function($) {$('#track-history-table-<?php echo $track->getTracking(); ?>').decorate('table')})(jQuery)</script>
+            <?php endif; ?>
+            <div class="divider"></div>
+            <?php if($counter!=$rowCount): ?>
+            <?php endif; ?>
+            <?php $counter++; ?>
+        <!--end for each tracking information-->
+        <?php endforeach; ?>
+    <?php else: ?>
+        <p><?php echo __('There is no tracking available for this shipment.'); ?></p>
+    <?php endif; ?>
+
+<?php endforeach; ?>
+<?php else: ?>
+    <p><?php echo __('There is no tracking available.'); ?></p>
+<?php endif; ?>
+<div class="buttons-set">
+    <button type="button" title="<?php echo __('Close Window') ?>" class="button" onclick="window.close(); window.opener.focus();"><span><span><?php echo __('Close Window') ?></span></span></button>
+</div>
diff --git a/app/code/Magento/Widget/view/adminhtml/css/styles.css b/app/design/frontend/magento_backup/Magento_Tax/checkout/discount.phtml
similarity index 95%
rename from app/code/Magento/Widget/view/adminhtml/css/styles.css
rename to app/design/frontend/magento_backup/Magento_Tax/checkout/discount.phtml
index 61c59912295..1752f851ad7 100644
--- a/app/code/Magento/Widget/view/adminhtml/css/styles.css
+++ b/app/design/frontend/magento_backup/Magento_Tax/checkout/discount.phtml
@@ -1,3 +1,4 @@
+<?php
 /**
  * Magento
  *
@@ -22,6 +23,3 @@
  * @copyright   Copyright (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_handle .fragment {
-    color: #e25203;
-}
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml b/app/design/frontend/magento_backup/Magento_Tax/checkout/grandtotal.phtml
similarity index 75%
rename from app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
rename to app/design/frontend/magento_backup/Magento_Tax/checkout/grandtotal.phtml
index b522d286f76..4880152304d 100644
--- a/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
+++ b/app/design/frontend/magento_backup/Magento_Tax/checkout/grandtotal.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -28,29 +29,29 @@
  */
 ?>
 <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <strong><?php echo __('Grand Total Excl. Tax')?></strong>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <strong><?php echo __('Grand Total Incl. Tax')?></strong>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <strong><?php echo $this->getTotal()->getTitle() ?></strong>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
     </td>
 </tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml b/app/design/frontend/magento_backup/Magento_Tax/checkout/shipping.phtml
similarity index 70%
rename from app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
rename to app/design/frontend/magento_backup/Magento_Tax/checkout/shipping.phtml
index 29a032f765e..9ca9c4e6adb 100644
--- a/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
+++ b/app/design/frontend/magento_backup/Magento_Tax/checkout/shipping.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -28,37 +29,37 @@
  */
 ?>
 <?php if ($this->displayBoth()):?>
-<tr class="total shipping excl">
-    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo $this->getExcludeTaxLabel() ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo $this->getIncludeTaxLabel() ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo $this->getTotal()->getTitle() ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo $this->escapeHtml($this->getTotal()->getTitle()) ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
     </td>
 </tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml b/app/design/frontend/magento_backup/Magento_Tax/checkout/subtotal.phtml
similarity index 74%
rename from app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
rename to app/design/frontend/magento_backup/Magento_Tax/checkout/subtotal.phtml
index 7eecfc2657a..bebb5a10887 100644
--- a/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
+++ b/app/design/frontend/magento_backup/Magento_Tax/checkout/subtotal.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -28,28 +29,28 @@
  */
 ?>
 <?php if ($this->displayBoth()):?>
-<tr class="sub total excl">
-    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo __('Subtotal (Excl. Tax)') ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo __('Subtotal (Incl. Tax)') ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?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(); ?>">
+<tr>
+    <td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
         <?php echo $this->getTotal()->getTitle() ?>
     </td>
-    <td style="<?php echo $this->getStyle() ?>" class="amount">
+    <td style="<?php echo $this->getStyle() ?>" class="a-right">
         <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
     </td>
 </tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml b/app/design/frontend/magento_backup/Magento_Tax/checkout/tax.phtml
similarity index 84%
rename from app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
rename to app/design/frontend/magento_backup/Magento_Tax/checkout/tax.phtml
index 7fe118b5710..c00c8d788d3 100644
--- a/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
+++ b/app/design/frontend/magento_backup/Magento_Tax/checkout/tax.phtml
@@ -19,6 +19,7 @@
  * 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)
  */
@@ -61,20 +62,13 @@
         <?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(); ?>">
+<tr <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0): ?> class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')"<?php endif; ?>>
+    <td style="<?php echo $_style ?>" class="a-right" 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>
+    <td style="<?php echo $_style ?>" class="a-right"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_value) ?></td>
 </tr>
diff --git a/app/design/frontend/magento_backup/Magento_Tax/order/tax.phtml b/app/design/frontend/magento_backup/Magento_Tax/order/tax.phtml
new file mode 100644
index 00000000000..e18c5909885
--- /dev/null
+++ b/app/design/frontend/magento_backup/Magento_Tax/order/tax.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
+ * @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();
+    $_source = $this->getSource();
+    $_fullInfo = $_order->getFullTaxInfo();
+    global $taxIter; $taxIter++;
+?>
+<?php  ?>
+
+<?php if ($this->displayFullSummary()): ?>
+<?php $isTop = 1; ?>
+    <?php if ($_fullInfo) foreach ($_fullInfo as $info): ?>
+        <?php if (isset($info['hidden']) && $info['hidden']) continue; ?>
+        <?php
+            $percent    = $info['percent'];
+            $amount     = $info['amount'];
+            $rates      = $info['rates'];
+            $isFirst    = 1;
+        ?>
+        <?php foreach ($rates as $rate): ?>
+        <tr class="summary-details-<?php echo $taxIter; ?> summary-details<?php if ($isTop): echo ' summary-details-first'; endif; ?>"<?php if (!$this->getIsPlaneMode()):?> style="display:none;"<?php endif;?>>
+            <td <?php echo $this->getLabelProperties()?>>
+                <?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 <?php echo $this->getValueProperties()?> rowspan="<?php echo count($rates); ?>">
+                    <?php echo $_order->formatPrice($amount); ?>
+                </td>
+            <?php endif; ?>
+        </tr>
+        <?php $isFirst = 0; ?>
+        <?php $isTop = 0; ?>
+        <?php endforeach; ?>
+    <?php endforeach; ?>
+<?php endif;?>
+
+<?php if ($this->displayFullSummary() && $_fullInfo && !$this->getIsPlaneMode()): ?>
+<tr class="summary-total" onclick="expandDetails(this, '.summary-details-<?php echo $taxIter;?>')">
+<?php elseif ($this->displayFullSummary() && $_fullInfo && $this->getIsPlaneMode()): ?>
+<tr class="show-details">
+<?php else: ?>
+<tr>
+<?php endif; ?>
+    <td <?php echo $this->getLabelProperties()?>>
+        <?php if ($this->displayFullSummary()): ?>
+            <div class="summary-collapse"><?php echo __('Tax'); ?></div>
+        <?php else: ?>
+            <?php echo __('Tax'); ?>
+        <?php endif;?>
+    </td>
+    <td <?php echo $this->getValueProperties()?>><?php echo $_order->formatPrice($_source->getTaxAmount()) ?></td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
index 6268243ca28..f4a769d4752 100644
--- a/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
@@ -26,6 +26,6 @@
 <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"/>
+        <block class="Magento\View\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/base/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/base/catalog_product_view.xml
index 20f6f77bc02..30838b8f2b0 100644
--- a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/base/catalog_product_view.xml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/base/catalog_product_view.xml
@@ -51,7 +51,7 @@
         <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\View\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"/>
@@ -60,7 +60,7 @@
                     <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 class="Magento\View\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"/>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
index 20624b1c511..40da82c16b7 100644
--- a/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
@@ -24,7 +24,7 @@
  */
 ?>
 <?php
-/** @var $this \Magento\Core\Block\Template */
+/** @var $this \Magento\View\Block\Template */
 /** @var $helper \Magento\CatalogSearch\Helper\Data */
 $helper = $this->helper('Magento\CatalogSearch\Helper\Data');
 ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
deleted file mode 100644
index 9bd1430c089..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?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/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
deleted file mode 100644
index 35caee43cee..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?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
deleted file mode 100644
index 32a7bb3c4aa..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
+++ /dev/null
@@ -1,352 +0,0 @@
-<?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/layout/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
index 981ab172354..61b761c8e9f 100644
--- 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
@@ -28,7 +28,7 @@
     <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">
+                <block class="Magento\View\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>
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
deleted file mode 100644
index 9cd39e379f5..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?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/override/base/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_cart_index.xml
deleted file mode 100644
index 36db150feda..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/base/checkout_cart_index.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?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">
-        <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" before="-" 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/multishipping/addresses.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
deleted file mode 100644
index 61e84340c67..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?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">
-                        <div class="control 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}"/>
-                        </div>
-                    </td>
-                    <td class="col address">
-                        <?php if ($_item->getProduct()->getIsVirtual()): ?>
-                            <div class="applicable"><?php echo __('Shipping selection is not applicable.'); ?></div>
-                        <?php else: ?>
-                            <div class="control address">
-                                <?php echo $this->getAddressesHtmlSelect($_item, $_index); ?>
-                            </div>
-                        <?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/billing.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
deleted file mode 100644
index e9e312eb177..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?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
deleted file mode 100644
index 25a6d9d17e6..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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
deleted file mode 100644
index 3b4ffb1fea8..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?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/overview.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
deleted file mode 100644
index 781504d434a..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
+++ /dev/null
@@ -1,186 +0,0 @@
-<?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/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
deleted file mode 100644
index 9725a84bc70..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?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/onepage.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
deleted file mode 100644
index f1b0e3f9486..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?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') ?>'
-                            },
-                            methodDescription : '.items'
-                        });
-                });
-        })(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
deleted file mode 100644
index 5e76f4cd52b..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
+++ /dev/null
@@ -1,212 +0,0 @@
-<?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/login.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
deleted file mode 100644
index a66ba381e91..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
+++ /dev/null
@@ -1,154 +0,0 @@
-<?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/review/info.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
deleted file mode 100644
index 9b8fc74bc43..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
+++ /dev/null
@@ -1,65 +0,0 @@
-\<?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/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
deleted file mode 100644
index 6c183170aee..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?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_Core/template.phtml b/app/design/frontend/magento_plushe/Magento_Core/template.phtml
new file mode 100644
index 00000000000..70aa089bb5c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Core/template.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
+ * @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\View\Block\Template */
+echo $this->getChildHtml('', false);
diff --git a/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml b/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
deleted file mode 100644
index dfb98bdc890..00000000000
--- a/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
+++ /dev/null
@@ -1,301 +0,0 @@
-<?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_Shipping/tracking/popup.phtml b/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
deleted file mode 100644
index c3ca1b35676..00000000000
--- a/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?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/css/styles.css b/app/design/frontend/magento_plushe/css/styles.css
index fde4119c9a9..164b29e1a5f 100644
--- a/app/design/frontend/magento_plushe/css/styles.css
+++ b/app/design/frontend/magento_plushe/css/styles.css
@@ -431,7 +431,7 @@ input[type="button"],
 .popup .actions .action.submit,
 .page.title .action,
 .block.add.review .action.submit,
-.opc.wrapper .form:not(.login) .actions button.action,
+.opc.wrapper .actions button.action,
 .step.login.wrapper button.action:not(.reload),
 .multicheckout .action.continue,
 .multicheckout .action.submit,
@@ -497,7 +497,7 @@ input[type="button"],
 .popup .actions .action.submit,
 .page.title .action,
 .block.add.review .action.submit,
-.opc.wrapper .form:not(.login) .actions button.action,
+.opc.wrapper .actions button.action,
 .step.login.wrapper button.action:not(.reload),
 .multicheckout .action.continue,
 .multicheckout .action.submit,
@@ -589,9 +589,9 @@ input[type="button"]: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,
+.opc.wrapper .actions button.action:focus,
+.opc.wrapper .actions button.action:active,
+.opc.wrapper .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,
@@ -882,7 +882,7 @@ input[type="reset"],
 .popup .actions .action.cancel,
 .page.title .action,
 .block.add.review .action.submit,
-.opc.wrapper .form:not(.login) .actions button.action,
+.opc.wrapper .actions button.action,
 .step.login.wrapper button.action:not(.reload),
 .multicheckout .action.update,
 .multicheckout .action.continue,
@@ -1351,7 +1351,7 @@ textarea:disabled {
 .form.validation .fieldset {
   margin: 20px 0;
 }
-.form.settings .field {
+.form.settings > .field {
   display: inline-block;
   padding-right: 20px;
   vertical-align: top;
@@ -1597,6 +1597,57 @@ textarea:disabled {
   display: block;
   position: absolute;
 }
+/* Field with multiple fields */
+.fields.group {
+  letter-spacing: -0.31em;
+  /* webkit */
+
+  *letter-spacing: normal;
+  /* reset IE < 8 */
+
+  word-spacing: -0.43em;
+  /* IE < 8 && gecko */
+
+  margin-right: -20px;
+}
+.fields.group > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.fields.group .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  vertical-align: top;
+  margin: 0!important;
+}
+.fields.group .field .label {
+  width: auto;
+  float: none;
+  text-align: left;
+  padding-right: 0;
+}
+.fields.group .field .control {
+  float: none;
+  width: auto;
+}
+.fields.group.group-2 .field {
+  width: 50%!important;
+  display: inline-block;
+}
+.fields.group.group-3 .field {
+  width: 33.3%!important;
+  display: inline-block;
+}
+.fields.group.group-4 .field {
+  width: 25%!important;
+  display: inline-block;
+}
+.fields.group.group-5 .field {
+  width: 20%!important;
+  display: inline-block;
+}
 .clearlessgrid1 {
   width: 100%;
 }
@@ -2416,6 +2467,10 @@ ul.messages {
   html.opened {
     overflow: hidden;
   }
+  body {
+    width: 100%;
+    height: 100%;
+  }
   body.opened {
     -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
     position: relative;
@@ -2427,6 +2482,9 @@ ul.messages {
     left: 0;
     -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
     box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
   }
   body.opened .page.wrapper {
     margin-right: -86%;
@@ -3756,7 +3814,7 @@ ul.messages {
 .opc .fieldset {
   margin: 20px 0;
 }
-.opc .fieldset .field {
+.opc .fieldset > .field {
   display: inline-block;
   padding-right: 20px;
   vertical-align: top;
@@ -4122,6 +4180,11 @@ strong {
   list-style-type: none;
   list-style-image: none;
 }
+.hidden,
+.no-display {
+  display: none !important;
+  visibility: hidden;
+}
 /*
     Forms
 -------------------------------------- */
@@ -4129,6 +4192,9 @@ strong {
   content: '*';
   color: #da370a;
 }
+.fields .field {
+  padding-right: 20px;
+}
 /*
     Magento_Page
 -------------------------------------- */
@@ -5194,40 +5260,40 @@ body {
 .opc.wrapper > .opc .section {
   margin-bottom: 4px;
 }
-.opc.wrapper > .opc .section > .step-title {
+.opc.wrapper > .opc .section > .step.title {
   padding: 15px 20px;
   line-height: 1;
   background: #da370a;
   font-size: 22px;
 }
-.opc.wrapper > .opc .section > .step-title h2 {
+.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 {
+.opc.wrapper > .opc .section > .step.title .number {
   display: none;
 }
-.opc.wrapper > .opc .section.active > .step-title {
+.opc.wrapper > .opc .section.active > .step.title {
   background: #f8f8f8;
   margin-bottom: 0;
 }
-.opc.wrapper > .opc .section.active > .step-title h2 {
+.opc.wrapper > .opc .section.active > .step.title h2 {
   color: #675f55;
 }
-.opc.wrapper > .opc .section.allow > .step-title {
+.opc.wrapper > .opc .section.allow > .step.title {
   cursor: pointer;
 }
-.opc.wrapper > .opc .section.allow > .step-title h2:after {
+.opc.wrapper > .opc .section.allow > .step.title h2:after {
   display: block;
 }
-.opc.wrapper > .opc .section > .step {
+.opc.wrapper > .opc .section > .step.content {
   padding: 0 20px 20px;
   background: #f8f8f8;
 }
-.opc.wrapper > .opc .section > .step:before {
+.opc.wrapper > .opc .section > .step.content:before {
   content: '';
   border-top: 3px solid #e5e5e5;
   display: block;
@@ -5239,7 +5305,7 @@ body {
   border: 0;
   position: relative;
 }
-.opc.wrapper .form:not(.login) .fieldset .field {
+.opc.wrapper .form:not(.login) .fieldset > .field {
   display: inline-block;
   padding-right: 20px;
   vertical-align: top;
@@ -5267,26 +5333,6 @@ body {
   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,
@@ -5316,63 +5362,25 @@ body {
   word-spacing: normal;
   color: #da370a;
 }
-.opc.wrapper .form:not(.login) .field.date .nested {
-  display: inline-block;
-  margin-right: 5px;
-}
-.opc.wrapper .form:not(.login) .field.date select {
-  width: auto;
-}
-.opc.wrapper .tooltip {
-  background: #ffffff;
-  border: 1px solid #c2c2c2;
-  display: block;
-  cursor: default;
-  padding: 30px;
-  position: absolute;
-  left: 20px;
-  top: 10px;
-}
-.opc.wrapper .tooltip.hidden {
-  display: none;
-}
-.opc.wrapper .tooltip .action.close {
-  position: absolute;
-  right: 5px;
-  top: 5px;
+.opc.wrapper .actions {
+  *zoom: 1;
+  text-align: right;
 }
-.opc.wrapper .tooltip .action.close span {
-  width: 11px;
-  display: block;
-  line-height: 0;
-  white-space: nowrap;
-  vertical-align: middle;
-  text-align: center;
-  text-indent: -999em;
+.opc.wrapper .actions:before,
+.opc.wrapper .actions:after {
+  content: "";
+  display: table;
 }
-.opc.wrapper .tooltip .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;
+.opc.wrapper .actions:after {
+  clear: both;
 }
-.opc.wrapper .tooltip .action.close span:active {
-  outline: 0;
+.opc.wrapper .actions button.action {
+  float: right;
 }
-.opc.wrapper .tooltip .action.close span:after {
-  text-indent: 0;
-  display: block;
-  margin: 0;
+.opc.wrapper .actions .secondary {
+  padding-top: 10px;
+  clear: right;
+  float: right;
 }
 .opc.wrapper .check.payable {
   margin: 0 0 0 20px;
@@ -5388,15 +5396,24 @@ body {
   padding: 5px 0;
   width: 68%;
 }
-.opc.wrapper .sp-methods .items,
-.opc.wrapper .sp-methods .fieldset.items {
+.opc.wrapper .methods.payment {
+  margin: 15px 0;
+}
+.opc.wrapper .methods.payment .item.content {
+  padding: 0;
+}
+.opc.wrapper .methods.payment .item.content > * {
+  padding: 15px 0;
+}
+.opc.wrapper .methods.payment .items,
+.opc.wrapper .methods.payment .fieldset.items {
   margin: 0 0 0 6px;
 }
-.opc.wrapper .sp-methods .paypal.field.items {
+.opc.wrapper .methods.payment .paypal.field.items {
   padding: 0;
   width: 100%;
 }
-.opc.wrapper .sp-methods .paypal.icon {
+.opc.wrapper .methods.payment .paypal.icon {
   display: inline-block;
   margin-right: 5px;
   vertical-align: middle;
@@ -5418,10 +5435,88 @@ body {
   height: 100%;
   background: rgba(255, 255, 255, 0.1);
 }
-.opc.loading .active .actions .action {
+.opc.loading .active .actions .secondary,
+.opc.loading .active .actions .primary {
   visibility: hidden;
-  width: 1px;
   overflow: hidden;
+  height: 0px;
+}
+.opc.loading .active .actions .load.indicator {
+  margin-top: 0;
+}
+.fieldset.ccard {
+  padding: 20px 0;
+  margin: 20px 0;
+  border: 0;
+  position: relative;
+}
+.fieldset.ccard > .legend {
+  margin: 15px 0;
+}
+.fieldset.ccard > .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.fieldset.ccard .nested .field {
+  width: 100%;
+}
+.fieldset.ccard .actions {
+  margin-right: 30px;
+}
+.fieldset.ccard .field {
+  margin: 0 0 10px;
+}
+.fieldset.ccard .field.logos img {
+  display: inline-block;
+  vertical-align: middle;
+}
+.fieldset.ccard .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset.ccard .field .nested {
+  padding: 0 0 0;
+}
+.fieldset.ccard .field .nested .field {
+  margin: 5px 0;
+}
+.fieldset.ccard .field:not(.choice) .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.fieldset.ccard .field.cvv input.cvv {
+  width: 80px;
+}
+.fieldset.ccard .field.cvv .tooltip {
+  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
+  box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  z-index: 99;
+  width: 500px;
+  height: 250px;
+  position: fixed;
+  float: left;
+  top: 50%;
+  left: 50%;
+  padding: 25px;
+  text-align: center;
+  margin: -125px 0 0 -250px;
+  background-color: #ffffff;
+  border: 1px solid #e5e5e5;
+}
+.fieldset.ccard .field.cvv .tooltip:before {
+  content: '';
+  position: fixed;
+  z-index: -1;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: rgba(255, 255, 255, 0.15);
 }
 /*
     Load Indicator
@@ -5523,7 +5618,7 @@ body {
     Step Review
 -------------------------------------- */
 .checkout.submit.order .actions {
-  margin-top: 15px;
+  margin-top: 20px;
   *zoom: 1;
 }
 .checkout.submit.order .actions:before,
@@ -5538,6 +5633,7 @@ body {
   float: right;
 }
 .checkout.submit.order .actions .secondary {
+  clear: none;
   float: left;
   line-height: 32px;
 }
@@ -5569,6 +5665,23 @@ body {
   text-align: left;
   padding-left: 20px;
 }
+.checkout.agreements {
+  margin: 10px 0;
+}
+.checkout.agreements .item {
+  margin: 0 0 10px;
+}
+.checkout.agreements .item:last-child {
+  margin: 0;
+}
+.checkout.agreements .agreement {
+  background-color: #f8f8f8;
+  border: 1px solid #e5e5e5;
+  font-size: 11px;
+  overflow: auto;
+  margin: 0 0 10px;
+  padding: 15px;
+}
 /*
     Magento_Checkout
     Multishipping
@@ -5717,27 +5830,6 @@ body {
 .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;
@@ -5917,9 +6009,8 @@ body {
   -webkit-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
-  border: 1px solid #e5e5e5;
-  height: 310px;
-  overflow: auto;
+  background: #e5e5e5;
+  margin: 0 -20px;
   padding: 20px;
 }
 .gift.message dt {
@@ -5943,34 +6034,6 @@ body {
   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;
@@ -5978,18 +6041,6 @@ body {
 .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%;
 }
@@ -6072,17 +6123,6 @@ body {
   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
@@ -6227,6 +6267,9 @@ body {
   margin: 0 0 10px 10px;
   padding: 0;
 }
+.items.data .item.options dd em:after {
+  content: ':';
+}
 .cart.table.wrapper {
   float: left;
   width: 665px;
@@ -6932,14 +6975,13 @@ body {
   font-size: 12px;
 }
 .block.minicart .products.minilist .item .product.options.wrapper + .action.edit {
-  margin-right: 8px;
+  margin-right: 16px;
 }
 .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;
@@ -9726,18 +9768,18 @@ img[align="right"] {
   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,
-.form.send.confirmation .fieldset .field {
+.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,
+.form.send.confirmation .fieldset > .field {
   display: inline-block;
   padding-right: 20px;
   vertical-align: top;
@@ -11344,6 +11386,10 @@ img[align="right"] {
   content: "";
   display: none;
 }
+.data.table th,
+.data.table td {
+  border-right-width: 0;
+}
 .data.table.order {
   margin-bottom: 45px;
   width: 100%;
@@ -11434,7 +11480,7 @@ img[align="right"] {
 .billing.agreements .data.table {
   margin-bottom: 40px;
 }
-.billing.agreements .form.new.agreement .field {
+.billing.agreements .form.new.agreement > .field {
   display: inline-block;
   padding-right: 20px;
   vertical-align: top;
@@ -12772,10 +12818,11 @@ img[align="right"] {
     display: none;
   }
   .opc.wrapper .load.indicator {
-    left: 0;
-    position: absolute;
-    top: 10px;
-    width: 100%;
+    /*            left: 0;
+              position: absolute;
+              top: 10px;
+              width: 100%;*/
+  
   }
   .block.progress.onepage {
     background: #f8f8f8;
@@ -13459,7 +13506,7 @@ img[align="right"] {
   /*
       My Account -> Billing agreements
       -------------------------------------- */
-  .billing.agreements .form.new.agreement .field {
+  .billing.agreements .form.new.agreement > .field {
     display: inline-block;
     padding-right: 20px;
     vertical-align: top;
diff --git a/app/design/frontend/magento_plushe/less/lib/forms.less b/app/design/frontend/magento_plushe/less/lib/forms.less
index e31ebb390cc..18723a86f7b 100644
--- a/app/design/frontend/magento_plushe/less/lib/forms.less
+++ b/app/design/frontend/magento_plushe/less/lib/forms.less
@@ -156,7 +156,7 @@
 }
 
 .formCols(@fieldWidth : 50%) {
-    .field {
+    > .field {
         display: inline-block;
         padding-right: 20px;
         vertical-align: top;
@@ -916,4 +916,40 @@ textarea {
         display: block;
         position: absolute;
     }
-}
\ No newline at end of file
+}
+
+/* Field with multiple fields */
+
+.fields.group {
+    letter-spacing: -0.31em; /* webkit */
+    *letter-spacing: normal; /* reset IE < 8 */
+    word-spacing: -0.43em; /* IE < 8 && gecko */
+    margin-right: -20px;
+    & > * {
+        letter-spacing: normal;
+        word-spacing: normal;
+    }
+    .field {
+        .box-sizing();
+        vertical-align:top;
+        margin:0!important;
+        .label { width:auto; float:none; text-align: left; padding-right:0; }
+        .control { float:none; width:auto; }
+    }
+    &.group-2 .field {
+        width:50%!important;
+        display:inline-block;
+    }
+    &.group-3 .field {
+        width:33.3%!important;
+        display:inline-block;
+    }
+    &.group-4 .field {
+        width:25%!important;
+        display:inline-block;
+    }
+    &.group-5 .field {
+        width:20%!important;
+        display:inline-block;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/navigation.less b/app/design/frontend/magento_plushe/less/lib/navigation.less
index 6b1bd5ccd97..2fc4100e991 100644
--- a/app/design/frontend/magento_plushe/less/lib/navigation.less
+++ b/app/design/frontend/magento_plushe/less/lib/navigation.less
@@ -446,6 +446,8 @@
     }
 
     body {
+        width: 100%;
+        height: 100%;
         &.opened {
             -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
             position: relative;
@@ -457,6 +459,7 @@
                 left: 0;
                 -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
                 box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
+                .transition(left .3s ease-out 0);
             }
             .page.wrapper {
                 margin-right: -86%;
diff --git a/app/design/frontend/magento_plushe/less/responsive/responsive.less b/app/design/frontend/magento_plushe/less/responsive/responsive.less
index 15ace45ff25..e38d75756ff 100644
--- a/app/design/frontend/magento_plushe/less/responsive/responsive.less
+++ b/app/design/frontend/magento_plushe/less/responsive/responsive.less
@@ -1126,10 +1126,10 @@ and (max-width : @breakPoint1) {
 
         // Load indicator
         .load.indicator {
-            left: 0;
+/*            left: 0;
             position: absolute;
             top: 10px;
-            width: 100%;
+            width: 100%;*/
         }
     }
 
diff --git a/app/design/frontend/magento_plushe/less/styles.less b/app/design/frontend/magento_plushe/less/styles.less
index 6fe0c23a23c..c50ba837fef 100644
--- a/app/design/frontend/magento_plushe/less/styles.less
+++ b/app/design/frontend/magento_plushe/less/styles.less
@@ -45,6 +45,11 @@ strong {
     .resetList();
 }
 
+.hidden,
+.no-display {
+    .hidden();
+}
+
 /*
     Forms
 -------------------------------------- */
@@ -52,6 +57,9 @@ strong {
     content: '*';
     color: @requiredField;
 }
+.fields .field {
+    padding-right: 20px;
+}
 
 /*
     Magento_Page
@@ -857,7 +865,7 @@ body {
         .resetList();
         .section {
             margin-bottom: 4px;
-            > .step-title {
+            > .step.title {
                 padding: 15px 20px;
                 line-height: 1;
                 background: @secondary1;
@@ -874,7 +882,7 @@ body {
                 }
             }
             &.active {
-                > .step-title {
+                > .step.title {
                     background: @primary1;
                     margin-bottom: 0;
                     h2 {
@@ -882,13 +890,13 @@ body {
                     }
                 }
             }
-            &.allow > .step-title {
+            &.allow > .step.title {
                 cursor: pointer;
                 h2:after {
                     display: block;
                 }
             }
-            > .step {
+            > .step.content {
                 padding: 0 20px 20px;
                 background: @primary1;
                 &:before {
@@ -917,19 +925,6 @@ body {
                 }
             }
         }
-        .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,
@@ -959,36 +954,18 @@ body {
             word-spacing: normal;
             color: @secondary1;
         }
-        .field.date {
-            .nested {
-                display: inline-block;
-                margin-right: 5px;
-            }
-            select {
-                width: auto;
-            }
-        }
     }
-    .tooltip {
-        background: @primary7;
-        border: 1px solid @primary3;
-        display: block;
-        cursor: default;
-        padding: 30px;
-        position: absolute;
-        left: 20px;
-        top: 10px;
-        &.hidden {
-            display: none;
+    .actions {
+        .clearfix();
+        text-align: right;
+        button.action {
+            float: right;
+            &:extend(.primary.action all);
         }
-        .action.close {
-            position: absolute;
-            right: 5px;
-            top: 5px;
-            span {
-                .iconAfter(@content: @icon-close-thick, @size: 11px, @font: 'icons');
-                .iconHideText(11px);
-            }
+        .secondary {
+            padding-top: 10px;
+            clear: right;
+            float: right;
         }
     }
     .check.payable {
@@ -1005,7 +982,14 @@ body {
             width: 68%;
         }
     }
-    .sp-methods {
+    .methods.payment {
+        margin:15px 0;
+        .item.content {
+            padding:0;
+            & > * {
+                padding:15px 0;
+            }
+        }
         .items,
         .fieldset.items {
             margin: 0 0 0 6px;
@@ -1039,10 +1023,68 @@ body {
         height: 100%;
         background: rgba(255, 255, 255, 0.1);
     }
-    .actions .action {
+    .actions .secondary,
+    .actions .primary {
         visibility: hidden;
-        width: 1px;
         overflow: hidden;
+        height:0px;
+    }
+    .actions .load.indicator {
+        margin-top:0;
+    }
+}
+
+.fieldset.ccard {
+    > .legend {
+        margin:15px 0;
+    }
+    .formCols();
+    padding: 20px 0;
+    margin: 20px 0;
+    border: 0;
+    position: relative;
+}
+.fieldset.ccard .field {
+    &.logos {
+        img {
+            display: inline-block;
+            vertical-align: middle;
+        }
+    }
+    .fieldStyle();
+    &:not(.choice) {
+        .label {
+            display: block;
+            padding-bottom: 5px;
+        }
+    }
+    &.cvv {
+        input.cvv { width:80px; }
+        .tooltip {
+            .box-shadow(0 0 3px rgba(0,0,0,0.25));
+            background: @primary7;
+            border: 1px solid @primary3;
+            z-index: 99;
+            width:500px;
+            height:250px;
+            position: fixed;
+            float:left;
+            top:50%;
+            left:50%;
+            padding:25px;
+            text-align: center;
+            margin:-125px 0 0 -250px;
+            background-color:@pageMainBg;
+            border:1px solid @primary2;
+            &:before {
+                content:'';
+                position: fixed;
+                z-index: -1;
+                display: block;
+                top:0; left: 0; right:0; bottom: 0;
+                background-color:fade(@pageMainBg, 15%);
+            }
+        }
     }
 }
 
@@ -1133,12 +1175,13 @@ body {
 -------------------------------------- */
 .checkout.submit.order {
     .actions {
-        margin-top: 15px;
+        margin-top: 20px;
         .clearfix();
         .primary {
             float: right;
         }
         .secondary {
+            clear:none;
             float: left;
             line-height: 32px;
         }
@@ -1179,6 +1222,24 @@ body {
     }
 }
 
+.checkout.agreements {
+    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;
+    }
+}
+
 /*
     Magento_Checkout
     Multishipping
@@ -1303,24 +1364,6 @@ body {
                 }
             }
         }
-        .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;
@@ -1537,11 +1580,11 @@ body {
     }
     .block.items {
         .box-sizing();
-        border: 1px solid @primary2;
-        height: 310px;
-        overflow: auto;
+        background: @primary2;
+        margin:0 -20px;
+        //height: 310px;
+        //overflow: auto;
         padding: 20px;
-
     }
     dt {
         margin: 30px 0 0;
@@ -1564,30 +1607,6 @@ body {
         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;
@@ -1597,20 +1616,7 @@ body {
             }
         }
     }
-    .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%;
         }
@@ -1683,17 +1689,6 @@ body {
         }
     }
 }
-.data.table .gift.wrapping {
-    font-size: 13px;
-    margin: 0;
-    dt {
-        font-weight: 600;
-        margin: 5px 0 0;
-    }
-    dd {
-        margin: 0 0 5px;
-    }
-}
 
 /*
     Magento_Checkout
@@ -1838,6 +1833,9 @@ body {
             font-weight: @baseFontWeightLighter;
             margin: 0 0 10px 10px;
             padding: 0;
+            em:after {
+                content:':';
+            }
         }
 
     }
@@ -2490,13 +2488,12 @@ body {
                 font-size: @baseFontSizeMiddle;
             }
             .product.options.wrapper + .action.edit {
-                margin-right:8px;
+                margin-right:16px;
                 &:before {
                     content: '|';
                     display: inline-block;
                     text-decoration: none;
                     padding: 0 8px;
-                    margin-right:-16px;
                 }
                 &:hover:before {
                     color: @primary6;
@@ -5343,6 +5340,11 @@ img[align="right"] {
     }
 }
 
+.data.table {
+    th, td {
+        border-right-width:0;
+    }
+}
 .data.table.order {
     margin-bottom: 45px;
     width: 100%;
diff --git a/app/etc/di.xml b/app/etc/di.xml
index cbf5699e2b3..fb25f549097 100644
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -36,7 +36,7 @@
     <preference for="Magento\App\Cache\TypeListInterface" type="Magento\App\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\View\DesignInterface" type="Magento\Core\Model\View\Design" />
+    <preference for="Magento\View\DesignInterface" type="Magento\Core\Model\View\Design\Proxy" />
     <preference for="Magento\View\Design\ThemeInterface" type="Magento\Core\Model\Theme" />
     <preference for="Magento\View\ConfigInterface" type="Magento\View\Config" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Core\Model\Locale" />
@@ -58,12 +58,27 @@
     <preference for="Magento\App\Resource\ConfigInterface" type="Magento\App\Resource\Config\Proxy" />
     <preference for="Magento\App\Cache\State\OptionsInterface" type="Magento\Core\Model\Resource\Cache" />
     <preference for="Magento\Oauth\OauthInterface" type="Magento\Oauth\Oauth"/>
+    <preference for="Magento\View\Design\Theme\Domain\PhysicalInterface" type="Magento\Core\Model\Theme\Domain\Physical" />
+    <preference for="Magento\View\Design\Theme\Domain\VirtualInterface" type="Magento\Core\Model\Theme\Domain\Virtual" />
+    <preference for="Magento\View\Design\Theme\Domain\StagingInterface" type="Magento\Core\Model\Theme\Domain\Staging" />
     <type name="Magento\View\BlockPool" shared="false" />
+    <type name="Magento\App\Request\Http">
+        <param name="pathInfoProcessor">
+            <instance type="Magento\Core\App\Request\PathInfoProcessor\Proxy" />
+        </param>
+    </type>
     <preference for="Magento\Error\HandlerInterface" type="Magento\App\Error\Handler" />
     <preference for="Magento\Module\Output\ConfigInterface" type="Magento\Core\Model\Module\Output\Config" />
     <preference for="Magento\View\Design\Theme\CustomizationInterface" type="Magento\View\Design\Theme\Customization" />
     <preference for="Magento\Image\Adapter\ConfigInterface" type="Magento\Core\Model\Image\Adapter\Config" />
     <preference for="Magento\View\Design\Theme\Image\PathInterface" type="Magento\Core\Model\Theme\Image\Path" />
+    <preference for="Magento\TranslateInterface" type="Magento\Core\Model\Translate" />
+    <preference for="Magento\Config\ScopeListInterface" type="interceptionConfigScope" />
+    <virtualType name="interceptionConfigScope" type="Magento\Config\Scope">
+        <param name="defaultScope">
+            <value>global</value>
+        </param>
+    </virtualType>
     <type name="Magento\App\State">
         <param name="installDate">
             <value type="argument">Magento\App\State::PARAM_INSTALL_DATE</value>
diff --git a/dev/tests/integration/framework/Magento/TestFramework/App/State.php b/dev/tests/integration/framework/Magento/TestFramework/App/State.php
index 8f2fd38b318..eb86a656890 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/App/State.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/App/State.php
@@ -37,7 +37,7 @@ class State extends \Magento\App\State
      */
     public function getAreaCode()
     {
-        return $this->_areaCode;;
+        return $this->_areaCode;
     }
 
     /**
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Interception/PluginList.php b/dev/tests/integration/framework/Magento/TestFramework/Interception/PluginList.php
new file mode 100644
index 00000000000..50aa310c4e6
--- /dev/null
+++ b/dev/tests/integration/framework/Magento/TestFramework/Interception/PluginList.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\TestFramework\Interception;
+
+class PluginList extends \Magento\Interception\PluginList\PluginList
+{
+    /**
+     * @var array
+     */
+    protected $_originScopeScheme = array();
+
+    /**
+     * @param \Magento\Config\ReaderInterface $reader
+     * @param \Magento\Config\ScopeInterface $configScope
+     * @param \Magento\Config\CacheInterface $cache
+     * @param \Magento\ObjectManager\Relations $relations
+     * @param \Magento\ObjectManager\Config $omConfig
+     * @param \Magento\Interception\Definition $definitions
+     * @param array $scopePriorityScheme
+     * @param \Magento\ObjectManager\Definition\Compiled $classDefinitions
+     * @param string $cacheId
+     */
+    public function __construct(
+        \Magento\Config\ReaderInterface $reader,
+        \Magento\Config\ScopeInterface $configScope,
+        \Magento\Config\CacheInterface $cache,
+        \Magento\ObjectManager\Relations $relations,
+        \Magento\ObjectManager\Config $omConfig,
+        \Magento\Interception\Definition $definitions,
+        array $scopePriorityScheme,
+        \Magento\ObjectManager\Definition\Compiled $classDefinitions = null,
+        $cacheId = 'plugins'
+    ) {
+        parent::__construct($reader, $configScope, $cache, $relations, $omConfig,
+            $definitions, $scopePriorityScheme, $classDefinitions, $cacheId);
+        $this->_originScopeScheme = $this->_scopePriorityScheme;
+    }
+
+    /**
+     * Reset internal cache
+     */
+    public function reset()
+    {
+        $this->_scopePriorityScheme = $this->_originScopeScheme;
+        $this->_data = array();
+        $this->_loadedScopes = array();
+    }
+} 
\ No newline at end of file
diff --git a/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php b/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
index 36c179929c2..500805dd68b 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/ObjectManager.php
@@ -51,10 +51,16 @@ class ObjectManager extends \Magento\App\ObjectManager
         }
 
         \Magento\Core\Model\Config\Base::destroy();
-        $sharedInstances = array('Magento\ObjectManager' => $this, 'Magento\App\ObjectManager' => $this);
+        $sharedInstances = array(
+            'Magento\ObjectManager' => $this, 'Magento\App\ObjectManager' => $this
+        );
         if (isset($this->_sharedInstances['Magento\App\Resource'])) {
             $sharedInstances['Magento\App\Resource'] = $this->_sharedInstances['Magento\App\Resource'];
         }
+
+        if (isset($this->_sharedInstances['Magento\Config\Scope'])) {
+            $sharedInstances['Magento\Config\Scope'] = $this->_sharedInstances['Magento\Config\Scope'];
+        }
         $this->_sharedInstances = $sharedInstances;
         $this->_config->clean();
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/ObjectManagerFactory.php b/dev/tests/integration/framework/Magento/TestFramework/ObjectManagerFactory.php
index d557af477e6..ec9ea2a26b6 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/ObjectManagerFactory.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/ObjectManagerFactory.php
@@ -47,6 +47,11 @@ class ObjectManagerFactory extends \Magento\App\ObjectManagerFactory
      */
     protected $_primaryConfigData = null;
 
+    /**
+     * @var \Magento\TestFramework\Interception\PluginList
+     */
+    protected $_pluginList = null;
+
     /**
      * Restore locator instance
      *
@@ -65,6 +70,8 @@ class ObjectManagerFactory extends \Magento\App\ObjectManagerFactory
 
         \Magento\TestFramework\ObjectManager::setInstance($objectManager);
 
+        $this->_pluginList->reset();
+
         $objectManager->configure($this->_primaryConfigData);
         $objectManager->addSharedInstance($directories, 'Magento\App\Dir');
         $objectManager->configure(array(
@@ -113,4 +120,31 @@ class ObjectManagerFactory extends \Magento\App\ObjectManagerFactory
         }
         return $this->_primaryConfigData;
     }
+
+    /**
+     * Create plugin list object
+     *
+     * @param \Magento\ObjectManager $locator
+     * @param \Magento\ObjectManager\Relations $relations
+     * @param \Magento\ObjectManager\DefinitionFactory $definitionFactory
+     * @param \Magento\ObjectManager\Config\Config $diConfig
+     * @param \Magento\ObjectManager\Definition $definitions
+     * @return \Magento\Interception\PluginList\PluginList
+     */
+    protected function _createPluginList(
+        \Magento\ObjectManager $locator,
+        \Magento\ObjectManager\Relations $relations,
+        \Magento\ObjectManager\DefinitionFactory $definitionFactory,
+        \Magento\ObjectManager\Config\Config $diConfig,
+        \Magento\ObjectManager\Definition $definitions
+    ) {
+        $locator->configure(array('preferences' =>
+            array('Magento\Interception\PluginList\PluginList' => 'Magento\TestFramework\Interception\PluginList')
+        ));
+        $this->_pluginList = parent::_createPluginList(
+            $locator, $relations, $definitionFactory, $diConfig, $definitions
+        );
+        return $this->_pluginList;
+    }
+
 }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
index b7fce6df776..e5d8c02f7e2 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
@@ -97,7 +97,7 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     {
         if ($this->_assertSessionErrors) {
             // equalTo() is intentionally used instead of isEmpty() to provide the informative diff
-            $this->assertSessionMessages($this->equalTo(array()), \Magento\Core\Model\Message::ERROR);
+            $this->assertSessionMessages($this->equalTo(array()), \Magento\Message\Factory::ERROR);
         }
     }
 
@@ -143,7 +143,7 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
      */
     public function assert404NotFound()
     {
-        $this->assertEquals('noRoute', $this->getRequest()->getActionName());
+        $this->assertEquals('noroute', $this->getRequest()->getControllerName());
         $this->assertContains('404 Not Found', $this->getResponse()->getBody());
     }
 
@@ -198,12 +198,12 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     /**
      * Assert that actual session messages meet expectations:
      * Usage examples:
-     * $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+     * $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
      * $this->assertSessionMessages($this->equalTo(array('Entity has been saved.')),
-     * \Magento\Core\Model\Message::SUCCESS);
+     * \Magento\Message\Factory::SUCCESS);
      *
      * @param \PHPUnit_Framework_Constraint $constraint Constraint to compare actual messages against
-     * @param string|null $messageType Message type filter, one of the constants \Magento\Core\Model\Message::*
+     * @param string|null $messageType Message type filter, one of the constants \Magento\Message\Factory::*
      * @param string $sessionModel Class of the session model that manages messages
      */
     public function assertSessionMessages(
@@ -213,7 +213,7 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
         /** @var $session \Magento\Core\Model\Session\AbstractSession */
         $session = $this->_objectManager->get($sessionModel);
         $actualMessages = array();
-        /** @var $message \Magento\Core\Model\Message\AbstractMessage */
+        /** @var $message \Magento\Message\AbstractMessage */
         foreach ($session->getMessages()->getItems($messageType) as $message) {
             $actualMessages[] = $message->getText();
         }
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 ad10cd15d2f..62997c8abc9 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
@@ -49,8 +49,8 @@ class CookieTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false),
             new \Magento\TestFramework\Request(
                 $this->getMock('\Magento\App\Route\ConfigInterface'),
-                'http://example.com',
-                $this->getMock('Magento\App\Request\PathInfoProcessorInterface')
+                $this->getMock('Magento\App\Request\PathInfoProcessorInterface'),
+                'http://example.com'
             ),
             new \Magento\TestFramework\Response(
                 $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)
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 a6d9fa065cc..6ae043e4a1c 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,7 +37,8 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_model = new \Magento\TestFramework\Request(
-            $this->getMock('Magento\App\Route\ConfigInterface', array(), array(), '', false)
+            $this->getMock('Magento\App\Route\ConfigInterface', array(), array(), '', false),
+            $this->getMock('Magento\App\Request\PathInfoProcessorInterface', array(), array(), '', 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 b726dbefec9..79704a1a073 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
@@ -37,16 +37,17 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
     protected function setUp()
     {
         // emulate session messages
-        $messagesCollection = new \Magento\Core\Model\Message\Collection();
+        $messagesCollection = new \Magento\Message\Collection();
         $messagesCollection
-            ->add(new \Magento\Core\Model\Message\Warning('some_warning'))
-            ->add(new \Magento\Core\Model\Message\Error('error_one'))
-            ->add(new \Magento\Core\Model\Message\Error('error_two'))
-            ->add(new \Magento\Core\Model\Message\Notice('some_notice'))
+            ->add(new \Magento\Message\Warning('some_warning'))
+            ->add(new \Magento\Message\Error('error_one'))
+            ->add(new \Magento\Message\Error('error_two'))
+            ->add(new \Magento\Message\Notice('some_notice'))
         ;
         $session = new \Magento\Object(array('messages' => $messagesCollection));
         $request = new \Magento\TestFramework\Request(
-            $this->getMock('\Magento\App\Route\ConfigInterface', array(), array(), '', false)
+            $this->getMock('\Magento\App\Route\ConfigInterface', array(), array(), '', false),
+            $this->getMock('Magento\App\Request\PathInfoProcessorInterface', array(), array(), '', false)
         );
         $response = new \Magento\TestFramework\Response();
 
@@ -94,7 +95,7 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
      */
     public function testAssert404NotFound()
     {
-        $this->getRequest()->setActionName('noRoute');
+        $this->getRequest()->setControllerName('noroute');
         $this->getResponse()->setBody(
             '404 Not Found test <h3>We are sorry, but the page you are looking for cannot be found.</h3>'
         );
@@ -154,7 +155,7 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
     {
         return array(
             'no message type filtering' => array(array('some_warning', 'error_one', 'error_two', 'some_notice'), null),
-            'message type filtering'    => array(array('error_one', 'error_two'), \Magento\Core\Model\Message::ERROR),
+            'message type filtering'    => array(array('error_one', 'error_two'), \Magento\Message\Factory::ERROR),
         );
     }
 
diff --git a/dev/tests/integration/phpunit.xml.dist b/dev/tests/integration/phpunit.xml.dist
index b4517d85707..665146b3c0f 100644
--- a/dev/tests/integration/phpunit.xml.dist
+++ b/dev/tests/integration/phpunit.xml.dist
@@ -75,7 +75,7 @@
         <!-- Metrics for Bamboo Profiler Output in PHP file that returns array -->
         <!--<const name="TESTS_BAMBOO_PROFILER_METRICS_FILE" value="../../build/profiler_metrics.php"/>-->
         <!-- Magento mode for tests execution. Possible values are "default", "developer" and "production". -->
-        <!--<const name="TESTS_MAGENTO_MODE" value="default"/>-->
+        <const name="TESTS_MAGENTO_MODE" value="developer"/>
         <!-- Connection parameters for MongoDB library tests -->
         <!--<const name="MONGODB_CONNECTION_STRING" value="mongodb://localhost:27017"/>-->
         <!--<const name="MONGODB_DATABASE_NAME" value="magento_integration_tests"/>-->
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 85bdb121a2f..15a98eea39f 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
@@ -38,8 +38,8 @@ class SubscriberTest extends \PHPUnit_Framework_TestCase
         $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 */
-        $childBlock = $layout->addBlock('Magento\Core\Block\Template', 'grid', 'block');
+        /** @var $childBlock \Magento\View\Block\Template */
+        $childBlock = $layout->addBlock('Magento\View\Block\Template', 'grid', 'block');
 
         $expected = 'test_data';
         $this->assertNotEquals($expected, $block->getShowQueueAdd());
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 b6fb60bcc8b..0e0e6b03072 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
@@ -41,13 +41,13 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
         /** @var $block \Magento\Adminhtml\Block\Widget\Form\Container */
         $block = $this->getMock('Magento\Adminhtml\Block\Widget\Form\Container', array('_prepareLayout'),
             array(
-                $objectManager->create('Magento\Core\Helper\Data'),
                 $objectManager->create('Magento\Backend\Block\Template\Context'),
+                $objectManager->create('Magento\Core\Helper\Data'),
             )
         );
 
         $layout->addBlock($block, 'block');
-        $form = $layout->addBlock('Magento\Core\Block\Text', 'form', 'block');
+        $form = $layout->addBlock('Magento\View\Block\Text', 'form', 'block');
 
         $expectedHtml = '<b>html</b>';
         $this->assertNotEquals($expectedHtml, $block->getFormHtml());
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 2bed5b20805..bdfc76be3fa 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
@@ -38,7 +38,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $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');
+        $expected = $layout->addBlock('Magento\View\Block\Template', 'additional_action', 'block');
         $this->assertSame($expected, $block->getAdditionalActionBlock());
     }
 }
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 40e2e428d4b..f3bd2e29252 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
@@ -38,7 +38,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $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');
+        $child = $layout->addBlock('Magento\View\Block\Template', 'massaction', 'block');
         $this->assertSame($child, $block->getMassactionBlock());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/CacheTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/CacheTest.php
index 19fd31bbbdf..bd1f9102e7b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/CacheTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/CacheTest.php
@@ -174,7 +174,7 @@ class CacheTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/cache/' . $action);
         $this->assertSessionMessages(
             $this->contains("Specified cache type(s) don't exist: invalid_type_1, invalid_type_2"),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterQueueTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterQueueTest.php
index ccd72b23071..89c3d5bf586 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterQueueTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterQueueTest.php
@@ -71,13 +71,13 @@ class NewsletterQueueTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
 
         /**
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The newsletter queue has been saved.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('The newsletter queue has been saved.')), \Magento\Message\Factory::SUCCESS
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterTemplateTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterTemplateTest.php
index 74ff9121b0f..fe8d41fd44a 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterTemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/NewsletterTemplateTest.php
@@ -72,12 +72,12 @@ class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
         /**
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The newsletter template has been saved.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('The newsletter template has been saved.')), \Magento\Message\Factory::SUCCESS
         );
     }
 
@@ -94,13 +94,13 @@ class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
 
         /**
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The newsletter template has been saved.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('The newsletter template has been saved.')), \Magento\Message\Factory::SUCCESS
         );
     }
 
@@ -121,12 +121,12 @@ class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Message\Factory::ERROR);
 
         /**
          * Check that success message is not set
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::SUCCESS);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::SUCCESS);
     }
 
     /**
@@ -142,13 +142,13 @@ class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
 
         /**
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The newsletter template has been deleted.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('The newsletter template has been deleted.')), \Magento\Message\Factory::SUCCESS
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
index ae6a6e862ac..84790e1e7f5 100644
--- a/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
+++ b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
@@ -48,23 +48,6 @@ class FrontControllerTest extends \PHPUnit_Framework_TestCase
         $this->_model = $this->_objectManager->create('Magento\App\FrontController');
     }
 
-    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()) {
@@ -75,8 +58,6 @@ class FrontControllerTest extends \PHPUnit_Framework_TestCase
         $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());
+        $this->assertEmpty($this->_model->dispatch($request)->getBody());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php
similarity index 97%
rename from dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
rename to dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php
index 144358a0e02..7b125d83149 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php
@@ -22,7 +22,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Backend\Controller;
+namespace Magento\Backend\App;
 
 /**
  * Test class for \Magento\Backend\Controller\AbstractAction.
@@ -50,7 +50,6 @@ class AbstractActionTest extends \Magento\Backend\Utility\Controller
     /**
      * Check login redirection
      *
-     * @covers \Magento\Backend\Controller\AbstractAction::_initAuthentication
      * @magentoDbIsolation enabled
      */
     public function testInitAuthentication()
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 136949b2229..ca2e56e43f7 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
@@ -78,8 +78,8 @@ class FormTest extends \PHPUnit_Framework_TestCase
         /** @var $block \Magento\Backend\Block\System\Config\Form */
         $block = $layout->createBlock('Magento\Backend\Block\System\Config\Form', 'block');
 
-        /** @var $childBlock \Magento\Core\Block\Text */
-        $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'element_dependence', 'block');
+        /** @var $childBlock \Magento\View\Block\Text */
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'element_dependence', 'block');
 
         $expectedValue = 'dependence_html_relations';
         $this->assertNotContains($expectedValue, $block->toHtml());
@@ -258,15 +258,6 @@ class FormTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->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\App\Request\Http'),
-                'response' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\App')->getResponse()
-            )
-        );
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('section', 'general');
         /** @var $block \Magento\Backend\Block\System\Config\Form */
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 e8df531d5da..b1a1059d4d6 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
@@ -62,7 +62,7 @@ class ColumnSetTest extends \PHPUnit_Framework_TestCase
         ));
 
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Block\Template\Context', array('layout' => $this->_layoutMock));
+            ->create('Magento\View\Block\Template\Context', array('layout' => $this->_layoutMock));
         $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/GridTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
index 2ad1ec80e84..6755bdcac10 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -87,12 +87,12 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected function _getColumnSetMock()
     {
         return $this->getMock('Magento\Backend\Block\Widget\Grid\ColumnSet', array(), array(
-            $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Block\Template\Context', array(
-                'dirs' => new \Magento\App\Dir(__DIR__),
-                'filesystem' => new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local),
-            )),
+                ->create('Magento\View\Block\Template\Context', array(
+                    'dirs' => new \Magento\App\Dir(__DIR__),
+                    'filesystem' => new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local),
+                )),
+            $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->create('Magento\Backend\Model\Widget\Grid\Row\UrlGeneratorFactory'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php
index aa6e5bc4379..a5d4d98a96d 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php
@@ -33,33 +33,19 @@ namespace Magento\Backend\Controller\Adminhtml;
  *
  * @magentoAppArea adminhtml
  */
-class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
+class IndexTest extends \Magento\Backend\Utility\Controller
 {
     /**
-     * @var \Magento\Backend\Model\Auth
+     * @covers \Magento\Backend\Controller\Adminhtml\Index::globalSearchAction
      */
-    protected $_auth;
-
-    /**
-     * Performs user login
-     */
-    protected  function _login()
+    public function testGlobalSearchAction()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Backend\Model\Url')
-            ->turnOffSecretKey();
-        $this->_auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Backend\Model\Auth');
-        $this->_auth->login(
-            \Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
-    }
+        $this->getRequest()->setParam('isAjax', 'true');
+        $this->getRequest()->setPost('query', 'dummy');
+        $this->dispatch('backend/admin/index/globalSearch');
 
-    /**
-     * Performs user logout
-     */
-    protected function _logout()
-    {
-        $this->_auth->logout();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Backend\Model\Url')->turnOnSecretKey();
+        $actual = $this->getResponse()->getBody();
+        $this->assertEquals(array(), json_decode($actual));
     }
 
     /**
@@ -68,6 +54,7 @@ class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     public function testNotLoggedIndexAction()
     {
+        $this->_auth->logout();
         $this->dispatch('backend/admin/index/index');
         $this->assertFalse($this->getResponse()->isRedirect());
 
@@ -83,9 +70,7 @@ class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     public function testLoggedIndexAction()
     {
-        $this->_login();
         $this->dispatch('backend/admin/index/index');
         $this->assertRedirect();
-        $this->_logout();
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php
index ccd6839cefc..3fafa903eac 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php
@@ -33,7 +33,7 @@ namespace Magento\Backend\Controller\Adminhtml\System;
 class DesignTest extends \Magento\Backend\Utility\Controller
 {
     /**
-     * @covers \Magento\Backend\Controller\Adminhtml\Action::_addLeft
+     * @covers \Magento\Backend\App\Action::_addLeft
      */
     public function testEditAction()
     {
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/VariableTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/VariableTest.php
index 6bbb5070461..709979ee42b 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/VariableTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/VariableTest.php
@@ -33,7 +33,7 @@ namespace Magento\Backend\Controller\Adminhtml\System;
 class VariableTest extends \Magento\Backend\Utility\Controller
 {
     /**
-     * @covers \Magento\Backend\Controller\Adminhtml\Action::_addLeft
+     * @covers \Magento\Backend\App\Action::_addLeft
      */
     public function testEditAction()
     {
diff --git a/dev/tests/integration/testsuite/Magento/Captcha/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/Captcha/Model/ObserverTest.php
index 2d400efa86a..0d7446806d5 100644
--- a/dev/tests/integration/testsuite/Magento/Captcha/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Captcha/Model/ObserverTest.php
@@ -119,7 +119,7 @@ class ObserverTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->getRequest()->setPost(array('email'   => 'dummy@dummy.com', 'captcha' => '1234'));
         $this->dispatch('backend/admin/auth/forgotpassword');
         $this->assertSessionMessages(
-            $this->equalTo(array('Incorrect CAPTCHA')), \Magento\Core\Model\Message::ERROR,
+            $this->equalTo(array('Incorrect CAPTCHA')), \Magento\Message\Factory::ERROR,
             'Magento\Backend\Model\Session'
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/AddTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/AddTest.php
index 35600bf3f9e..9d361167fa0 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/AddTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/AddTest.php
@@ -41,7 +41,7 @@ class AddTest extends \PHPUnit_Framework_TestCase
             'block');
         $block->setArea('adminhtml')->unsetChild('setForm');
 
-        $childBlock = $layout->addBlock('Magento\Core\Block\Template', 'setForm', 'block');
+        $childBlock = $layout->addBlock('Magento\View\Block\Template', 'setForm', 'block');
         $form = new \Magento\Object();
         $childBlock->setForm($form);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
index 405a9c458a3..b643a33212f 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
@@ -44,7 +44,7 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
             ->register('current_product', \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product')->load(1));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text', 'head');
+            ->createBlock('Magento\View\Block\Text', 'head');
         /** @var $usedAttribute \Magento\Catalog\Model\Entity\Attribute */
         $usedAttribute = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Catalog\Model\Entity\Attribute')->loadByCode(
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php
index 08e26287253..2f61f44383f 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php
@@ -57,7 +57,7 @@ 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\View\LayoutInterface')->createBlock('Magento\Core\Block\Text', 'head');
+        $objectManager->get('Magento\View\LayoutInterface')->createBlock('Magento\View\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(),
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/TabsTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/TabsTest.php
index 1e52d510c42..c933d3fb364 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/TabsTest.php
@@ -50,7 +50,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\App\State')->setAreaCode('nonexisting');
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = $objectManager->get('Magento\View\LayoutInterface');
-        $layout->addBlock('Magento\Core\Block\Text', 'head');
+        $layout->addBlock('Magento\View\Block\Text', 'head');
         /** @var $block \Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs */
         $block = $layout->createBlock('Magento\Catalog\Block\Adminhtml\Product\Edit\Tabs');
         $this->assertArrayHasKey(0, $block->getTabsIds());
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 2d907c48d0b..8d26cb49102 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
@@ -98,7 +98,7 @@ class ListTest extends \PHPUnit_Framework_TestCase
         $layout = $this->_getLayout();
         /** @var $parent \Magento\Catalog\Block\Product\ListProduct */
         $parent = $layout->createBlock('Magento\Catalog\Block\Product\ListProduct');
-        $childBlock = $layout->createBlock('Magento\Core\Block\Text', 'test', array('data' => array('text' => 'test')));
+        $childBlock = $layout->createBlock('Magento\View\Block\Text', 'test', array('data' => array('text' => 'test')));
         $layout->setChild($parent->getNameInLayout(), $childBlock->getNameInLayout(), 'additional');
         $this->assertEquals('test', $parent->getAdditionalHtml());
     }
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 1b40e69e5ea..e76bd562098 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
@@ -49,7 +49,8 @@ class CrosssellTest extends \PHPUnit_Framework_TestCase
             ->createBlock('Magento\Catalog\Block\Product\ProductList\Crosssell');
         $block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->get('Magento\View\LayoutInterface'));
-        $block->setTemplate('Magento_Checkout::cart/crosssell.phtml');
+        $block->setTemplate('Magento_Catalog::product/list/items.phtml');
+        $block->setType('crosssell');
         $block->setItemCount(1);
 
         $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 be90d2fdb80..a85e6bb3ab7 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
@@ -35,8 +35,8 @@ class ToolbarTest extends \PHPUnit_Framework_TestCase
         $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 */
-        $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'product_list_toolbar_pager', 'block');
+        /** @var $childBlock \Magento\View\Block\Text */
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'product_list_toolbar_pager', 'block');
 
         $expectedHtml = '<b>Any text there</b>';
         $this->assertNotEquals($expectedHtml, $block->getPagerHtml());
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 1658e0dd36c..d5b05edbee9 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
@@ -36,13 +36,13 @@ class AdditionalTest extends \PHPUnit_Framework_TestCase
         /** @var $block \Magento\Catalog\Block\Product\View\Additional */
         $block = $layout->createBlock('Magento\Catalog\Block\Product\View\Additional', 'block');
 
-        /** @var $childFirst \Magento\Core\Block\Text */
-        $childFirst = $layout->addBlock('Magento\Core\Block\Text', 'child1', 'block');
+        /** @var $childFirst \Magento\View\Block\Text */
+        $childFirst = $layout->addBlock('Magento\View\Block\Text', 'child1', 'block');
         $htmlFirst = '<b>Any html of child1</b>';
         $childFirst->setText($htmlFirst);
 
-        /** @var $childSecond \Magento\Core\Block\Text */
-        $childSecond = $layout->addBlock('Magento\Core\Block\Text', 'child2', 'block');
+        /** @var $childSecond \Magento\View\Block\Text */
+        $childSecond = $layout->addBlock('Magento\View\Block\Text', 'child2', 'block');
         $htmlSecond = '<b>Any html of child2</b>';
         $childSecond->setText($htmlSecond);
 
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 79845640ec6..daabbdfccd3 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
@@ -58,7 +58,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
-        $headBlock = $layout->createBlock('Magento\Core\Block\Template', 'head');
+        $headBlock = $layout->createBlock('Magento\View\Block\Template', 'head');
         $layout->addBlock($this->_block);
 
         $this->assertNotEmpty($headBlock->getTitle());
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php
index e066593db4d..e1234f7e37d 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php
@@ -54,7 +54,7 @@ class CategoryTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/catalog/category/save');
 
         $this->assertSessionMessages(
-            $this->equalTo(array('You saved the category.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('You saved the category.')), \Magento\Message\Factory::SUCCESS
         );
 
         /** @var $category \Magento\Catalog\Model\Category */
@@ -305,7 +305,7 @@ class CategoryTest extends \Magento\Backend\Utility\Controller
         ));
         $this->dispatch('backend/catalog/category/save');
         $this->assertSessionMessages(
-            $this->equalTo(array('Unable to save the category')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('Unable to save the category')), \Magento\Message\Factory::ERROR
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php
index 22880b178c8..4d97a63d5bf 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php
@@ -80,7 +80,7 @@ class ProductTest extends \Magento\Backend\Utility\Controller
         ));
         $this->dispatch('backend/catalog/product/save');
         $this->assertSessionMessages(
-            $this->equalTo(array('Unable to save product')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('Unable to save product')), \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('/backend/catalog/product/edit'));
     }
@@ -94,7 +94,7 @@ class ProductTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/catalog/product/save/id/1');
         $this->assertRedirect($this->stringStartsWith('http://localhost/index.php/backend/catalog/product/new/'));
         $this->assertSessionMessages(
-            $this->contains('You saved the product.'), \Magento\Core\Model\Message::SUCCESS
+            $this->contains('You saved the product.'), \Magento\Message\Factory::SUCCESS
         );
     }
 
@@ -112,10 +112,10 @@ class ProductTest extends \Magento\Backend\Utility\Controller
             $this->stringStartsWith('http://localhost/index.php/backend/catalog/product/edit/id/1/')
         ));
         $this->assertSessionMessages(
-            $this->contains('You saved the product.'), \Magento\Core\Model\Message::SUCCESS
+            $this->contains('You saved the product.'), \Magento\Message\Factory::SUCCESS
         );
         $this->assertSessionMessages(
-            $this->contains('You duplicated the product.'), \Magento\Core\Model\Message::SUCCESS
+            $this->contains('You duplicated the product.'), \Magento\Message\Factory::SUCCESS
         );
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php
index 811f23658c1..9266e5c55ba 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Product/CompareTest.php
@@ -40,7 +40,7 @@ class CompareTest extends \Magento\TestFramework\TestCase\AbstractController
 
         /** @var $session \Magento\Catalog\Model\Session */
         $session = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Catalog\Model\Session');
-        $this->assertInstanceOf('Magento\Core\Model\Message\Success', $session->getMessages()->getLastAddedMessage());
+        $this->assertInstanceOf('Magento\Message\Success', $session->getMessages()->getLastAddedMessage());
         $this->assertContains('Simple Product 1 Name',
             (string)$session->getMessages()->getLastAddedMessage()->getText());
 
@@ -68,7 +68,7 @@ class CompareTest extends \Magento\TestFramework\TestCase\AbstractController
 
         /** @var $session \Magento\Catalog\Model\Session */
         $session = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Catalog\Model\Session');
-        $this->assertInstanceOf('Magento\Core\Model\Message\Success', $session->getMessages()->getLastAddedMessage());
+        $this->assertInstanceOf('Magento\Message\Success', $session->getMessages()->getLastAddedMessage());
         $this->assertContains('Simple Product 2 Name',
             (string)$session->getMessages()->getLastAddedMessage()->getText());
 
@@ -108,7 +108,7 @@ class CompareTest extends \Magento\TestFramework\TestCase\AbstractController
 
         /** @var $session \Magento\Catalog\Model\Session */
         $session = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Catalog\Model\Session');
-        $this->assertInstanceOf('Magento\Core\Model\Message\Success', $session->getMessages()->getLastAddedMessage());
+        $this->assertInstanceOf('Magento\Message\Success', $session->getMessages()->getLastAddedMessage());
 
         $this->assertRedirect();
 
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 7cd53a74488..2ac45f964bf 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
@@ -44,6 +44,11 @@ class ViewTest extends \PHPUnit_Framework_TestCase
      */
     protected $_controller;
 
+    /**
+     * @var \Magento\View\LayoutInterface
+     */
+    protected $_layout;
+
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
@@ -52,7 +57,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
             ->setDefaultDesignTheme();
         $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Catalog\Helper\Product\View');
-        $request = $objectManager->create('Magento\TestFramework\Request');
+        $request = $objectManager->get('Magento\TestFramework\Request');
         $request->setRouteName('catalog')
             ->setControllerName('product')
             ->setActionName('view');
@@ -62,13 +67,16 @@ class ViewTest extends \PHPUnit_Framework_TestCase
                 ->get('Magento\TestFramework\Response'),
         );
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
+            ->create('Magento\App\Action\Context', $arguments);
         $this->_controller = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
             'Magento\Catalog\Controller\Product',
             array(
                 'context'  => $context,
             )
         );
+
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
     }
 
     /**
@@ -98,10 +106,10 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
 
         $this->_helper->initProductLayout($product, $this->_controller);
-        $rootBlock = $this->_controller->getLayout()->getBlock('root');
+        $rootBlock = $this->_layout->getBlock('root');
         $this->assertInstanceOf('Magento\Page\Block\Html', $rootBlock);
         $this->assertContains("product-{$uniqid}", $rootBlock->getBodyClass());
-        $handles = $this->_controller->getLayout()->getUpdate()->getHandles();
+        $handles = $this->_layout->getUpdate()->getHandles();
         $this->assertContains('catalog_product_view_type_simple', $handles);
     }
 
@@ -128,13 +136,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     public function testPrepareAndRenderWrongController()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $controller = $objectManager->create(
-            'Magento\Core\Controller\Front\Action',
-            array(
-                'request'  => $objectManager->get('Magento\TestFramework\Request'),
-                'response' => $objectManager->get('Magento\TestFramework\Response'),
-            )
-        );
+        $controller = $objectManager->create('Magento\Catalog\Controller\Product');
         $this->_helper->prepareAndRender(10, $controller);
     }
 
@@ -172,14 +174,12 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $this->_helper->prepareAndRender(10, $this->_controller);
 
         // assert messages
-        $actualMessages = $this->_controller->getLayout()
-            ->getMessagesBlock()
-            ->getMessages();
+        $actualMessages = $this->_layout->getMessagesBlock()->getMessages();
         $this->assertSameSize($expectedMessages, $actualMessages);
 
         sort($expectedMessages);
 
-        /** @var $message \Magento\Core\Model\Message\Notice */
+        /** @var $message \Magento\Message\Notice */
         foreach ($actualMessages as $key => $message) {
             $actualMessages[$key] = $message->getText();
         }
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 b1c61b27dc3..48b2e4cb96c 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
@@ -80,7 +80,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text'))
+                ->createBlock('Magento\View\Block\Text'))
         ;
 
         $this->assertEmpty($this->_model->getLayer()->getState()->getFilters());
@@ -96,7 +96,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertNotEmpty($this->_model->getLayer()->getState()->getFilters());
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 ab426da3e14..6f5b0a39c5f 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
@@ -70,7 +70,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $objectManager->get('Magento\TestFramework\Request'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
@@ -85,7 +85,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         /** @var $category \Magento\Catalog\Model\Category */
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 d55907e94ff..0c46998b7b9 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
@@ -72,7 +72,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEmpty($this->_model->getData('range'));
@@ -89,7 +89,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEmpty($this->_model->getData('range'));
@@ -105,7 +105,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEquals(100, $this->_model->getData('range'));
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 18bf376162d..24902a8cf61 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
@@ -76,16 +76,14 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
         $request = $objectManager->get('Magento\TestFramework\Request');
-        $action = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
-            'Magento\Core\Controller\Front\Action',
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
+            'Magento\App\Action\Action',
             array(
                 'request' => $request,
                 'response' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                     ->get('Magento\TestFramework\Response'),
             )
         );
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->getFrontController()
-            ->setAction($action); // done in action's constructor
         $this->assertStringEndsWith('/?cat%5B0%5D=valuePart1&cat%5B1%5D=valuePart2', $this->_model->getUrl());
     }
 
@@ -110,7 +108,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $this->_model->getFilter()->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertStringEndsWith('/x/y/z/?cat=3', $this->_model->getRemoveUrl());
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 188807407e7..94d6c2bf252 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
@@ -68,7 +68,7 @@ class AlgorithmAdvancedTest extends \PHPUnit_Framework_TestCase
             $filter->apply(
                 $request,
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                    ->createBlock('Magento\Core\Block\Text')
+                    ->createBlock('Magento\View\Block\Text')
             );
             $interval = $filter->getInterval();
             if ($interval) {
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 2d8dd7464e5..2b5cd688ff3 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
@@ -105,7 +105,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEmpty($this->_model->getData('price_range'));
@@ -122,7 +122,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEmpty($this->_model->getData('price_range'));
@@ -141,7 +141,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $this->_model->apply(
             $request,
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-                ->createBlock('Magento\Core\Block\Text')
+                ->createBlock('Magento\View\Block\Text')
         );
 
         $this->assertEquals(array(10, 20), $this->_model->getData('interval'));
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 8ece02d3762..8273f564ee6 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
@@ -66,7 +66,7 @@ class ResultTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Catalog\Model\Layer')
             ->setCurrentCategory($category);
 
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'search_result_list', 'block');
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'search_result_list', 'block');
 
         $expectedOptions = array(
             'option1' => 'Label Option 1',
@@ -82,8 +82,8 @@ class ResultTest extends \PHPUnit_Framework_TestCase
      */
     public function testSetListModes()
     {
-        /** @var $childBlock \Magento\Core\Block\Text */
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'search_result_list', 'block');
+        /** @var $childBlock \Magento\View\Block\Text */
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'search_result_list', 'block');
         $this->assertEmpty($childBlock->getModes());
         $this->_block->setListModes();
         $this->assertNotEmpty($childBlock->getModes());
@@ -91,8 +91,8 @@ class ResultTest extends \PHPUnit_Framework_TestCase
 
     public function testSetListCollection()
     {
-        /** @var $childBlock \Magento\Core\Block\Text */
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'search_result_list', 'block');
+        /** @var $childBlock \Magento\View\Block\Text */
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'search_result_list', 'block');
         $this->assertEmpty($childBlock->getCollection());
         $this->_block->setListCollection();
         $this->assertInstanceOf(
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
index 5ced3929b36..71aae82a729 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
@@ -33,10 +33,10 @@ class ResultTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $layout \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
+        $layout->addBlock('Magento\View\Block\Text', 'head'); // The tested block is using head block
         /** @var $block \Magento\CatalogSearch\Block\Result */
         $block = $layout->addBlock('Magento\CatalogSearch\Block\Result', 'block');
-        $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'search_result_list', 'block');
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'search_result_list', 'block');
 
         $this->assertSame($childBlock, $block->getListBlock());
     }
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Helper/DataTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Helper/DataTest.php
index f82c7743863..a34d625c9f9 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Helper/DataTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Helper/DataTest.php
@@ -69,7 +69,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
         /** @var \Magento\CatalogSearch\Helper\Data $catalogSearchHelper */
         $catalogSearchHelper = $this->getMock('Magento\CatalogSearch\Helper\Data', array('getQueryText'), array(
-            $objectManager->get('Magento\Core\Helper\Context'),
+            $objectManager->get('Magento\App\Helper\Context'),
             $objectManager->get('Magento\Stdlib\String'),
             $objectManager->get('Magento\Core\Model\Store\ConfigInterface'),
             $objectManager->get('Magento\CatalogSearch\Model\QueryFactory'),
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
index cb457468f0c..4cfec93d00a 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
@@ -36,9 +36,9 @@ class CartTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $layout \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'));
+        $child = $layout->createBlock('Magento\View\Block\Text')
+            ->setChild('child1', $layout->createBlock('Magento\View\Block\Text', 'method1'))
+            ->setChild('child2', $layout->createBlock('Magento\View\Block\Text', 'method2'));
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart')
             ->setChild('child', $child);
@@ -50,7 +50,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
-        $childEmpty = $layout->createBlock('Magento\Core\Block\Text');
+        $childEmpty = $layout->createBlock('Magento\View\Block\Text');
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart')
             ->setChild('child', $childEmpty);
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 de0357afe63..610ac9efd05 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
@@ -54,7 +54,7 @@ class MethodsTest extends \PHPUnit_Framework_TestCase
         $method = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Payment\Model\Method\Free');
 
-        $block = $this->_block->getLayout()->createBlock('Magento\Core\Block\Text')
+        $block = $this->_block->getLayout()->createBlock('Magento\View\Block\Text')
             ->setMethodTitle($expectedTitle)
             ->setMethodLabelAfterHtml($expectedLabel);
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Controller/CartTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Controller/CartTest.php
index 25af4cba213..a9a707c5407 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Controller/CartTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Controller/CartTest.php
@@ -51,7 +51,7 @@ class CartTest extends \Magento\TestFramework\TestCase\AbstractController
 
         $this->assertSessionMessages(
             $this->isEmpty(),
-            \Magento\Core\Model\Message::ERROR,
+            \Magento\Message\Factory::ERROR,
             'Magento\Checkout\Model\Session'
         );
 
@@ -78,7 +78,7 @@ class CartTest extends \Magento\TestFramework\TestCase\AbstractController
 
         $this->assertSessionMessages(
             $this->isEmpty(),
-            \Magento\Core\Model\Message::ERROR,
+            \Magento\Message\Factory::ERROR,
             'Magento\Checkout\Model\Session'
         );
 
@@ -108,7 +108,7 @@ class CartTest extends \Magento\TestFramework\TestCase\AbstractController
 
         $this->assertSessionMessages(
             $this->isEmpty(),
-            \Magento\Core\Model\Message::ERROR,
+            \Magento\Message\Factory::ERROR,
             'Magento\Checkout\Model\Session'
         );
 
@@ -135,7 +135,7 @@ class CartTest extends \Magento\TestFramework\TestCase\AbstractController
 
         $this->assertSessionMessages(
             $this->isEmpty(),
-            \Magento\Core\Model\Message::ERROR,
+            \Magento\Message\Factory::ERROR,
             'Magento\Checkout\Model\Session'
         );
 
@@ -165,7 +165,7 @@ class CartTest extends \Magento\TestFramework\TestCase\AbstractController
 
         $this->assertSessionMessages(
             $this->isEmpty(),
-            \Magento\Core\Model\Message::ERROR,
+            \Magento\Message\Factory::ERROR,
             'Magento\Checkout\Model\Session'
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Controller/OnepageTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Controller/OnepageTest.php
index acc61a59d2e..daf9a1cae82 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Controller/OnepageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Controller/OnepageTest.php
@@ -50,7 +50,7 @@ class OnepageTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->dispatch('checkout/onepage/index');
         $html = $this->getResponse()->getBody();
         $this->assertContains('<li id="opc-payment"', $html);
-        $this->assertContains('<dl class="sp-methods" id="checkout-payment-method-load">', $html);
+        $this->assertSelectCount('[id="checkout-payment-method-load"]', 1, $html);
         $this->assertSelectCount('form[id="co-billing-form"][action=""]', 1, $html);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
index 7452d870143..14407bfa4c9 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
@@ -39,7 +39,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase
         $this->markTestIncomplete('MAGETWO-3393');
         $this->_model = new \Magento\Cms\Controller\Router(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Controller\Varien\Action\Factory'),
+                ->get('Magento\App\ActionFactory'),
             new \Magento\Event\ManagerInterfaceStub(
                 $this->getMockForAbstractClass('Magento\Event\InvokerInterface'),
                 $this->getMock('Magento\Event\Config', array(), array(), '', false),
@@ -70,7 +70,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase
         //Open Node
         $request->setPathInfo('parent_node');
         $controller = $this->_model->match($request);
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Action\Redirect', $controller);
+        $this->assertInstanceOf('Magento\App\Action\Redirect', $controller);
     }
 }
 
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
index 493db4c80bf..72a6f3e1080 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
@@ -46,14 +46,14 @@ class PageTest extends \PHPUnit_Framework_TestCase
             'response' => $objectManager->get('Magento\TestFramework\Response')
         );
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
+            ->create('Magento\App\Action\Context', $arguments);
         $page = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Cms\Model\Page');
         $page->load('page_design_blank', 'identifier'); // fixture
         /** @var $pageHelper \Magento\Cms\Helper\Page */
         $pageHelper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Cms\Helper\Page');
         $result = $pageHelper->renderPage(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Front\Action', array('context' => $context)),
+            ->create('Magento\App\Action\Action', array('context' => $context)),
             $page->getId()
         );
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/App/Router/BaseTest.php b/dev/tests/integration/testsuite/Magento/Core/App/Router/BaseTest.php
index bd09b17b7d9..1be8b26f82b 100644
--- a/dev/tests/integration/testsuite/Magento/Core/App/Router/BaseTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/App/Router/BaseTest.php
@@ -55,9 +55,9 @@ class BaseTest extends \PHPUnit_Framework_TestCase
         /** @var $request \Magento\TestFramework\Request */
         $request = $objectManager->get('Magento\TestFramework\Request');
 
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Action', $this->_model->match($request));
+        $this->assertInstanceOf('Magento\App\ActionInterface', $this->_model->match($request));
         $request->setRequestUri('core/index/index');
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Action', $this->_model->match($request));
+        $this->assertInstanceOf('Magento\App\ActionInterface', $this->_model->match($request));
 
         $request->setPathInfo('not_exists/not_exists/not_exists')
             ->setModuleName('not_exists')
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
deleted file mode 100644
index 88a17f1d8b0..00000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
+++ /dev/null
@@ -1,373 +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;
-
-/**
- * @magentoAppArea frontend
- */
-class ActionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\Core\Controller\Varien\Action|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_object;
-
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    protected function setUp()
-    {
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-
-        $this->_objectManager->get('Magento\App\State')->setAreaCode(\Magento\Core\Model\App\Area::AREA_FRONTEND);
-        $this->_objectManager->get('Magento\View\DesignInterface')
-            ->setDefaultDesignTheme();
-        /** @var $objectManager \Magento\TestFramework\ObjectManager */
-        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\App\RequestInterface');
-        $arguments = array(
-            'request'  => $request,
-            'response' => $this->_objectManager->get('Magento\TestFramework\Response'),
-        );
-        $this->_objectManager->get('Magento\View\DesignInterface')
-            ->setDefaultDesignTheme();
-        $context = $this->_objectManager->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
-        $this->_object = $this->getMockForAbstractClass(
-            'Magento\Core\Controller\Varien\Action',
-            array('context' => $context)
-        );
-    }
-
-    public function testHasAction()
-    {
-        $this->assertFalse($this->_object->hasAction('test'));
-        $this->assertTrue($this->_object->hasAction('noroute'));
-    }
-
-    public function testGetRequest()
-    {
-        $this->assertInstanceOf('Magento\TestFramework\Request', $this->_object->getRequest());
-    }
-
-    public function testGetResponse()
-    {
-        $this->assertInstanceOf('Magento\TestFramework\Response', $this->_object->getResponse());
-    }
-
-    public function testSetGetFlag()
-    {
-        $this->assertEmpty($this->_object->getFlag(''));
-
-        $this->_object->setFlag('test', 'test_flag', 'test_value');
-        $this->assertFalse($this->_object->getFlag('', 'test_flag'));
-        $this->assertEquals('test_value', $this->_object->getFlag('test', 'test_flag'));
-        $this->assertNotEmpty($this->_object->getFlag(''));
-
-        $this->_object->setFlag('', 'test', 'value');
-        $this->assertEquals('value', $this->_object->getFlag('', 'test'));
-    }
-
-    public function testGetFullActionName()
-    {
-        /* empty request */
-        $this->assertEquals('__', $this->_object->getFullActionName());
-
-        $this->_object->getRequest()->setRouteName('test')
-            ->setControllerName('controller')
-            ->setActionName('action');
-        $this->assertEquals('test/controller/action', $this->_object->getFullActionName('/'));
-    }
-
-    /**
-     * @param string $controllerClass
-     * @param string $expectedArea
-     * @dataProvider controllerAreaDesignDataProvider
-     * @magentoAppIsolation enabled
-     */
-    public function testGetLayout($controllerClass, $expectedArea)
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
-            ->loadArea($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());
-        $this->assertEquals($expectedArea, $controller->getLayout()->getArea());
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @expectedException \RuntimeException
-     * @expectedExceptionMessage Layout must be loaded only once.
-     */
-    public function testLoadLayoutThrowsExceptionWhenCalledTwice()
-    {
-        $this->_object->loadLayout();
-        $this->assertContains('default', $this->_object->getLayout()->getUpdate()->getHandles());
-        $this->assertInstanceOf('Magento\Core\Block\AbstractBlock', $this->_object->getLayout()->getBlock('root'));
-        $this->_object->loadLayout('test');
-    }
-
-    public function testGetDefaultLayoutHandle()
-    {
-        $this->_object->getRequest()
-            ->setRouteName('Test')
-            ->setControllerName('Controller')
-            ->setActionName('Action');
-        $this->assertEquals('test_controller_action', $this->_object->getDefaultLayoutHandle());
-    }
-
-    /**
-     * @param string $route
-     * @param string $controller
-     * @param string $action
-     * @param array $expected
-     * @param array $nonExpected
-     *
-     * @magentoAppIsolation enabled
-     * @dataProvider addActionLayoutHandlesDataProvider
-     */
-    public function testAddActionLayoutHandles($route, $controller, $action, $expected, $nonExpected)
-    {
-        $this->_object->getRequest()
-            ->setRouteName($route)
-            ->setControllerName($controller)
-            ->setActionName($action);
-        $this->_object->addActionLayoutHandles();
-        $handles = $this->_object->getLayout()->getUpdate()->getHandles();
-
-        foreach ($expected as $expectedHandle) {
-            $this->assertContains($expectedHandle, $handles);
-        }
-        foreach ($nonExpected as $nonExpectedHandle) {
-            $this->assertNotContains($nonExpectedHandle, $handles);
-        }
-    }
-
-    /**
-     * @return array
-     */
-    public function addActionLayoutHandlesDataProvider()
-    {
-        return array(
-            array('Test', 'Controller', 'Action', array('test_controller_action'),
-                array(
-                    'STORE_' . \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                        ->get('Magento\Core\Model\StoreManagerInterface')->getStore()->getCode()
-                )
-            ),
-            array('catalog', 'product', 'gallery', array('catalog_product_gallery'),
-                array('default', 'catalog_product_view')
-            )
-        );
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     */
-    public function testAddPageLayoutHandles()
-    {
-        /* @var $update \Magento\Core\Model\Layout\Merge */
-        $update = $this->_object->getLayout()->getUpdate();
-
-        $this->_object->getRequest()->setRouteName('test')
-            ->setControllerName('controller')
-            ->setActionName('action');
-        $result = $this->_object->addPageLayoutHandles();
-        $this->assertFalse($result);
-        $this->assertEmpty($update->getHandles());
-
-        $this->_object->getRequest()->setRouteName('catalog')
-            ->setControllerName('product')
-            ->setActionName('view');
-        $update->addHandle('default');
-        $result = $this->_object->addPageLayoutHandles(array('type' => 'simple'));
-
-        $this->assertTrue($result);
-        $handles = $update->getHandles();
-        $this->assertContains('default', $handles);
-        $this->assertContains('catalog_product_view', $handles);
-        $this->assertContains('catalog_product_view_type_simple', $handles);
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @magentoAppArea frontend
-     */
-    public function testRenderLayout()
-    {
-        $this->_object->loadLayout();
-        $this->assertEmpty($this->_object->getResponse()->getBody());
-        $this->_object->renderLayout();
-        $this->assertNotEmpty($this->_object->getResponse()->getBody());
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     */
-    public function testDispatch()
-    {
-        if (headers_sent()) {
-            $this->markTestSkipped('Can\' dispatch - headers already sent');
-        }
-        /** @var $objectManager \Magento\TestFramework\ObjectManager */
-        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\TestFramework\Request');
-        $request->setDispatched();
-
-        $arguments = array(
-            'request'  => $request,
-            'response' => $this->_objectManager->get('Magento\TestFramework\Response'),
-        );
-        $context = $this->_objectManager->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
-
-        /* Area-specific controller is used because area must be known at the moment of loading the design */
-        $this->_object = $this->_objectManager->create(
-            'Magento\Core\Controller\Front\Action',
-            array('context'  => $context)
-        );
-        $this->_objectManager->get('Magento\Config\ScopeInterface')->setCurrentScope('frontend');
-        $this->_object->dispatch('not_exists');
-
-        $this->assertFalse($request->isDispatched());
-        $this->assertEquals('cms', $request->getModuleName());
-        $this->assertEquals('index', $request->getControllerName());
-        $this->assertEquals('noRoute', $request->getActionName());
-    }
-
-    public function testGetActionMethodName()
-    {
-        $this->assertEquals('testAction', $this->_object->getActionMethodName('test'));
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @magentoAppArea frontend
-     */
-    public function testNoCookiesAction()
-    {
-        $this->assertEmpty($this->_object->getResponse()->getBody());
-        $this->_object->noCookiesAction();
-        $redirect = array(
-            'name' => 'Location',
-            'value' => 'http://localhost/index.php/enable-cookies',
-            'replace' => true,
-        );
-        $this->assertEquals($redirect, $this->_object->getResponse()->getHeader('Location'));
-    }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @dataProvider controllerAreaDesignDataProvider
-     *
-     * @param string $controllerClass
-     * @param string $expectedArea
-     * @param string $expectedStore
-     * @param string $expectedDesign
-     * @param string $context
-     */
-    public function testPreDispatch($controllerClass, $expectedArea, $expectedStore, $expectedDesign, $context)
-    {
-        $themes = array('frontend' => 'magento_blank', 'adminhtml' => 'magento_backend', 'install' => 'magento_basic');
-        $design = $this->_objectManager->create('Magento\Core\Model\View\Design', array('themes' => $themes));
-        $app = $this->_objectManager->create('Magento\Core\Model\App');
-        $this->_objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
-        $this->_objectManager->addSharedInstance($app, 'Magento\Core\Model\App');
-        $this->_objectManager->addSharedInstance($app, 'Magento\TestFramework\App');
-        $app->loadArea($expectedArea);
-
-        /** @var $controller \Magento\Core\Controller\Varien\Action */
-        $context = $this->_objectManager->create($context, array(
-            'response' => $this->_objectManager->get('Magento\TestFramework\Response')
-        ));
-        $controller = $this->_objectManager->create($controllerClass, array('context' => $context));
-        $controller->preDispatch();
-
-        $design = $this->_objectManager->get('Magento\View\DesignInterface');
-
-        $this->assertEquals($expectedArea, $design->getArea());
-        $this->assertEquals($expectedStore, \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\StoreManagerInterface')->getStore()->getCode());
-        if ($expectedDesign) {
-            $this->assertEquals($expectedDesign, $design->getDesignTheme()->getThemePath());
-        }
-    }
-
-    /**
-     * @return array
-     */
-    public function controllerAreaDesignDataProvider()
-    {
-        return array(
-            'install' => array(
-                'Magento\Install\Controller\Action',
-                'install',
-                'default',
-                'magento_basic',
-                'Magento\Core\Controller\Varien\Action\Context'
-            ),
-            'frontend' => array(
-                'Magento\Core\Controller\Front\Action',
-                'frontend',
-                'default',
-                'magento_blank',
-                'Magento\Core\Controller\Varien\Action\Context'
-            ),
-            'backend' => array(
-                'Magento\Backend\Controller\Adminhtml\Action',
-                'adminhtml',
-                'admin',
-                'magento_backend',
-                'Magento\Backend\Controller\Context'
-            ),
-        );
-    }
-
-    /**
-     * @magentoAppArea frontend
-     */
-    public function testNoRouteAction()
-    {
-        $status = 'test';
-        $this->_object->getRequest()->setParam('__status__', $status);
-        $caughtException = false;
-        $message = '';
-        try {
-            $this->_object->norouteAction();
-        } catch (\Exception $e) {
-            $caughtException = true;
-            $message = $e->getMessage();
-        }
-        $this->assertFalse($caughtException, $message);
-    }
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Helper/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Core/Helper/AbstractTest.php
index 8b054883ef3..21dffdba568 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Helper/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Helper/AbstractTest.php
@@ -30,14 +30,14 @@ namespace Magento\Core\Helper;
 class AbstractTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Helper\AbstractHelper|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Helper\AbstractHelper|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_helper = null;
 
     protected function setUp()
     {
-        $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Helper\Context');
-        $this->_helper = $this->getMock('Magento\Core\Helper\AbstractHelper', array('_getModuleName'), array($context));
+        $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Helper\Context');
+        $this->_helper = $this->getMock('Magento\App\Helper\AbstractHelper', array('_getModuleName'), array($context));
         $this->_helper
             ->expects($this->any())
             ->method('_getModuleName')
@@ -46,8 +46,8 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Helper\AbstractHelper::isModuleEnabled
-     * @covers \Magento\Core\Helper\AbstractHelper::isModuleOutputEnabled
+     * @covers \Magento\App\Helper\AbstractHelper::isModuleEnabled
+     * @covers \Magento\App\Helper\AbstractHelper::isModuleOutputEnabled
      */
     public function testIsModuleEnabled()
     {
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
index 5990ba818aa..a76f932b62d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
@@ -134,7 +134,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
     {
         $this->_mageModel->getSafeStore(100);
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Request\Http');
-        $this->assertEquals('noRoute', $request->getActionName());
+        $this->assertEquals('noroute', $request->getActionName());
     }
 
     public function testGetStores()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest/layout_update.xml b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest/layout_update.xml
index 2b41b519e4a..e844109ab93 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest/layout_update.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest/layout_update.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Template" name="block_with_service_calls">
+    <block class="Magento\View\Block\Template" name="block_with_service_calls">
         <data service_call="testServiceCall" alias="testData"/>
     </block>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
index 9d3a7ea2da1..e7cfbed7b7a 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
@@ -58,8 +58,8 @@ class LayoutDirectivesTest extends \PHPUnit_Framework_TestCase
     public function testGetBlockUnscheduled()
     {
         $layout = $this->_getLayoutModel('get_block.xml');
-        $this->assertInstanceOf('Magento\Core\Block\Text', $layout->getBlock('block1'));
-        $this->assertInstanceOf('Magento\Core\Block\Text', $layout->getBlock('block2'));
+        $this->assertInstanceOf('Magento\View\Block\Text', $layout->getBlock('block1'));
+        $this->assertInstanceOf('Magento\View\Block\Text', $layout->getBlock('block2'));
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
index 35bd88830c1..4e1c95ccf30 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
@@ -86,7 +86,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      */
     public function testDestructor()
     {
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'test');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'test');
         $this->assertNotEmpty($this->_layout->getAllBlocks());
         $this->_layout->__destruct();
         $this->assertEmpty($this->_layout->getAllBlocks());
@@ -125,11 +125,11 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         $this->_layout->setXml(simplexml_load_string(
             '<layout>
-                <block class="Magento\Core\Block\Text" name="block1">
-                    <block class="Magento\Core\Block\Text"/>
+                <block class="Magento\View\Block\Text" name="block1">
+                    <block class="Magento\View\Block\Text"/>
                 </block>
-                <block class="Magento\Core\Block\Text" template="test"/>
-                <block class="Magento\Core\Block\Text"/>
+                <block class="Magento\View\Block\Text" template="test"/>
+                <block class="Magento\View\Block\Text"/>
             </layout>',
             'Magento\View\Layout\Element'
         ));
@@ -154,7 +154,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
             $this->_layout->getElementProperty($name, 'type'));
         $this->assertSame(2, $this->_layout->getElementProperty($name, 'option2'));
 
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'text', $name);
+        $this->_layout->addBlock('Magento\View\Block\Text', 'text', $name);
         $this->assertEquals(\Magento\Core\Model\Layout::TYPE_BLOCK, $this->_layout->getElementProperty('text', 'type'));
         $this->assertSame(array('text' => 'text'), $this->_layout->getElementProperty(
             $name, \Magento\Data\Structure::CHILDREN
@@ -169,7 +169,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $this->assertFalse($this->_layout->isBlock('container'));
         $this->assertFalse($this->_layout->isBlock('block'));
         $this->_layout->addContainer('container', 'Container');
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'block');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'block');
         $this->assertFalse($this->_layout->isBlock('container'));
         $this->assertTrue($this->_layout->isBlock('block'));
     }
@@ -177,7 +177,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testSetUnsetBlock()
     {
         $expectedBlockName = 'block_' . __METHOD__;
-        $expectedBlock = $this->_layout->createBlock('Magento\Core\Block\Text');
+        $expectedBlock = $this->_layout->createBlock('Magento\View\Block\Text');
 
         $this->_layout->setBlock($expectedBlockName, $expectedBlock);
         $this->assertSame($expectedBlock, $this->_layout->getBlock($expectedBlockName));
@@ -205,16 +205,16 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'named block' => array(
-                'Magento\Core\Block\Template',
+                'Magento\View\Block\Template',
                 'some_block_name_full_class',
-                array('type' => 'Magento\Core\Block\Template', 'is_anonymous' => false),
+                array('type' => 'Magento\View\Block\Template', 'is_anonymous' => false),
                 '/^some_block_name_full_class$/'
             ),
             'no name block' => array(
-                'Magento\Core\Block\Text\ListText',
+                'Magento\View\Block\Text\ListText',
                 '',
                 array(
-                    'type' => 'Magento\Core\Block\Text\ListText',
+                    'type' => 'Magento\View\Block\Text\ListText',
                     'key1' => 'value1',
                 ),
                 '/text\\\\list/'
@@ -241,9 +241,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
 
     public function testAddBlock()
     {
-        $this->assertInstanceOf('Magento\Core\Block\Text', $this->_layout->addBlock('Magento\Core\Block\Text',
+        $this->assertInstanceOf('Magento\View\Block\Text', $this->_layout->addBlock('Magento\View\Block\Text',
             'block1'));
-        $block2 = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Block\Text');
+        $block2 = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\View\Block\Text');
         $block2->setNameInLayout('block2');
         $this->_layout->addBlock($block2, '', 'block1');
 
@@ -304,7 +304,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testGetChildBlock()
     {
         $this->_layout->addContainer('parent', 'Parent');
-        $block = $this->_layout->addBlock('Magento\Core\Block\Text', 'block', 'parent', 'block_alias');
+        $block = $this->_layout->addBlock('Magento\View\Block\Text', 'block', 'parent', 'block_alias');
         $this->_layout->addContainer('container', 'Container', array(), 'parent', 'container_alias');
         $this->assertSame($block, $this->_layout->getChildBlock('parent', 'block_alias'));
         $this->assertFalse($this->_layout->getChildBlock('parent', 'container_alias'));
@@ -363,9 +363,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testGetChildBlocks()
     {
         $this->_layout->addContainer('parent', 'Parent');
-        $block1 = $this->_layout->addBlock('Magento\Core\Block\Text', 'block1', 'parent');
+        $block1 = $this->_layout->addBlock('Magento\View\Block\Text', 'block1', 'parent');
         $this->_layout->addContainer('container', 'Container', array(), 'parent');
-        $block2 = $this->_layout->addBlock('Magento\Core\Block\Template', 'block2', 'parent');
+        $block2 = $this->_layout->addBlock('Magento\View\Block\Template', 'block2', 'parent');
         $this->assertSame(array('block1' => $block1, 'block2' => $block2), $this->_layout->getChildBlocks('parent'));
     }
 
@@ -384,7 +384,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         $block = 'block';
         $container = 'container';
-        $this->_layout->addBlock('Magento\Core\Block\Text', $block);
+        $this->_layout->addBlock('Magento\View\Block\Text', $block);
         $this->_layout->addContainer($container, 'Container');
         $this->assertFalse($this->_layout->isContainer($block));
         $this->assertTrue($this->_layout->isContainer($container));
@@ -393,13 +393,13 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
 
     public function testIsManipulationAllowed()
     {
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'block1');
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'block2', 'block1');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'block1');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'block2', 'block1');
         $this->assertFalse($this->_layout->isManipulationAllowed('block1'));
         $this->assertFalse($this->_layout->isManipulationAllowed('block2'));
 
         $this->_layout->addContainer('container1', 'Container 1');
-        $this->_layout->addBlock('Magento\Core\Block\Text', 'block3', 'container1');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'block3', 'container1');
         $this->_layout->addContainer('container2', 'Container 2', array(), 'container1');
         $this->assertFalse($this->_layout->isManipulationAllowed('container1'));
         $this->assertTrue($this->_layout->isManipulationAllowed('block3'));
@@ -412,7 +412,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $expBlockName = 'block_renamed';
         $containerName = 'container';
         $expContainerName = 'container_renamed';
-        $block = $this->_layout->createBlock('Magento\Core\Block\Text', $blockName);
+        $block = $this->_layout->createBlock('Magento\View\Block\Text', $blockName);
         $this->_layout->addContainer($containerName, 'Container');
 
         $this->assertEquals($block, $this->_layout->getBlock($blockName));
@@ -428,7 +428,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertFalse($this->_layout->getBlock('test'));
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
         $this->_layout->setBlock('test', $block);
         $this->assertSame($block, $this->_layout->getBlock('test'));
     }
@@ -462,7 +462,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $blockName = 'block_' . __METHOD__;
         $expectedText = "some_text_for_$blockName";
 
-        $block = $this->_layout->addBlock('Magento\Core\Block\Text', $blockName);
+        $block = $this->_layout->addBlock('Magento\View\Block\Text', $blockName);
         $block->setText($expectedText);
 
         $this->_layout->addOutputElement($blockName);
@@ -476,14 +476,14 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
 
     public function testGetMessagesBlock()
     {
-        $this->assertInstanceOf('Magento\Core\Block\Messages', $this->_layout->getMessagesBlock());
+        $this->assertInstanceOf('Magento\View\Block\Messages', $this->_layout->getMessagesBlock());
     }
 
     public function testGetBlockSingleton()
     {
-        $block = $this->_layout->getBlockSingleton('Magento\Core\Block\Text');
-        $this->assertInstanceOf('Magento\Core\Block\Text', $block);
-        $this->assertSame($block, $this->_layout->getBlockSingleton('Magento\Core\Block\Text'));
+        $block = $this->_layout->getBlockSingleton('Magento\View\Block\Text');
+        $this->assertInstanceOf('Magento\View\Block\Text', $block);
+        $this->assertSame($block, $this->_layout->getBlockSingleton('Magento\View\Block\Text'));
     }
 
     public function testUpdateContainerAttributes()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
index 84b745c48b2..500aa52a910 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
@@ -56,7 +56,6 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             'registry'                => $objectManager->get('Magento\Core\Model\Registry'),
             'configCacheType'         => $objectManager->get('Magento\App\Cache\Type\Config'),
             'url'                     => $objectManager->get('Magento\Core\Model\Url'),
-            '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\App\Dir'),
@@ -377,7 +376,8 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($isInstalled));
 
         $params = $this->_modelParams;
-        $params['appState'] = $appStateMock;
+        $params['context'] = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\Core\Model\Context', array('appState' => $appStateMock));
 
         $model = $this->getMock('Magento\Core\Model\Store', array('getConfig'), $params);
 
@@ -385,7 +385,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             ->with($this->stringContains(\Magento\Core\Model\Store::XML_PATH_STORE_IN_URL))
             ->will($this->returnValue($storeInUrl));
         $model->setStoreId($storeId);
-        $this->assertEquals($model->isUseStoreInUrl(), $expectedResult);
+        $this->assertEquals($expectedResult, $model->isUseStoreInUrl());
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TemplateTest.php
index 1c193d63599..fba431f12f7 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/TemplateTest.php
@@ -37,7 +37,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     {
         // \Magento\Core\Model\Template is an abstract class
         $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template');
+            ->create('Magento\Email\Model\Template');
         $model->setDesignConfig($config);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
index f5c37ecbd70..404cd1e8dc7 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
@@ -104,7 +104,7 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
             ->method('getDesignTheme')
             ->will($this->returnValue($theme));
 
-        $objectManager->addSharedInstance($this->_designModel, 'Magento\Core\Model\View\Design');
+        $objectManager->addSharedInstance($this->_designModel, 'Magento\Core\Model\View\Design\Proxy');
 
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Translate');
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_cache_test_theme/layout_test_handle.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_cache_test_theme/layout_test_handle.xml
index 883b198a235..28e08efbb6d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_cache_test_theme/layout_test_handle.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_cache_test_theme/layout_test_handle.xml
@@ -27,7 +27,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
-    <block class="Magento\Core\Block\Text" name="sample_text_block">
+    <block class="Magento\View\Block\Text" name="sample_text_block">
         <action method="setText">
             <argument name="text" xsi:type="string">Text declared in the frontend/test/cache_test_theme</argument>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_main.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_main.xml
index 3718fafe8d9..78e759838fb 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_main.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_main.xml
@@ -38,7 +38,7 @@
         </action>
     </referenceBlock>
     <referenceBlock name="some_element_1"/>
-    <block name="test.nonexisting.block" class="Magento\Core\Block\Text\ListText"/>
+    <block name="test.nonexisting.block" class="Magento\View\Block\Text\ListText"/>
     <remove name="test.nonexisting.block"/>
     <referenceBlock name="test.nonexisting.block">
         <action method="getSomething"/>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_sample.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_sample.xml
index 32d2b549b05..042a16b16f6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_sample.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_default/Magento_Core/layout_test_handle_sample.xml
@@ -41,11 +41,11 @@
             <action method="addJs" ifconfig="dev/js/deprecation">
                 <argument name="file" xsi:type="string">prototype/deprecation.js</argument>
             </action>
-            <block class="Magento\Core\Block\Html\Calendar" name="head.calendar" as="calendar" template="page/js/calendar.phtml"/>
+            <block class="Magento\View\Block\Html\Calendar" name="head.calendar" as="calendar" template="page/js/calendar.phtml"/>
         </block>
         <block class="Magento\Adminhtml\Block\Page\Header" name="header" as="header"/>
         <block class="Magento\Backend\Block\Menu" name="menu" as="menu"/>
-        <block class="Magento\Core\Block\Messages" name="messages" as="messages"/>
-        <block class="Magento\Core\Block\Text" as="no_name"/>
+        <block class="Magento\View\Block\Messages" name="messages" as="messages"/>
+        <block class="Magento\View\Block\Text" as="no_name"/>
     </block>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_test_theme/layout_test_handle.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_test_theme/layout_test_handle.xml
index 0338c3b8e3f..1cc34a278f3 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_test_theme/layout_test_handle.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/design/frontend/test_test_theme/layout_test_handle.xml
@@ -27,7 +27,7 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
-    <block class="Magento\Core\Block\Text" name="sample_text_block">
+    <block class="Magento\View\Block\Text" name="sample_text_block">
         <action method="setText">
             <argument name="text" xsi:type="string">Text declared in the frontend/test/test_theme</argument>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/container_attributes.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/container_attributes.xml
index 30104146190..788ebe73981 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/container_attributes.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout/container_attributes.xml
@@ -25,28 +25,28 @@
 -->
 <layout  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <container name="container1" label="test1" htmlTag="div" htmlId="container1-1" htmlClass="class11">
-        <block class="Magento\Core\Block\Text" name="block11">
+        <block class="Magento\View\Block\Text" name="block11">
             <action method="setText">
                 <argument name="text" xsi:type="string">Test11</argument>
             </action>
         </block>
     </container>
     <referenceContainer name="container1" label="test1" htmlId="container1-2" htmlClass="class12">
-        <block class="Magento\Core\Block\Text" name="block12">
+        <block class="Magento\View\Block\Text" name="block12">
             <action method="setText">
                 <argument name="text" xsi:type="string">Test12</argument>
             </action>
         </block>
     </referenceContainer>
     <container name="container2" label="test2" htmlTag="div" htmlClass="class21">
-        <block class="Magento\Core\Block\Text" name="block21">
+        <block class="Magento\View\Block\Text" name="block21">
             <action method="setText">
                 <argument name="text" xsi:type="string">Test21</argument>
             </action>
         </block>
     </container>
     <referenceContainer name="container2" label="test2" htmlId="container2-2" htmlClass="class22">
-        <block class="Magento\Core\Block\Text" name="block22">
+        <block class="Magento\View\Block\Text" name="block22">
             <action method="setText">
                 <argument name="text" xsi:type="string">Test22</argument>
             </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/action_for_anonymous_parent_block.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/action_for_anonymous_parent_block.xml
index 1fcbc2b0144..1889d197fbf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/action_for_anonymous_parent_block.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/action_for_anonymous_parent_block.xml
@@ -24,14 +24,14 @@
  */
 -->
 <layout>
-    <block name="test.block.insert" class="Magento\Core\Block\Text"/>
-    <block class="Magento\Core\Block\Template">
+    <block name="test.block.insert" class="Magento\View\Block\Text"/>
+    <block class="Magento\View\Block\Template">
         <action method="insert">
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="element" xsi:type="string">test.block.insert</argument>
         </action>
     </block>
-    <block name="test.block.append" class="Magento\Core\Block\Text"/>
-    <block class="Magento\Core\Block\Text">
+    <block name="test.block.append" class="Magento\View\Block\Text"/>
+    <block class="Magento\View\Block\Text">
         <action method="append">
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="element" xsi:type="string">test.block.append</argument>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments.xml
index 99dd1cc8bbf..5380bb06f0b 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="block_with_args">
+    <block class="Magento\View\Block\Text" name="block_with_args">
         <arguments>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="one" xsi:type="string">1</argument>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="two" xsi:type="string">2</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_complex_values.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_complex_values.xml
index ba8d89bb120..e5ff876835e 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_complex_values.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_complex_values.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="block_with_args_complex_values">
+    <block class="Magento\View\Block\Text" name="block_with_args_complex_values">
         <arguments>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="one" xsi:type="array">
                 <item name="parameters" xsi:type="array">
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type.xml
index 66e64db9141..90bb85d1728 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="block_with_object_args">
+    <block class="Magento\View\Block\Text" name="block_with_object_args">
         <arguments>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="one" xsi:type="object">Magento\Data\Collection\Db</argument>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="two" xsi:type="object">Magento\Data\Collection\Db</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type_updaters.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type_updaters.xml
index 90113600865..c87ac3cfcf1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type_updaters.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_object_type_updaters.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="block_with_object_updater_args">
+    <block class="Magento\View\Block\Text" name="block_with_object_updater_args">
         <arguments>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="one" xsi:type="object">Magento\Core\Model\DataSource</argument>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="two" xsi:type="number">0</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_url_type.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_url_type.xml
index f1bc97e0fac..2812596b8c6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_url_type.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/arguments_url_type.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="block_with_url_args">
+    <block class="Magento\View\Block\Text" name="block_with_url_args">
         <arguments>
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="one" xsi:type="url" path="customer/account/login">
                 <param name="_current">1</param>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block.xml
index d718bcd0de6..76066a8776d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block.xml
@@ -24,10 +24,10 @@
  */
 -->
 <layout>
-    <block name="block1" class="Magento\Core\Block\Text">
+    <block name="block1" class="Magento\View\Block\Text">
         <action method="getChildBlock">
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="value" xsi:type="string">block2</argument>
         </action>
-        <block name="block2" class="Magento\Core\Block\Text"/>
+        <block name="block2" class="Magento\View\Block\Text"/>
     </block>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block_exception.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block_exception.xml
index cbb8453025d..c5b88654117 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block_exception.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/get_block_exception.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block name="block1" class="Magento\Core\Block\Text">
+    <block name="block1" class="Magento\View\Block\Text">
         <container name="container" label="Container"/>
         <action method="getChildBlock">
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="value" xsi:type="string">container</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/group.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/group.xml
index 997f9b349da..b22987c91d0 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/group.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/group.xml
@@ -24,18 +24,18 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Text" name="block1">
-        <block class="Magento\Core\Block\Text" name="block2" group="group1">
+    <block class="Magento\View\Block\Text" name="block1">
+        <block class="Magento\View\Block\Text" name="block2" group="group1">
             <argumrnts>
                 <argument xsi:type="string" name="text">blok2</argument>
             </argumrnts>
         </block>
-        <block class="Magento\Core\Block\Text" name="block3" group="group1" >
+        <block class="Magento\View\Block\Text" name="block3" group="group1" >
             <argumrnts>
                 <argument xsi:type="string" name="text">blok3</argument>
             </argumrnts>
         </block>
-        <block class="Magento\Core\Block\Text" name="block4">
+        <block class="Magento\View\Block\Text" name="block4">
             <argumrnts>
                 <argument xsi:type="string" name="text">blok4</argument>
             </argumrnts>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/ifconfig.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/ifconfig.xml
index 153b60eaaf8..9a457a04f60 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/ifconfig.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/ifconfig.xml
@@ -24,10 +24,10 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <block class="Magento\Core\Block\Text" name="block1" ifconfig="not_exists">
-        <block class="Magento\Core\Block\Text" name="block2"/>
+    <block class="Magento\View\Block\Text" name="block1" ifconfig="not_exists">
+        <block class="Magento\View\Block\Text" name="block2"/>
     </block>
-    <block class="Magento\Core\Block\Text" name="block3" ifconfig="true_options">
-        <block class="Magento\Core\Block\Text" name="block4" ifconfig="not_exists"/>
+    <block class="Magento\View\Block\Text" name="block3" ifconfig="true_options">
+        <block class="Magento\View\Block\Text" name="block4" ifconfig="not_exists"/>
     </block>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move.xml
index 4304fbd5013..47ccbb54e71 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move.xml
@@ -25,20 +25,20 @@
 -->
 <layout>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="no.name2" as="no.name2"/>
+        <block class="Magento\View\Block\Text" name="no.name2" as="no.name2"/>
     </container>
     <container name="container2" label="Container 2"/>
     <move element="container1" destination="container2"/>
-    <block class="Magento\Core\Block\Text" name="block_container" as="block.container">
-        <block class="Magento\Core\Block\Text" name="child_block1"/>
-        <block class="Magento\Core\Block\Text" name="child_block2"/>
+    <block class="Magento\View\Block\Text" name="block_container" as="block.container">
+        <block class="Magento\View\Block\Text" name="child_block1"/>
+        <block class="Magento\View\Block\Text" name="child_block2"/>
     </block>
     <container name="container3" label="Container 3">
-        <block class="Magento\Core\Block\Text" name="no_name"/>
+        <block class="Magento\View\Block\Text" name="no_name"/>
     </container>
     <move element="no_name" destination="block_container" after="child_block1"/>
-    <block class="Magento\Core\Block\Text" name="no_name4"/>
+    <block class="Magento\View\Block\Text" name="no_name4"/>
     <move element="no_name4" destination="block_container" before="child_block2"/>
     <move element="no_name3" destination="block_container"/>
-    <block class="Magento\Core\Block\Text" name="no_name3"/>
+    <block class="Magento\View\Block\Text" name="no_name3"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_alias_broken.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_alias_broken.xml
index 765cb1b6745..9a289aa37c2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_alias_broken.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_alias_broken.xml
@@ -25,8 +25,8 @@
 -->
 <layout>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="no_name1" as="same_alias"/>
+        <block class="Magento\View\Block\Text" name="no_name1" as="same_alias"/>
     </container>
     <move element="no_name3" destination="container1" as="same_alias"/>
-    <block class="Magento\Core\Block\Text" name="no_name3" as="same_alias"/>
+    <block class="Magento\View\Block\Text" name="no_name3" as="same_alias"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_broken.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_broken.xml
index ddf91b247cd..f697895b68b 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_broken.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_broken.xml
@@ -26,5 +26,5 @@
 <layout>
     <container name="container1" label="Container 1"/>
     <move element="no_name3"/>
-    <block class="Magento\Core\Block\Text" name="no_name3"/>
+    <block class="Magento\View\Block\Text" name="no_name3"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_new_alias.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_new_alias.xml
index e31291f0309..0e699133bbc 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_new_alias.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_new_alias.xml
@@ -25,8 +25,8 @@
 -->
 <layout>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="no_name1" as="same_alias"/>
+        <block class="Magento\View\Block\Text" name="no_name1" as="same_alias"/>
     </container>
     <move element="no_name3" destination="container1" as="new_alias"/>
-    <block class="Magento\Core\Block\Text" name="no_name3" as="same_alias"/>
+    <block class="Magento\View\Block\Text" name="no_name3" as="same_alias"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_the_same_alias.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_the_same_alias.xml
index 2c2d7c58615..3306c8580d1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_the_same_alias.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/move_the_same_alias.xml
@@ -25,8 +25,8 @@
 -->
 <layout>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="no_name1" as="same_alias"/>
+        <block class="Magento\View\Block\Text" name="no_name1" as="same_alias"/>
     </container>
     <move element="no_name3" destination="container1"/>
-    <block class="Magento\Core\Block\Text" name="no_name3" as="same_alias"/>
+    <block class="Magento\View\Block\Text" name="no_name3" as="same_alias"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove.xml
index fa0cf05b393..d51f5bb2d61 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove.xml
@@ -25,13 +25,13 @@
 -->
 <layout>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="no_name2"/>
+        <block class="Magento\View\Block\Text" name="no_name2"/>
     </container>
     <remove name="container1"/>
     <remove name="child_block1"/>
-    <block class="Magento\Core\Block\Text" name="block_container" as="block.container">
-        <block class="Magento\Core\Block\Text" name="child_block1"/>
-        <block class="Magento\Core\Block\Text" name="child_block2"/>
+    <block class="Magento\View\Block\Text" name="block_container" as="block.container">
+        <block class="Magento\View\Block\Text" name="child_block1"/>
+        <block class="Magento\View\Block\Text" name="child_block2"/>
     </block>
     <remove name="not_exist"/>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove_broken.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove_broken.xml
index a0761fc257d..691d29e02bf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove_broken.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/remove_broken.xml
@@ -24,9 +24,9 @@
  */
 -->
 <layout>
-    <block name="test.broken.block" type="Magento\Core\Block\Text"/>
+    <block name="test.broken.block" type="Magento\View\Block\Text"/>
     <remove name="test.broken.block"/>
-    <block class="Magento\Core\Block\Template" name="bug.without.name.action.is.ignored">
+    <block class="Magento\View\Block\Template" name="bug.without.name.action.is.ignored">
         <action method="insert">
             <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="element" xsi:type="string">test.broken.block</argument>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/render.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/render.xml
index 7735c7edee2..5afed0bc447 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/render.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/render.xml
@@ -31,12 +31,12 @@
         </action>
     </referenceBlock>
     <container name="container1" label="Container 1">
-        <block class="Magento\Core\Block\Text" name="block1">
+        <block class="Magento\View\Block\Text" name="block1">
             <action method="addText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="value" xsi:type="string">2</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="block2">
+        <block class="Magento\View\Block\Text" name="block2">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="value" xsi:type="string">3</argument>
             </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_after.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_after.xml
index 5f41e08efa8..4450ec759e5 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_after.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_after.xml
@@ -25,17 +25,17 @@
 -->
 <layout>
     <container name="root" label="Root">
-        <block class="Magento\Core\Block\Text" name="element1" after="element3">
+        <block class="Magento\View\Block\Text" name="element1" after="element3">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">1</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element2" after="element1">
+        <block class="Magento\View\Block\Text" name="element2" after="element1">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">2</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element3" after="element_non_existing">
+        <block class="Magento\View\Block\Text" name="element3" after="element_non_existing">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">3</argument>
             </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_previous.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_previous.xml
index fcbe9df5d91..c8ea855fba1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_previous.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_after_previous.xml
@@ -25,17 +25,17 @@
 -->
 <layout>
     <container name="root" label="Root">
-        <block class="Magento\Core\Block\Text" name="element1" after="element2">
+        <block class="Magento\View\Block\Text" name="element1" after="element2">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">1</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element2" after="element3">
+        <block class="Magento\View\Block\Text" name="element2" after="element3">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">2</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element3">
+        <block class="Magento\View\Block\Text" name="element3">
             <!-- neither "before" or "after" specified, therefore insert before all elements -->
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">3</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_after.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_after.xml
index 2352b632737..d7ecf105a82 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_after.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_after.xml
@@ -25,17 +25,17 @@
 -->
 <layout>
     <container name="root" label="Root">
-        <block class="Magento\Core\Block\Text" name="element1" before="element2">
+        <block class="Magento\View\Block\Text" name="element1" before="element2">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">1</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element2" after="element3">
+        <block class="Magento\View\Block\Text" name="element2" after="element3">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">2</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element3" after="-">
+        <block class="Magento\View\Block\Text" name="element3" after="-">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">3</argument>
             </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_before.xml b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_before.xml
index abb60d2a740..06da3c34dad 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_before.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/_files/layout_directives_test/sort_before_before.xml
@@ -25,17 +25,17 @@
 -->
 <layout>
     <container name="root" label="Root">
-        <block class="Magento\Core\Block\Text" name="element1" before="element3">
+        <block class="Magento\View\Block\Text" name="element1" before="element3">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">1</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element2" before="element1">
+        <block class="Magento\View\Block\Text" name="element2" before="element1">
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">2</argument>
             </action>
         </block>
-        <block class="Magento\Core\Block\Text" name="element3" before="element_non_existing">
+        <block class="Magento\View\Block\Text" name="element3" before="element_non_existing">
             <!-- element_non_existing doesn't exist, so element3 is generated at the end -->
             <action method="setText">
                 <argument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="text" xsi:type="string">3</argument>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
index 5e23a948fbb..893f083e33c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
@@ -98,7 +98,7 @@ class Layout
             'themeFactory'       => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
             'logger'             => $objectManager->get('Magento\Logger'),
             'eventManager'       => $objectManager->get('Magento\Event\ManagerInterface'),
-            'factoryHelper'      => $objectManager->get('Magento\Core\Model\Factory\Helper'),
+            'factoryHelper'      => $objectManager->get('Magento\App\Helper\HelperFactory'),
             'coreData'           => $objectManager->get('Magento\Core\Helper\Data'),
             'design'             => $objectManager->get('Magento\View\DesignInterface'),
             'blockFactory'       => $objectManager->create('Magento\View\Element\BlockFactory', array()),
@@ -108,6 +108,7 @@ class Layout
             'dataServiceGraph'   => $objectManager->create('Magento\Core\Model\DataService\Graph', array()),
             'coreStoreConfig'    => $objectManager->create('Magento\Core\Model\Store\Config'),
             'appState'           => $objectManager->get('Magento\App\State'),
+            'objectManager'      => $objectManager
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout/handle_one.xml b/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout/handle_one.xml
index d2767f68d7a..8003c92da01 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout/handle_one.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout/handle_one.xml
@@ -24,7 +24,7 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Text" name="some_text_block">
+    <block class="Magento\View\Block\Text" name="some_text_block">
         <action method="setText">
             <text>Some Default Text</text>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout_merged/multiple_handles.xml b/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout_merged/multiple_handles.xml
index f3593aaadd8..94213cee83f 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout_merged/multiple_handles.xml
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/_files/layout_merged/multiple_handles.xml
@@ -25,7 +25,7 @@
 -->
 <layouts>
     <handle id="handle_one">
-        <block class="Magento\Core\Block\Text" name="some_text_block">
+        <block class="Magento\View\Block\Text" name="some_text_block">
             <action method="setText">
                 <text>Some Default Text</text>
             </action>
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php
index a5c92a8a4c2..de9be851472 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php
@@ -67,7 +67,7 @@ class GroupTest extends \Magento\Backend\Utility\Controller
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The customer group has been deleted.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('The customer group has been deleted.')), \Magento\Message\Factory::SUCCESS
         );
     }
 
@@ -80,7 +80,7 @@ class GroupTest extends \Magento\Backend\Utility\Controller
          * Check that error message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('The customer group no longer exists.')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('The customer group no longer exists.')), \Magento\Message\Factory::ERROR
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
index f4854cbfc59..4f8cfb4707f 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
@@ -81,7 +81,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Message\Factory::ERROR);
         /**
          * Check that customer data were set to session
          */
@@ -111,7 +111,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Message\Factory::ERROR);
         /**
          * Check that customer data were set to session
          */
@@ -157,7 +157,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that errors was generated and set to session
          */
-        $this->assertSessionMessages($this->isEmpty(), \Magento\Core\Model\Message::ERROR);
+        $this->assertSessionMessages($this->isEmpty(), \Magento\Message\Factory::ERROR);
         /**
          * Check that customer data were set to session
          */
@@ -166,7 +166,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
         /**
          * Check that success message is set
          */
-        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Core\Model\Message::SUCCESS);
+        $this->assertSessionMessages($this->logicalNot($this->isEmpty()), \Magento\Message\Factory::SUCCESS);
 
         /**
          * Check that customer id set and addresses saved
@@ -238,7 +238,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
          * Check that success message is set
          */
         $this->assertSessionMessages(
-            $this->equalTo(array('You saved the customer.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('You saved the customer.')), \Magento\Message\Factory::SUCCESS
         );
 
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
@@ -295,7 +295,7 @@ class IndexTest extends \Magento\Backend\Utility\Controller
         */
         $this->assertSessionMessages(
             $this->equalTo(array('Customer with the same email already exists.')),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertEquals($post, \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Backend\Model\Session')->getCustomerData());
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
index 22104e68192..298f51476b1 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
@@ -59,7 +59,7 @@ class EditorTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/system_design_editor/launch');
         $this->assertSessionMessages($this->equalTo(
             array('We can\'t find theme "' . $wrongThemeId . '".')),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $expected = 'http://localhost/index.php/backend/admin/system_design_editor/index/';
         $this->assertRedirect($this->stringStartsWith($expected));
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 f01226a154a..8d65b73dbbc 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
@@ -40,9 +40,9 @@ class LinksTest
     /**
      * Reuse code for testing getUploadButtonHtml()
      *
-     * @param \Magento\Core\Block\AbstractBlock $block
+     * @param \Magento\View\Block\AbstractBlock $block
      */
-    public static function performUploadButtonTest(\Magento\Core\Block\AbstractBlock $block)
+    public static function performUploadButtonTest(\Magento\View\Block\AbstractBlock $block)
     {
         /** @var $layout \Magento\View\LayoutInterface */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -50,7 +50,7 @@ class LinksTest
         $layout->addBlock($block, 'links');
         $expected = uniqid();
         $text = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text', '', array('data' => array('text' => $expected)));
+            ->createBlock('Magento\View\Block\Text', '', array('data' => array('text' => $expected)));
         $block->unsetChild('upload_button');
         $layout->addBlock($text, 'upload_button', 'links');
         self::assertEquals($expected, $block->getUploadButtonHtml());
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 78ad066cc7a..2ba6e9d740d 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
@@ -54,12 +54,11 @@ class AbstractTest
         $block = $this->getMockForAbstractClass(
             'Magento\Eav\Block\Adminhtml\Attribute\Edit\Main\AbstractMain',
             array(
+                $objectManager->get('Magento\Backend\Block\Template\Context'),
+                $objectManager->get('Magento\Core\Helper\Data'),
                 $objectManager->get('Magento\Core\Model\Registry'),
                 $objectManager->get('Magento\Data\FormFactory'),
-                $objectManager->get('Magento\Core\Helper\Data'),
-                $objectManager->get('Magento\Backend\Block\Template\Context'),
                 $objectManager->get('Magento\Eav\Helper\Data'),
-                $objectManager->get('Magento\Core\Model\LocaleInterface'),
                 $objectManager->get('Magento\Backend\Model\Config\Source\YesnoFactory'),
                 $objectManager->get('Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory'),
                 $objectManager->get('Magento\Eav\Model\Entity\Attribute\Config')
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php
similarity index 90%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
rename to dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php
index 6f6784cfdc8..d165b3f8eaf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Email/Model/Template/FilterTest.php
@@ -25,19 +25,19 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Email\Template;
+namespace Magento\Email\Model\Template;
 
 class FilterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Filter
+     * @var \Magento\Email\Model\Template\Filter
      */
     protected $_model = null;
 
     protected function setUp()
     {
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Filter');
+            ->create('Magento\Email\Model\Template\Filter');
     }
 
     /**
@@ -100,7 +100,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @magentoDataFixture Magento/Core/Model/Email/_files/themes.php
+     * @magentoDataFixture Magento/Email/Model/_files/themes.php
      * @magentoAppIsolation enabled
      * @dataProvider layoutDirectiveDataProvider
      *
@@ -116,24 +116,26 @@ class FilterTest extends \PHPUnit_Framework_TestCase
             )
         ));
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Filter');
+            ->create('Magento\Email\Model\Template\Filter');
+
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+
+        $themes = array('frontend' => 'test_default', 'adminhtml' => 'test_default');
+        $design = $objectManager->create('Magento\Core\Model\View\Design', array('themes' => $themes));
+        $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
+
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->loadArea($area);
 
-        $collection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Resource\Theme\Collection');
+        $collection = $objectManager->create('Magento\Core\Model\Resource\Theme\Collection');
         $themeId = $collection->getThemeByFullPath('frontend/test_default')->getId();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\StoreManagerInterface')
+        $objectManager->get('Magento\Core\Model\StoreManagerInterface')
             ->getStore()->setConfig(
                 \Magento\Core\Model\View\Design::XML_PATH_THEME_ID,
                 $themeId
             );
 
-        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 
-        $themes = array('frontend' => 'test_default', 'adminhtml' => 'test_default');
-        $design = $objectManager->create('Magento\Core\Model\View\Design', array('themes' => $themes));
-        $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
 
         /** @var $layout \Magento\View\LayoutInterface */
         $layout = $objectManager->create('Magento\Core\Model\Layout');
@@ -177,7 +179,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
             ),
             'custom parameter' => array(
                 'frontend',
-                'handle="email_template_test_handle" template="sample_email_content_custom.phtml"',
+                'handle="email_template_test_handle" template="Magento_Core::sample_email_content_custom.phtml"',
                 'Custom E-mail content for frontend/test_default theme',
             ),
         );
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php
similarity index 93%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
rename to dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php
index b48d790e519..3a0885349e0 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Email/Model/TemplateTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Email;
+namespace Magento\Email\Model;
 
 class TemplateTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Email\Model\Template|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_model;
 
@@ -45,7 +45,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
             'Zend_Mail', array('send', 'addTo', 'addBcc', 'setReturnPath', 'setReplyTo'), array('utf-8')
         );
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_model = $this->getMockBuilder('Magento\Core\Model\Email\Template')
+        $this->_model = $this->getMockBuilder('Magento\Email\Model\Template')
             ->setMethods(array('_getMail'))
             ->setConstructorArgs(array(
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Context'),
@@ -57,10 +57,10 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
                 $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\Email\Model\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManager'),
                 $objectManager->get('Magento\App\Dir'),
-                $objectManager->get('Magento\Core\Model\Email\Template\Config'),
+                $objectManager->get('Magento\Email\Model\Template\Config'),
             ))
             ->getMock();
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')->setAreaCode('frontend');
@@ -89,7 +89,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
         );
 
         $filter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Filter');
+            ->create('Magento\Email\Model\Template\Filter');
         $this->_model->setTemplateFilter($filter);
         $this->assertSame($filter, $this->_model->getTemplateFilter());
     }
@@ -176,10 +176,10 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Model\Email\Template::send
-     * @covers \Magento\Core\Model\Email\Template::addBcc
-     * @covers \Magento\Core\Model\Email\Template::setReturnPath
-     * @covers \Magento\Core\Model\Email\Template::setReplyTo
+     * @covers \Magento\Email\Model\Template::send
+     * @covers \Magento\Email\Model\Template::addBcc
+     * @covers \Magento\Email\Model\Template::setReturnPath
+     * @covers \Magento\Email\Model\Template::setReplyTo
      */
     public function testSend()
     {
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/Magento_Core/layout/email_template_test_handle.xml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Core/layout/email_template_test_handle.xml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/Magento_Core/layout/email_template_test_handle.xml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Core/layout/email_template_test_handle.xml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/Magento_Core/sample_email_content.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Core/sample_email_content.phtml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/Magento_Core/sample_email_content.phtml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/Magento_Core/sample_email_content.phtml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/theme.xml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/theme.xml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/adminhtml/test_default/theme.xml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/adminhtml/test_default/theme.xml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml
similarity index 86%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml
index 450bacbf472..05f821c354e 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml
+++ b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/layout/email_template_test_handle.xml
@@ -27,8 +27,8 @@
  */
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
-    <block class="Magento\Core\Block\Template" name="sample_email_content" template="sample_email_content.phtml"/>
-    <block class="Magento\Core\Block\Text" name="ignored_email_content">
+    <block class="Magento\View\Block\Template" name="sample_email_content" template="Magento_Core::sample_email_content.phtml"/>
+    <block class="Magento\View\Block\Text" name="ignored_email_content">
         <action method="setText">
             <argument name="text" xsi:type="string">Ignored e-mail content, only the first block is used</argument>
         </action>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/sample_email_content.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/sample_email_content.phtml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/sample_email_content.phtml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/sample_email_content.phtml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/sample_email_content_custom.phtml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/sample_email_content_custom.phtml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/Magento_Core/sample_email_content_custom.phtml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/Magento_Core/sample_email_content_custom.phtml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/theme.xml b/dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/theme.xml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/design/frontend/test_default/theme.xml
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/design/frontend/test_default/theme.xml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/themes.php b/dev/tests/integration/testsuite/Magento/Email/Model/_files/themes.php
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Email/_files/themes.php
rename to dev/tests/integration/testsuite/Magento/Email/Model/_files/themes.php
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 241a77401f6..4df92be2738 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
@@ -39,9 +39,9 @@ class ProductTest extends \PHPUnit_Framework_TestCase
         $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\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
         $search = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
 
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->addBlock($block, 'product');
diff --git a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
index b5d777e7660..17fcedfb37b 100644
--- a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
@@ -91,7 +91,7 @@ class IntegrationTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/integration/save');
         $this->assertSessionMessages(
             $this->equalTo(array("The integration '$integrationName' has been saved.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/integration/index/'));
     }
@@ -110,7 +110,7 @@ class IntegrationTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The integration '$integrationName' has been saved.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/integration/index/'));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
index 453ab4b5b31..7922f12618c 100644
--- a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
+++ b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
@@ -42,7 +42,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
         $themes = array('frontend' => 'magento_blank');
         /** @var $design \Magento\Core\Model\View\Design */
         $design = $objectManager->create('Magento\View\DesignInterface', array('themes' => $themes));
-        $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
+        $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design\Proxy');
         /** @var $appEmulation \Magento\Core\Model\App\Emulation */
         $appEmulation = $objectManager->create('Magento\Core\Model\App\Emulation', array('viewDesign' => $design));
         $objectManager->addSharedInstance($appEmulation, 'Magento\Core\Model\App\Emulation');
@@ -62,7 +62,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
         $subscriberOne->expects($this->any())->method('send');
         $subscriberTwo = clone $subscriberOne;
         $subscriberOne->expects($this->once())->method('setBodyHTML')->with(
-            $this->stringEndsWith('/static/frontend/magento_blank/en_US/images/logo.gif')
+            $this->stringEndsWith('/static/frontend/magento_plushe/en_US/images/logo.gif')
         );
         $subscriberTwo->expects($this->once())->method('setBodyHTML')->with(
             $this->stringEndsWith('/static/frontend/magento_demo/de_DE/images/logo.gif')
@@ -70,7 +70,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
         /** @var $filter \Magento\Newsletter\Model\Template\Filter */
         $filter = $objectManager->get('Magento\Newsletter\Model\Template\Filter');
 
-        $emailTemplate = $this->getMock('Magento\Core\Model\Email\Template',
+        $emailTemplate = $this->getMock('Magento\Email\Model\Template',
             array('_getMail', '_getLogoUrl', '__wakeup', 'setTemplateFilter'),
             array(
                 $objectManager->get('Magento\Core\Model\Context'),
@@ -82,10 +82,10 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $design,
                 $objectManager->get('Magento\Core\Model\Store\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
-                $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
+                $objectManager->get('Magento\Email\Model\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
                 $objectManager->get('Magento\App\Dir'),
-                $objectManager->get('Magento\Core\Model\Email\Template\Config'),
+                $objectManager->get('Magento\Email\Model\Template\Config'),
             )
         );
         $emailTemplate->expects($this->once())
@@ -117,7 +117,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
         $errorMsg = md5(microtime());
         $brokenMail->expects($this->any())->method('send')->will($this->throwException(new \Exception($errorMsg, 99)));
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $template = $this->getMock('Magento\Core\Model\Email\Template',
+        $template = $this->getMock('Magento\Email\Model\Template',
             array('_getMail', '_getLogoUrl', '__wakeup'),
             array(
                 $objectManager->get('Magento\Core\Model\Context'),
@@ -129,10 +129,10 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $objectManager->get('Magento\Core\Model\View\Design'),
                 $objectManager->get('Magento\Core\Model\Store\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
-                $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
+                $objectManager->get('Magento\Email\Model\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
                 $objectManager->get('Magento\App\Dir'),
-                $objectManager->get('Magento\Core\Model\Email\Template\Config'),
+                $objectManager->get('Magento\Email\Model\Template\Config'),
             )
         );
         $template->expects($this->any())->method('_getMail')->will($this->onConsecutiveCalls($mail, $brokenMail));
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/HtmlTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/HtmlTest.php
index a881908c4d9..3d0297c92a7 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/HtmlTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/HtmlTest.php
@@ -64,7 +64,7 @@ class HtmlTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue('http://localhost/pub/media/'));
 
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Block\Template\Context', array(
+            ->create('Magento\View\Block\Template\Context', array(
             'storeConfig' => $storeConfig,
             'urlBuilder' => $urlBuilder,
         ));
diff --git a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
index 5047bf920a9..0c62e072adf 100644
--- a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
@@ -51,7 +51,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase
         $childBank->setInfo($paymentInfoBank);
 
         $nonExpectedHtml = 'non-expected html';
-        $childHtml = $layout->addBlock('Magento\Core\Block\Text', 'child.html', 'block');
+        $childHtml = $layout->addBlock('Magento\View\Block\Text', 'child.html', 'block');
         $childHtml->setText($nonExpectedHtml);
 
         /** @var $paymentInfoCheckmo \Magento\Payment\Model\Info */
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Adminhtml/Paypal/ReportsTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Adminhtml/Paypal/ReportsTest.php
index 9f9e18b7c13..fe2138d9a29 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Adminhtml/Paypal/ReportsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Adminhtml/Paypal/ReportsTest.php
@@ -43,7 +43,7 @@ class ReportsTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/paypal_reports/fetch');
         $this->assertSessionMessages(
             $this->equalTo(array("We couldn't fetch reports from 'login@127.0.0.1'.")),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Rss/Controller/OrderTest.php b/dev/tests/integration/testsuite/Magento/Rss/Controller/OrderTest.php
index 9b8d5897578..4d90996df0a 100644
--- a/dev/tests/integration/testsuite/Magento/Rss/Controller/OrderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Rss/Controller/OrderTest.php
@@ -68,7 +68,6 @@ class OrderTest extends \Magento\TestFramework\TestCase\AbstractController
      * @param string $password
      * @dataProvider invalidAccessDataProvider
      * @magentoDataFixture Magento/User/_files/dummy_user.php
-     * @covers \Magento\Rss\Controller\Order::authenticateAndAuthorizeAdmin
      */
     public function testInvalidAccess($login, $password)
     {
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
index fc0bd995c01..a92d2d17068 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
@@ -44,8 +44,8 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
         $this->assertEmpty($block->getItemExtraInfoHtml($item));
 
         $expectedHtml ='<html><body>some data</body></html>';
-        /** @var $childBlock \Magento\Core\Block\Text */
-        $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'other_block', 'block', 'order_item_extra_info');
+        /** @var $childBlock \Magento\View\Block\Text */
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'other_block', 'block', 'order_item_extra_info');
         $childBlock->setText($expectedHtml);
 
         $this->assertEquals($expectedHtml, $block->getItemExtraInfoHtml($item));
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractTest.php
index 71a29157c86..4c3c5b741f4 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Form/AbstractTest.php
@@ -45,12 +45,13 @@ class AbstractTest
         $objectManager->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
         $arguments = array(
-            $objectManager->get('Magento\Data\FormFactory'),
+            $objectManager->get('Magento\Backend\Block\Template\Context'),
+            $objectManager->get('Magento\Core\Helper\Data'),
             $objectManager->get('Magento\Adminhtml\Model\Session\Quote'),
             $objectManager->get('Magento\Sales\Model\AdminOrder\Create'),
-            $objectManager->get('Magento\Core\Helper\Data'),
-            $objectManager->get('Magento\Backend\Block\Template\Context'),
+            $objectManager->get('Magento\Data\FormFactory'),
         );
+
         /** @var $block \Magento\Sales\Block\Adminhtml\Order\Create\Form\AbstractForm */
         $block = $this
             ->getMockForAbstractClass('Magento\Sales\Block\Adminhtml\Order\Create\Form\AbstractForm', $arguments);
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 dd082c4b87e..041fa027d85 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
@@ -58,7 +58,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetTotalsHtml()
     {
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'creditmemo_totals', 'block');
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'creditmemo_totals', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $this->assertEmpty($childBlock->getCreditmemo());
@@ -72,7 +72,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     public function testGetCommentsHtml()
     {
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'creditmemo_comments', 'block');
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'creditmemo_comments', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $this->assertEmpty($childBlock->getEntity());
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 54ddf9ea9c5..7663aa8d94a 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
@@ -58,7 +58,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetInvoiceTotalsHtml()
     {
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'invoice_totals', 'block');
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'invoice_totals', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $this->assertEmpty($childBlock->getInvoice());
@@ -72,7 +72,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     public function testGetInvoiceCommentsHtml()
     {
-        $childBlock = $this->_layout->addBlock('Magento\Core\Block\Text', 'invoice_comments', 'block');
+        $childBlock = $this->_layout->addBlock('Magento\View\Block\Text', 'invoice_comments', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $this->assertEmpty($childBlock->getEntity());
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 4111f8ba407..083be5f59ff 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
@@ -46,7 +46,7 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
 
         $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');
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'creditmemo_totals', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $creditmemo = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
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 1f437b4029f..38e05d40f19 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
@@ -46,7 +46,7 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
 
         $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');
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'invoice_totals', 'block');
 
         $expectedHtml = '<b>Any html</b>';
         $invoice = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
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 7bc682f4bee..f39f69c46b1 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
@@ -33,7 +33,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
     {
         $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');
+        $childBlock = $layout->addBlock('Magento\View\Block\Text', 'shipment_comments', 'block');
         $shipment = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order\Shipment');
 
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 39ffb55e269..14b97f1a47e 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
@@ -41,18 +41,18 @@ class TotalsTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Sales\Model\Order'))
             ->setTemplate('order/totals.phtml');
 
-        $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context');
-        $childOne = $this->getMock('Magento\Core\Block\Text', array('initTotals'), array($context));
+        $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Block\Context');
+        $childOne = $this->getMock('Magento\View\Block\Text', array('initTotals'), array($context));
         $childOne->expects($this->once())
             ->method('initTotals');
         $layout->addBlock($childOne, 'child1', 'block');
 
-        $childTwo = $this->getMock('Magento\Core\Block\Text', array('initTotals'), array($context));
+        $childTwo = $this->getMock('Magento\View\Block\Text', array('initTotals'), array($context));
         $childTwo->expects($this->once())
             ->method('initTotals');
         $layout->addBlock($childTwo, 'child2', 'block');
 
-        $childThree = $this->getMock('Magento\Core\Block\Text', array('initTotals'), array($context));
+        $childThree = $this->getMock('Magento\View\Block\Text', array('initTotals'), array($context));
         $childThree->expects($this->once())
             ->method('initTotals');
         $layout->addBlock($childThree, 'child3', 'block');
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 25235c897c7..fd0e8bf159c 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
@@ -72,9 +72,9 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->setAreaCode('frontend');
         $this->_block->setShouldPrepareInfoTabs(true);
-        $childOne = $this->_layout->addBlock('Magento\Core\Block\Text', 'child1', 'block');
+        $childOne = $this->_layout->addBlock('Magento\View\Block\Text', 'child1', 'block');
         $this->_layout->addToParentGroup('child1', 'info_tabs');
-        $childTwo = $this->_layout->addBlock('Magento\Core\Block\Text', 'child2', 'block');
+        $childTwo = $this->_layout->addBlock('Magento\View\Block\Text', 'child2', 'block');
         $this->_layout->addToParentGroup('child2', 'info_tabs');
 
         $this->assertEmpty($childOne->getViewUrl());
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Payment/MethodsTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Payment/MethodsTest.php
index bccf187f865..ad6e00c2b1c 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Payment/MethodsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Payment/MethodsTest.php
@@ -57,7 +57,7 @@ class MethodsTest extends \PHPUnit_Framework_TestCase
         $this->assertNotEmpty($model->getTitle());
         foreach (array($model->getFormBlockType(), $model->getInfoBlockType()) as $blockClass) {
             $message = "Block class: {$blockClass}";
-            /** @var $block \Magento\Core\Block\Template */
+            /** @var $block \Magento\View\Block\Template */
             $block = $blockFactory->createBlock($blockClass);
             $block->setArea('frontend');
             $this->assertFileExists($block->getTemplateFile(), $message);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Widget/TemplateFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Widget/TemplateFilesTest.php
index ad84621677f..f702e88e2b8 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Widget/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Magento/Widget/TemplateFilesTest.php
@@ -46,9 +46,9 @@ class TemplateFilesTest extends \PHPUnit_Framework_TestCase
         /** @var $blockFactory \Magento\View\Element\BlockFactory */
         $blockFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\View\Element\BlockFactory');
-        /** @var \Magento\Core\Block\Template $block */
+        /** @var \Magento\View\Block\Template $block */
         $block = $blockFactory->createBlock($class);
-        $this->assertInstanceOf('Magento\Core\Block\Template', $block);
+        $this->assertInstanceOf('Magento\View\Block\Template', $block);
         $block->setTemplate((string)$template);
         $this->assertFileExists($block->getTemplateFile());
     }
@@ -70,7 +70,7 @@ class TemplateFilesTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Widget\Model\Widget\Instance');
             $config = $instance->setType($row['type'])->getWidgetConfigAsArray();
             $class = $row['type'];
-            if (is_subclass_of($class, 'Magento\Core\Block\Template')) {
+            if (is_subclass_of($class, 'Magento\View\Block\Template')) {
                 if (isset($config['parameters']) && isset($config['parameters']['template'])
                     && isset($config['parameters']['template']['values'])) {
                     $templates = $config['parameters']['template']['values'];
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 cd24b6615e8..519e494ed5a 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
@@ -83,7 +83,7 @@ class BlockInstantiationTest extends \Magento\TestFramework\TestCase\AbstractInt
                     continue;
                 }
                 $class = new \ReflectionClass($blockClass);
-                if ($class->isAbstract() || !$class->isSubclassOf('Magento\Core\Block\Template')) {
+                if ($class->isAbstract() || !$class->isSubclassOf('Magento\View\Block\Template')) {
                     continue;
                 }
                 $templateBlocks = $this->_addBlock($module, $blockClass, $class, $templateBlocks);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Core/EmailTemplateConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Email/EmailTemplateConfigFilesTest.php
similarity index 83%
rename from dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Core/EmailTemplateConfigFilesTest.php
rename to dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Email/EmailTemplateConfigFilesTest.php
index 21ab4f6955b..37e0e4e3859 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Core/EmailTemplateConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/Magento/Email/EmailTemplateConfigFilesTest.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\Test\Integrity\Modular\Magento\Core;
+namespace Magento\Test\Integrity\Modular\Magento\Email;
 
 class EmailTemplateConfigFilesTest extends \PHPUnit_Framework_TestCase
 {
@@ -33,7 +33,7 @@ class EmailTemplateConfigFilesTest extends \PHPUnit_Framework_TestCase
      */
     public function testFileFormat($file)
     {
-        $schemaFile = BP . '/app/code/Magento/Core/etc/email_templates_file.xsd';
+        $schemaFile = BP . '/app/code/Magento/Email/etc/email_templates_file.xsd';
         $dom = new \Magento\Config\Dom(file_get_contents($file));
         $result = $dom->validate($schemaFile, $errors);
         $this->assertTrue($result, print_r($errors, true));
@@ -55,9 +55,9 @@ class EmailTemplateConfigFilesTest extends \PHPUnit_Framework_TestCase
      */
     public function testTemplateReference($templateId)
     {
-        /** @var \Magento\Core\Model\Email\Template\Config $emailConfig */
+        /** @var \Magento\Email\Model\Template\Config $emailConfig */
         $emailConfig =  \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Config');
+            ->create('Magento\Email\Model\Template\Config');
         $templateFilename = $emailConfig->getTemplateFilename($templateId);
         $this->assertFileExists($templateFilename, 'Email template file, specified in the configuration, must exist');
     }
@@ -68,9 +68,9 @@ class EmailTemplateConfigFilesTest extends \PHPUnit_Framework_TestCase
     public function templateReferenceDataProvider()
     {
         $data = array();
-        /** @var \Magento\Core\Model\Email\Template\Config $emailConfig */
+        /** @var \Magento\Email\Model\Template\Config $emailConfig */
         $emailConfig =  \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Config');
+            ->create('Magento\Email\Model\Template\Config');
         foreach ($emailConfig->getAvailableTemplates() as $templateId) {
             $data[$templateId] = array($templateId);
         }
@@ -84,9 +84,9 @@ class EmailTemplateConfigFilesTest extends \PHPUnit_Framework_TestCase
     {
         $validationState = $this->getMock('Magento\Config\ValidationStateInterface');
         $validationState->expects($this->any())->method('isValidated')->will($this->returnValue(true));
-        /** @var \Magento\Core\Model\Email\Template\Config\Reader $reader */
+        /** @var \Magento\Email\Model\Template\Config\Reader $reader */
         $reader = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Email\Template\Config\Reader', array('validationState' => $validationState));
+            ->create('Magento\Email\Model\Template\Config\Reader', array('validationState' => $validationState));
         try {
             $reader->read();
         } catch (\Exception $e) {
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 239dc1ca608..7a30001afca 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
@@ -79,7 +79,7 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
                     continue;
                 }
                 $class = new \ReflectionClass($blockClass);
-                if ($class->isAbstract() || !$class->isSubclassOf('Magento\Core\Block\Template')) {
+                if ($class->isAbstract() || !$class->isSubclassOf('Magento\View\Block\Template')) {
                     continue;
                 }
 
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/_files/skip_blocks_ce.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/_files/skip_blocks_ce.php
index e054bba8adf..84895375c02 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/_files/skip_blocks_ce.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/_files/skip_blocks_ce.php
@@ -27,8 +27,8 @@
  */
 return array(
     // Blocks with abstract constructor arguments
-    'Magento\Backend\Block\System\Email\Template',
-    'Magento\Backend\Block\System\Email\Template\Edit',
+    'Magento\Email\Block\Adminhtml\Template',
+    'Magento\Email\Block\Adminhtml\Template\Edit',
     'Magento\Backend\Block\System\Config\Edit',
     'Magento\Backend\Block\System\Config\Form',
     'Magento\Backend\Block\System\Config\Tabs',
diff --git a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutInvalid.xml b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutInvalid.xml
index d96e82bac2d..83fadec45fb 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutInvalid.xml
+++ b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutInvalid.xml
@@ -25,13 +25,13 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <handle id="test">
-        <block class="Magento\Core\Block\Template" name="block"/>
+        <block class="Magento\View\Block\Template" name="block"/>
         <container name="block" label="Container"/>
         <reference name="block">
-            <block class="Magento\Core\Block\Template" name="another.block"/>
+            <block class="Magento\View\Block\Template" name="another.block"/>
         </reference>
         <reference name="broken.reference">
-            <block class="Magento\Core\Block\Template" name="another.block"/>
+            <block class="Magento\View\Block\Template" name="another.block"/>
         </reference>
     </handle>
 </layout>
diff --git a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValid.xml b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValid.xml
index ae8fd79e916..cfa01aa6376 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValid.xml
+++ b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValid.xml
@@ -25,10 +25,10 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <handle id="test">
-        <block class="Magento\Core\Block\Template" name="block"/>
+        <block class="Magento\View\Block\Template" name="block"/>
         <container name="container" label="Container"/>
         <reference name="block">
-            <block class="Magento\Core\Block\Template" name="another.block"/>
+            <block class="Magento\View\Block\Template" name="another.block"/>
         </reference>
         <reference name="container">
             <container name="another.container" label="Container"/>
diff --git a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValidExpectUpdated.xml b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValidExpectUpdated.xml
index aee8beb9174..1978a9750dc 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValidExpectUpdated.xml
+++ b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/_files/layoutValidExpectUpdated.xml
@@ -25,10 +25,10 @@
 -->
 <layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <handle id="test">
-        <block class="Magento\Core\Block\Template" name="block"/>
+        <block class="Magento\View\Block\Template" name="block"/>
         <container name="container" label="Container"/>
         <referenceBlock name="block">
-            <block class="Magento\Core\Block\Template" name="another.block"/>
+            <block class="Magento\View\Block\Template" name="another.block"/>
         </referenceBlock>
         <referenceContainer name="container">
             <container name="another.container" label="Container"/>
diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php
index 1a2ee090279..e90ac067a87 100644
--- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php
@@ -100,7 +100,7 @@ class AuthTest extends \Magento\Backend\Utility\Controller
         $this->getRequest()->setQuery('token', 'dummy')->setQuery('id', 1);
         $this->dispatch('backend/admin/auth/resetpassword');
         $this->assertSessionMessages(
-            $this->equalTo(array('Your password reset link has expired.')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('Your password reset link has expired.')), \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect();
     }
@@ -159,7 +159,7 @@ class AuthTest extends \Magento\Backend\Utility\Controller
         $this->getRequest()->setQuery('token', 'dummy')->setQuery('id', 1);
         $this->dispatch('backend/admin/auth/resetpasswordpost');
         $this->assertSessionMessages(
-            $this->equalTo(array('Your password reset link has expired.')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('Your password reset link has expired.')), \Magento\Message\Factory::ERROR
         );
 
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
@@ -203,7 +203,7 @@ class AuthTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array('Your password confirmation must match your password.')),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect();
     }
diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php
index 1ddbdd08b8b..45316f34035 100644
--- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php
@@ -60,7 +60,7 @@ class UserTest extends \Magento\Backend\Utility\Controller
         $this->getRequest()->setPost('user_id', $userId);
         $this->dispatch('backend/admin/user/save');
         $this->assertSessionMessages(
-            $this->equalTo(array('This user no longer exists.')), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array('This user no longer exists.')), \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('backend/admin/user/index/'));
     }
@@ -72,7 +72,7 @@ class UserTest extends \Magento\Backend\Utility\Controller
     {
         $this->_createNew();
         $this->assertSessionMessages(
-            $this->equalTo(array('You saved the user.')), \Magento\Core\Model\Message::SUCCESS
+            $this->equalTo(array('You saved the user.')), \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/user/index/'));
     }
diff --git a/dev/tests/integration/testsuite/Magento/User/Model/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Model/UserTest.php
index dd5778a2705..62868e97866 100644
--- a/dev/tests/integration/testsuite/Magento/User/Model/UserTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Model/UserTest.php
@@ -176,8 +176,8 @@ class UserTest extends \PHPUnit_Framework_TestCase
         /** @var $storeConfig \Magento\Core\Model\Store\Config */
         $storeConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\Store\Config');
-        $mailer = $this->getMock('Magento\Core\Model\Email\Template\Mailer', array(), array(
-            $this->getMock('Magento\Core\Model\Email\TemplateFactory', array(), array(), '', false)
+        $mailer = $this->getMock('Magento\Email\Model\Template\Mailer', array(), array(
+            $this->getMock('Magento\Email\Model\TemplateFactory', array(), array(), '', false)
         ));
         $mailer->expects($this->once())
             ->method('setTemplateId')
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/integration/testsuite/Magento/View/Block/AbstractBlockTest.php
similarity index 91%
rename from dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
rename to dev/tests/integration/testsuite/Magento/View/Block/AbstractBlockTest.php
index 9a95efda719..efdbf9b14ac 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Block/AbstractBlockTest.php
@@ -25,7 +25,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Block;
+namespace Magento\View\Block;
 
 /**
  * @magentoAppIsolation enabled
@@ -33,7 +33,7 @@ namespace Magento\Core\Block;
 class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Block\AbstractBlock
+     * @var \Magento\View\Block\AbstractBlock
      */
     protected $_block;
 
@@ -49,8 +49,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')->setAreaCode('frontend');
         \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'),
+        $this->_block = $this->getMockForAbstractClass('Magento\View\Block\AbstractBlock', array(
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Block\Context'),
             array('module_name' => 'Magento_Core')
         ));
     }
@@ -92,7 +92,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $this->assertFalse($this->_block->getParentBlock());
 
         // Need to create blocks through layout
-        $parentBlock = $this->_createBlockWithLayout('block1', 'block1', 'Magento\Core\Block\Text');
+        $parentBlock = $this->_createBlockWithLayout('block1', 'block1', 'Magento\View\Block\Text');
         $childBlock = $this->_createBlockWithLayout('block2', 'block2');
 
         $this->assertEmpty($childBlock->getParentBlock());
@@ -101,13 +101,13 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Block\AbstractBlock::addChild
+     * @covers \Magento\View\Block\AbstractBlock::addChild
      */
     public function testAddChild()
     {
-        $parentBlock = $this->_createBlockWithLayout('testAddChild', 'testAddChild', 'Magento\Core\Block\Text');
-        $child = $parentBlock->addChild('testAddChildAlias', 'Magento\Core\Block\Text', array('content' => 'content'));
-        $this->assertInstanceOf('Magento\Core\Block\Text', $child);
+        $parentBlock = $this->_createBlockWithLayout('testAddChild', 'testAddChild', 'Magento\View\Block\Text');
+        $child = $parentBlock->addChild('testAddChildAlias', 'Magento\View\Block\Text', array('content' => 'content'));
+        $this->assertInstanceOf('Magento\View\Block\Text', $child);
         $this->assertEquals('testAddChild.testAddChildAlias', $child->getNameInLayout());
         $this->assertEquals($child, $parentBlock->getChildBlock('testAddChildAlias'));
         $this->assertEquals('content', $child->getContent());
@@ -123,11 +123,11 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
         // Setting second time, along with the layout
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
-        $layout->createBlock('Magento\Core\Block\Template', $name);
+        $layout->createBlock('Magento\View\Block\Template', $name);
         $block = $layout->getBlock($name);
-        $this->assertInstanceOf('Magento\Core\Block\AbstractBlock', $block);
+        $this->assertInstanceOf('Magento\View\Block\AbstractBlock', $block);
         $block->setNameInLayout($name);
-        $this->assertInstanceOf('Magento\Core\Block\AbstractBlock', $layout->getBlock($name));
+        $this->assertInstanceOf('Magento\View\Block\AbstractBlock', $layout->getBlock($name));
         $this->assertEquals($name, $block->getNameInLayout());
         $this->assertTrue($layout->hasElement($name));
         $newName = 'new_name';
@@ -138,8 +138,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @magentoAppIsolation enabled
-     * @covers \Magento\Core\Block\AbstractBlock::getChildNames
-     * @covers \Magento\Core\Block\AbstractBlock::insert
+     * @covers \Magento\View\Block\AbstractBlock::getChildNames
+     * @covers \Magento\View\Block\AbstractBlock::insert
      */
     public function testGetChildNames()
     {
@@ -220,8 +220,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @magentoAppIsolation enabled
-     * @covers \Magento\Core\Block\AbstractBlock::unsetChildren
-     * @covers \Magento\Core\Block\AbstractBlock::getChildBlock
+     * @covers \Magento\View\Block\AbstractBlock::unsetChildren
+     * @covers \Magento\View\Block\AbstractBlock::getChildBlock
      */
     public function testUnsetChildren()
     {
@@ -252,21 +252,21 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         // With layout
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
-        $child = $layout->createBlock('Magento\Core\Block\Text', $childName);
+        $child = $layout->createBlock('Magento\View\Block\Text', $childName);
         $layout->addBlock($this->_block, $parentName);
 
         $this->_block->setChild($childAlias, $child);
         $result = $this->_block->getChildBlock($childAlias);
 
-        $this->assertInstanceOf('Magento\Core\Block\Text', $result);
+        $this->assertInstanceOf('Magento\View\Block\Text', $result);
         $this->assertEquals($childName, $result->getNameInLayout());
         $this->assertEquals($child, $result);
     }
 
     /**
      * @magentoAppIsolation enabled
-     * @covers \Magento\Core\Block\AbstractBlock::getChildHtml
-     * @covers \Magento\Core\Block\AbstractBlock::getChildChildHtml
+     * @covers \Magento\View\Block\AbstractBlock::getChildHtml
+     * @covers \Magento\View\Block\AbstractBlock::getChildChildHtml
      */
     public function testGetChildHtml()
     {
@@ -276,8 +276,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
         // With layout
         $parent = $this->_createBlockWithLayout('parent', 'parent');
-        $blockOne = $this->_createBlockWithLayout('block1', 'block1', 'Magento\Core\Block\Text');
-        $blockTwo = $this->_createBlockWithLayout('block2', 'block2', 'Magento\Core\Block\Text');
+        $blockOne = $this->_createBlockWithLayout('block1', 'block1', 'Magento\View\Block\Text');
+        $blockTwo = $this->_createBlockWithLayout('block2', 'block2', 'Magento\View\Block\Text');
         $blockOne->setText('one');
         $blockTwo->setText('two');
         $parent->insert($blockTwo, '-', false, 'block2'); // make block2 1st
@@ -308,10 +308,10 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $parent1 = $this->_createBlockWithLayout('parent1', 'parent1');
         $parent2 = $this->_createBlockWithLayout('parent2', 'parent2');
 
-        $block1 = $this->_createBlockWithLayout('block1', 'block1', 'Magento\Core\Block\Text');
-        $block2 = $this->_createBlockWithLayout('block2', 'block2', 'Magento\Core\Block\Text');
-        $block3 = $this->_createBlockWithLayout('block3', 'block3', 'Magento\Core\Block\Text');
-        $block4 = $this->_createBlockWithLayout('block4', 'block4', 'Magento\Core\Block\Text');
+        $block1 = $this->_createBlockWithLayout('block1', 'block1', 'Magento\View\Block\Text');
+        $block2 = $this->_createBlockWithLayout('block2', 'block2', 'Magento\View\Block\Text');
+        $block3 = $this->_createBlockWithLayout('block3', 'block3', 'Magento\View\Block\Text');
+        $block4 = $this->_createBlockWithLayout('block4', 'block4', 'Magento\View\Block\Text');
 
         $block1->setText('one');
         $block2->setText('two');
@@ -332,7 +332,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         /** @var $blockFactory \Magento\View\Element\BlockFactory */
         $blockFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\View\Element\BlockFactory');
-        $block1 = $blockFactory->createBlock('Magento\Core\Block\Text');
+        $block1 = $blockFactory->createBlock('Magento\View\Block\Text');
         $block1->setText('Block text');
         $block1->setNameInLayout('block');
         $html = $this->_block->getBlockHtml('block');
@@ -341,7 +341,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
         // With layout
         $expected = 'Block2';
-        $block2 = $this->_createBlockWithLayout('block2', 'block2', 'Magento\Core\Block\Text');
+        $block2 = $this->_createBlockWithLayout('block2', 'block2', 'Magento\View\Block\Text');
         $block3 = $this->_createBlockWithLayout('block3', 'block3');
         $block2->setText($expected);
         $html = $block3->getBlockHtml('block2');
@@ -437,8 +437,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @magentoAppIsolation enabled
-     * @covers \Magento\Core\Block\AbstractBlock::addToParentGroup
-     * @covers \Magento\Core\Block\AbstractBlock::getGroupChildNames
+     * @covers \Magento\View\Block\AbstractBlock::getGroupChildNames
+     * @covers \Magento\Core\Model\Layout::addToParentGroup
      */
     public function testAddToParentGroup()
     {
@@ -477,7 +477,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testSetFrameTags()
     {
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
         $block->setText('text');
 
         $block->setFrameTags('p');
@@ -499,8 +499,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Block\AbstractBlock::getUrlBase64
-     * @covers \Magento\Core\Block\AbstractBlock::getUrlEncoded
+     * @covers \Magento\View\Block\AbstractBlock::getUrlBase64
+     * @covers \Magento\View\Block\AbstractBlock::getUrlEncoded
      */
     public function testGetUrlBase64()
     {
@@ -545,11 +545,11 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $this->_block->setLayout(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
         );
-        $this->assertInstanceOf('Magento\Core\Block\Messages', $this->_block->getMessagesBlock());
+        $this->assertInstanceOf('Magento\View\Block\Messages', $this->_block->getMessagesBlock());
 
         // Set explicitly
         $messages = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Messages');
+            ->createBlock('Magento\View\Block\Messages');
         $this->_block->setMessagesBlock($messages);
         $this->assertSame($messages, $this->_block->getMessagesBlock());
     }
@@ -641,7 +641,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     {
         $name = uniqid('block.');
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
         $block->setNameInLayout($name);
         $this->assertEquals(array($name), $block->getCacheKeyInfo());
     }
@@ -650,7 +650,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     {
         $name = uniqid('block.');
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
         $block->setNameInLayout($name);
         $key = $block->getCacheKey();
         $this->assertNotEmpty($key);
@@ -663,11 +663,11 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     public function testGetCacheTags()
     {
-        $this->assertContains(\Magento\Core\Block\AbstractBlock::CACHE_GROUP, $this->_block->getCacheTags());
+        $this->assertContains(\Magento\View\Block\AbstractBlock::CACHE_GROUP, $this->_block->getCacheTags());
 
         $this->_block->setCacheTags(array('one', 'two'));
         $tags = $this->_block->getCacheTags();
-        $this->assertContains(\Magento\Core\Block\AbstractBlock::CACHE_GROUP, $tags);
+        $this->assertContains(\Magento\View\Block\AbstractBlock::CACHE_GROUP, $tags);
         $this->assertContains('one', $tags);
         $this->assertContains('two', $tags);
     }
@@ -687,7 +687,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
      * @param string $className
      * @return array
      */
-    protected function _createSampleBlocks($qty, $withLayout = true, $className = 'Magento\Core\Block\Template')
+    protected function _createSampleBlocks($qty, $withLayout = true, $className = 'Magento\View\Block\Template')
     {
         $blocks = array(); $names = array();
         $layout = false;
@@ -715,16 +715,16 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
      * @param string $name
      * @param null|string $alias
      * @param null|string $type
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _createBlockWithLayout($name = 'block', $alias = null,
-        $type = 'Magento\Core\Block\AbstractBlock'
+        $type = 'Magento\View\Block\AbstractBlock'
     ) {
         $typePart = explode('\\', $type);
         $mockClass = array_pop($typePart) . 'Mock';
         if (!isset(self::$_mocks[$mockClass])) {
             self::$_mocks[$mockClass] = $this->getMockForAbstractClass($type, array(
-                    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context'),
+                    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Block\Context'),
                     array('module_name' => 'Magento_Core')
                 ),
                 $mockClass
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/View/Block/TemplateTest.php
similarity index 90%
rename from dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
rename to dev/tests/integration/testsuite/Magento/View/Block/TemplateTest.php
index 4681b04644e..3d444fa170d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Block/TemplateTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Block;
+namespace Magento\View\Block;
 
 class TemplateTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Block\Template
+     * @var \Magento\View\Block\Template
      */
     protected $_block;
 
@@ -38,15 +38,15 @@ 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);
+        $context = $objectManager->create('Magento\View\Block\Template\Context', $params);
         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Template', '', array('context' => $context));
+            ->createBlock('Magento\View\Block\Template', '', array('context' => $context));
     }
 
     public function testConstruct()
     {
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Template', '', array('data' => array('template' => 'value')));
+            ->createBlock('Magento\View\Block\Template', '', array('data' => array('template' => 'value')));
         $this->assertEquals('value', $block->getTemplate());
     }
 
@@ -69,8 +69,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Block\Template::_toHtml
-     * @covers \Magento\Core\Block\AbstractBlock::toHtml
+     * @covers \Magento\View\Block\AbstractBlock::toHtml
      * @see testAssign()
      */
     public function testToHtml()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php b/dev/tests/integration/testsuite/Magento/View/Block/Text/ListTest.php
similarity index 77%
rename from dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
rename to dev/tests/integration/testsuite/Magento/View/Block/Text/ListTest.php
index 31f29ae2980..f43f1b978f1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Block/Text/ListTest.php
@@ -18,14 +18,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
  * @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\Block\Text;
+namespace Magento\View\Block\Text;
 
 class ListTest extends \PHPUnit_Framework_TestCase
 {
@@ -35,7 +33,7 @@ class ListTest extends \PHPUnit_Framework_TestCase
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Block\Text\ListText
+     * @var \Magento\View\Block\Text\ListText
      */
     protected $_block;
 
@@ -43,15 +41,15 @@ class ListTest extends \PHPUnit_Framework_TestCase
     {
         $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\View\LayoutInterface');
-        $this->_block = $this->_layout->createBlock('Magento\Core\Block\Text\ListText');
+        $this->_block = $this->_layout->createBlock('Magento\View\Block\Text\ListText');
     }
 
     public function testToHtml()
     {
         $children = array(
-            array('block1', 'Magento\Core\Block\Text', 'text1'),
-            array('block2', 'Magento\Core\Block\Text', 'text2'),
-            array('block3', 'Magento\Core\Block\Text', 'text3'),
+            array('block1', 'Magento\View\Block\Text', 'text1'),
+            array('block2', 'Magento\View\Block\Text', 'text2'),
+            array('block3', 'Magento\View\Block\Text', 'text3'),
         );
         foreach ($children as $child) {
             $this->_layout->addBlock($child[1], $child[0], $this->_block->getNameInLayout())
@@ -64,10 +62,10 @@ class ListTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlWithContainer()
     {
         $listName = $this->_block->getNameInLayout();
-        $block1 = $this->_layout->addBlock('Magento\Core\Block\Text', '', $listName);
+        $block1 = $this->_layout->addBlock('Magento\View\Block\Text', '', $listName);
         $this->_layout->addContainer('container', 'Container', array(), $listName);
-        $block2 = $this->_layout->addBlock('Magento\Core\Block\Text', '', 'container');
-        $block3 = $this->_layout->addBlock('Magento\Core\Block\Text', '', $listName);
+        $block2 = $this->_layout->addBlock('Magento\View\Block\Text', '', 'container');
+        $block3 = $this->_layout->addBlock('Magento\View\Block\Text', '', $listName);
         $block1->setText('text1');
         $block2->setText('text2');
         $block3->setText('text3');
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php b/dev/tests/integration/testsuite/Magento/View/Block/TextTest.php
similarity index 91%
rename from dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
rename to dev/tests/integration/testsuite/Magento/View/Block/TextTest.php
index c427fd8346f..1d2bd9649d9 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Block/TextTest.php
@@ -18,26 +18,24 @@
  * 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\Block;
+namespace Magento\View\Block;
 
 class TextTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Block\Text
+     * @var \Magento\View\Block\Text
      */
     protected $_block;
 
     protected function setUp()
     {
         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
-            ->createBlock('Magento\Core\Block\Text');
+            ->createBlock('Magento\View\Block\Text');
     }
 
     public function testSetGetText()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/_files/frontend/magento_demo/css/wrong.css b/dev/tests/integration/testsuite/Magento/View/Block/_files/frontend/magento_demo/css/wrong.css
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Block/_files/frontend/magento_demo/css/wrong.css
rename to dev/tests/integration/testsuite/Magento/View/Block/_files/frontend/magento_demo/css/wrong.css
diff --git a/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml b/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
index feacd5b8ce8..79ef0cc3b40 100644
--- a/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
+++ b/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
@@ -47,12 +47,12 @@
                     <argument name="file" xsi:type="string">prototype/deprecation.js</argument>
                 </arguments>
             </block>
-            <block class="Magento\Core\Block\Html\Calendar" name="head.calendar" as="calendar" template="page/js/calendar.phtml"/>
+            <block class="Magento\View\Block\Html\Calendar" name="head.calendar" as="calendar" template="page/js/calendar.phtml"/>
         </block>
         <block class="Magento\Adminhtml\Block\Page\Header" name="header" as="header"/>
         <block class="Magento\Backend\Block\Menu" name="menu" as="menu"/>
-        <block class="Magento\Core\Block\Messages" name="messages" as="messages"/>
-        <block class="Magento\Core\Block\Text" as="no_name"/>
+        <block class="Magento\View\Block\Messages" name="messages" as="messages"/>
+        <block class="Magento\View\Block\Text" as="no_name"/>
     </block>
     <update handle="layout_test_handle_sample"/>
     <remove name="header"/>
@@ -65,7 +65,7 @@
         </action>
     </referenceBlock>
     <referenceBlock name="some_element_1"/>
-    <block class="Magento\Core\Block\Text\ListText" name="test.nonexisting.block"/>
+    <block class="Magento\View\Block\Text\ListText" name="test.nonexisting.block"/>
     <remove name="test.nonexisting.block"/>
     <referenceBlock name="test.nonexisting.block">
         <action method="getSomething"/>
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 e88f01267e4..cab9d183e98 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
@@ -70,13 +70,13 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         // TODO: Move to unit tests after MAGETWO-4015 complete.
         /** @var \Magento\Webapi\Block\Adminhtml\User\Edit\Tab\Main $mainTabBlock */
         $mainTabBlock = $this->_layout->addBlock(
-            'Magento\Core\Block\Text',
+            'Magento\View\Block\Text',
             'webapi.user.edit.tab.main',
             'webapi.user.edit.tabs'
         )->setText('Main Block Content');
 
         $this->_layout->addBlock(
-            'Magento\Core\Block\Text',
+            'Magento\View\Block\Text',
             'webapi.user.edit.tab.roles.grid',
             'webapi.user.edit.tabs'
         )->setText('Grid Block Content');
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
index 997f03dc03a..d45a17cea2f 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
@@ -54,9 +54,9 @@ class ActivateTest extends \PHPUnit_Framework_TestCase
         $registry->register(\Magento\Webhook\Block\Adminhtml\Registration\Activate::REGISTRY_KEY_CURRENT_SUBSCRIPTION,
             $subscriptionData);
 
-        /** @var \Magento\Core\Block\Template\Context $context */
+        /** @var \Magento\View\Block\Template\Context $context */
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Block\Template\Context');
+            ->create('Magento\View\Block\Template\Context');
 
         /** @var \Magento\Webhook\Block\Adminhtml\Registration\Activate $block */
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
index e389d67d462..abcecd94e39 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
@@ -52,8 +52,8 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
         $registry->register(\Magento\Webhook\Block\Adminhtml\Registration\Activate::REGISTRY_KEY_CURRENT_SUBSCRIPTION,
             $subscriptionData);
 
-        /** @var \Magento\Core\Block\Template\Context $context */
-        $context = $objectManager->create('Magento\Core\Block\Template\Context');
+        /** @var \Magento\View\Block\Template\Context $context */
+        $context = $objectManager->create('Magento\View\Block\Template\Context');
 
         /** @var \Magento\Webhook\Block\Adminhtml\Registration\Activate $block */
         $block = $objectManager
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
index 53c61ca023c..71934daa196 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
@@ -39,14 +39,17 @@ class FailedTest extends \PHPUnit_Framework_TestCase
 
         /** @var \Magento\Backend\Model\Session $session */
         $session = $objectManager->create('Magento\Backend\Model\Session');
-        $context = $objectManager->create('Magento\Core\Block\Template\Context');
-        $messageCollection = $objectManager->create('Magento\Core\Model\Message\Collection');
-        $message = $objectManager->create('Magento\Core\Model\Message\Notice', array('code' => ''));
+        $context = $objectManager->create(
+            'Magento\Backend\Block\Template\Context',
+            array('backendSession' => $session)
+        );
+        $messageCollection = $objectManager->create('Magento\Message\Collection');
+        $message = $objectManager->create('Magento\Message\Notice', array('code' => ''));
         $messageCollection->addMessage($message);
         $session->setData('messages', $messageCollection);
 
         $block = $objectManager->create('Magento\Webhook\Block\Adminhtml\Registration\Failed',
-            array($session, $context));
+            array('context' => $context));
 
         $this->assertEquals($message->toString(), $block->getSessionError());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
index 9deeab5d633..3061da492ba 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
@@ -97,7 +97,7 @@ class RegistrationTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/webhook_registration/register');
         $this->assertSessionMessages(
             $this->equalTo(array("API Key, API Secret and Contact Email are required fields.")),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('webhook_registration/failed'));
     }
@@ -151,7 +151,7 @@ class RegistrationTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/webhook_registration/register');
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been activated.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('webhook_registration/succeeded'));
     }
@@ -197,7 +197,7 @@ class RegistrationTest extends \Magento\Backend\Utility\Controller
         $this->getRequest()->setParam('id', $subscriptionId);
         $this->dispatch('backend/admin/webhook_registration/register');
         $this->assertSessionMessages(
-            $this->equalTo(array("Invalid Email address provided")), \Magento\Core\Model\Message::ERROR
+            $this->equalTo(array("Invalid Email address provided")), \Magento\Message\Factory::ERROR
         );
     }
 
@@ -209,7 +209,7 @@ class RegistrationTest extends \Magento\Backend\Utility\Controller
         $this->assertContains('page-popup adminhtml-webhook-registration-succeeded', $response);
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been activated.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
index 87e0011236c..6ba744711ce 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
@@ -84,7 +84,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
         
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has not been saved, as no data was provided.")),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/edit/'));
     }
@@ -100,7 +100,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
         $this->dispatch('backend/admin/webhook_subscription/save');
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been saved.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -117,7 +117,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription '$subscriptionName' has been saved.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -128,7 +128,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("Subscription with ID '' doesn't exist.")),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -141,7 +141,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' can not be removed.")),
-            \Magento\Core\Model\Message::ERROR
+            \Magento\Message\Factory::ERROR
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -153,7 +153,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been removed.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -165,7 +165,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been revoked.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
@@ -177,7 +177,7 @@ class SubscriptionTest extends \Magento\Backend\Utility\Controller
 
         $this->assertSessionMessages(
             $this->equalTo(array("The subscription 'dummy' has been activated.")),
-            \Magento\Core\Model\Message::SUCCESS
+            \Magento\Message\Factory::SUCCESS
         );
         $this->assertRedirect($this->stringContains('backend/admin/webhook_subscription/index/'));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstractionTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstractionTest.php
index a9e23b96f89..a508803fa38 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstractionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/DesignAbstractionTest.php
@@ -48,7 +48,7 @@ class DesignAbstractionTest extends \PHPUnit_Framework_TestCase
         $appState = $objectManager->get('Magento\App\State');
         $appState->setAreaCode(\Magento\Backend\App\Area\FrontNameResolver::AREA_CODE);
         $args = array(
-            'context' => $objectManager->get('Magento\Core\Block\Template\Context'),
+            'context' => $objectManager->get('Magento\View\Block\Template\Context'),
             'layoutProcessorFactory' => $this->getMock('Magento\View\Layout\ProcessorFactory',
                 array(), array(), '', false),
             'themesFactory' => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
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 de00ff43ba8..2f781bf2973 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
@@ -66,7 +66,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
               ->will($this->returnValue($pageTypeValues));
 
         $this->_block = new \Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Layout(
-            $objectManager->get('Magento\Core\Block\Template\Context'),
+            $objectManager->get('Magento\View\Block\Template\Context'),
             $config,
             array(
                 'name'  => 'page_type',
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
index 6f38f51ecd7..fb0ac2302e1 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
@@ -38,13 +38,12 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_block = $this->getMockForAbstractClass('Magento\Wishlist\Block\AbstractBlock', array(
-            $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
+            $objectManager->get('Magento\View\Block\Template\Context'),
+            $objectManager->get('Magento\Core\Helper\Data'),
             $objectManager->get('Magento\Catalog\Model\Config'),
             $objectManager->get('Magento\Core\Model\Registry'),
             $objectManager->get('Magento\Tax\Helper\Data'),
             $objectManager->get('Magento\Catalog\Helper\Data'),
-            $objectManager->get('Magento\Core\Helper\Data'),
-            $objectManager->get('Magento\Core\Block\Template\Context'),
             $objectManager->get('Magento\Math\Random'),
             $objectManager->get('Magento\Wishlist\Helper\Data'),
             $objectManager->get('Magento\Customer\Model\Session'),
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 dde2bc457c2..cfcac8100b6 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
@@ -44,7 +44,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
         $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');
+        $this->_layout->addBlock('Magento\View\Block\Text', 'child', '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 61eea886189..45ab6ffa1f4 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
@@ -33,8 +33,8 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
     {
         $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')));
+        $child = $this->getMock('Magento\View\Block\Text', array('isEnabled'),
+            array(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Block\Context')));
         $child->expects($this->any())
             ->method('isEnabled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Application.php b/dev/tests/performance/framework/Magento/TestFramework/Application.php
index ff1421c248c..d2d65f029d0 100644
--- a/dev/tests/performance/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/performance/framework/Magento/TestFramework/Application.php
@@ -31,6 +31,11 @@ namespace Magento\TestFramework;
 
 class Application
 {
+    /**
+     * Area code
+     */
+    const AREA_CODE = 'install';
+
     /**
      * Configuration object
      *
@@ -38,6 +43,13 @@ class Application
      */
     protected $_config;
 
+    /**
+     * Application object
+     *
+     * @var \Magento\Core\Model\App
+     */
+    protected $_application;
+
     /**
      * Path to shell installer script
      *
@@ -97,7 +109,7 @@ class Application
         if ($this->_config->getInstallOptions()) {
             $this->_uninstall()
                 ->_install()
-                ->_reindex()
+                ->reindex()
                 ->_updateFilesystemPermissions();
         } else {
             $this->_isInstalled = true;
@@ -105,6 +117,29 @@ class Application
         return $this;
     }
 
+    /**
+     * Reset application (uninstall, install, reindex, update permissions)
+     *
+     * @return Application
+     */
+    public function reset()
+    {
+        return $this->_reset();
+    }
+
+    /**
+     * Run reindex
+     *
+     * @return Application
+     */
+    public function reindex()
+    {
+        $this->_shell->execute(
+            'php -f ' . $this->_config->getApplicationBaseDir() . '/dev/shell/indexer.php -- reindexall'
+        );
+        return $this;
+    }
+
     /**
      * Uninstall application
      *
@@ -154,33 +189,12 @@ class Application
         return $this;
     }
 
-    /**
-     * Run all indexer processes
-     *
-     * @return \Magento\TestFramework\Application
-     */
-    protected function _reindex()
-    {
-        $this->_bootstrap();
-
-        /** @var $indexer \Magento\Index\Model\Indexer */
-        $indexer = $this->_objectManager->create('Magento\Index\Model\Indexer');
-        /** @var $process \Magento\Index\Model\Process */
-        foreach ($indexer->getProcessesCollection() as $process) {
-            if ($process->getIndexer()->isVisible()) {
-                $process->reindexEverything();
-            }
-        }
-
-        return $this;
-    }
-
     /**
      * Update permissions for `var` directory
      */
     protected function _updateFilesystemPermissions()
     {
-        \Magento\Io\File::chmodRecursive($this->_objectManager->get('Magento\App\Dir')->getDir('var'), 0777);
+        \Magento\Io\File::chmodRecursive($this->getObjectManager()->get('Magento\App\Dir')->getDir('var'), 0777);
     }
 
     /**
@@ -190,14 +204,26 @@ class Application
      */
     protected function _bootstrap()
     {
-        if (!$this->_objectManager) {
-            $this->_objectManager = new \Magento\App\ObjectManager(BP, $_SERVER);
-        }
         /** @var $app \Magento\Core\Model\App */
-        $this->_objectManager->get('Magento\Core\Model\App');
+        $this->_application = $this->getObjectManager()->get('Magento\Core\Model\App');
+        $this->getObjectManager()->get('Magento\App\State')->setAreaCode(self::AREA_CODE);
+        $this->getObjectManager()->configure(
+            $this->getObjectManager()->get('Magento\App\ObjectManager\ConfigLoader')->load(self::AREA_CODE)
+        );
+        $this->getObjectManager()->get('Magento\Config\ScopeInterface')->setCurrentScope(self::AREA_CODE);
         return $this;
     }
 
+    /**
+     * Bootstrap
+     *
+     * @return Application
+     */
+    public function bootstrap()
+    {
+        return $this->_bootstrap();
+    }
+
     /**
      * Work on application, so that it has all and only $fixtures applied. May require reinstall, if
      * excessive fixtures has been applied before.
@@ -218,14 +244,24 @@ class Application
 
         $this->_bootstrap();
         foreach ($fixturesToApply as $fixtureFile) {
-            require $fixtureFile;
+            $this->applyFixture($fixtureFile);
         }
         $this->_fixtures = $fixtures;
 
-        $this->_reindex()
+        $this->reindex()
             ->_updateFilesystemPermissions();
     }
 
+    /**
+     * Apply fixture file
+     *
+     * @param string $fixtureFilename
+     */
+    public function applyFixture($fixtureFilename)
+    {
+        require $fixtureFilename;
+    }
+
     /**
      * Compare list of fixtures needed to be set to the application, with the list of fixtures already in it.
      * Return, whether application reinstall (cleanup) is needed to properly apply the fixtures.
@@ -240,10 +276,16 @@ class Application
     }
 
     /**
+     * Get object manager
+     *
      * @return \Magento\ObjectManager
      */
     public function getObjectManager()
     {
+        if (!$this->_objectManager) {
+            $locatorFactory = new \Magento\App\ObjectManagerFactory();
+            $this->_objectManager = $locatorFactory->create(BP, $_SERVER);
+        }
         return $this->_objectManager;
     }
 }
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Helper/Categories.php b/dev/tests/performance/framework/Magento/TestFramework/Helper/Categories.php
new file mode 100644
index 00000000000..2c23d398639
--- /dev/null
+++ b/dev/tests/performance/framework/Magento/TestFramework/Helper/Categories.php
@@ -0,0 +1,124 @@
+<?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\TestFramework\Helper;
+
+/**
+ * Class Categories Helper
+ *
+ * @package Magento\TestFramework\Helper
+ */
+class Categories
+{
+    /**
+     * Object manager
+     *
+     * @var \Magento\ObjectManager\ObjectManager
+     */
+    protected $_objectManager = null;
+
+    /**
+     * Get categories
+     *
+     * @var array
+     */
+    protected $_categories = array();
+
+    /**
+     * Categories count
+     *
+     * @var int
+     */
+    protected $_categoriesNumber = 0;
+
+    /**
+     * Constructor
+     */
+    public function __construct()
+    {
+
+        $rootCategoryId = $this->getObjectManager()->create('\Magento\Core\Model\StoreManager')->getDefaultStoreView()
+            ->getRootCategoryId();
+
+        /** @var $category \Magento\Catalog\Model\Category */
+        $category = $this->getObjectManager()->get('Magento\Catalog\Model\Category');
+        $category->load($rootCategoryId);
+
+        /** @var $categoryResource \Magento\Catalog\Model\Resource\Category */
+        $categoryResource = $category->getResource();
+        $categories = $categoryResource->getAllChildren($category);
+        $this->_categoriesNumber = count($categories);
+
+        /**
+         * Preapre categories paths for import
+         *
+         * @see \Magento\ImportExport\Model\Import\Entity\Product::_initCategories()
+         */
+        foreach ($categories as $key => $categoryId) {
+            $category->load($categoryId);
+            $structure = explode('/', $category->getPath());
+            $pathSize  = count($structure);
+            if ($pathSize > 1) {
+                $path = array();
+                for ($i = 1; $i < $pathSize; $i++) {
+                    $path[] = $category->load($structure[$i])->getName();
+                }
+                array_shift($path);
+                $categories[$key] = implode('/', $path);
+            } else {
+                $categories[$key] = $category->getName();
+            }
+        }
+
+        /** Removing store root categories */
+        $this->_categories = array_values(array_filter($categories));
+        $this->_categoriesNumber = count($this->_categories);
+    }
+
+    /**
+     * Get object manager
+     *
+     * @return \Magento\ObjectManager\ObjectManager|null
+     */
+    protected function getObjectManager()
+    {
+        if (!$this->_objectManager) {
+            $locatorFactory = new \Magento\App\ObjectManagerFactory();
+            $this->_objectManager = $locatorFactory->create(BP, $_SERVER);
+        }
+        return $this->_objectManager;
+    }
+
+    /**
+     * Get for import number by increment
+     *
+     * @param $index
+     *
+     * @return mixed
+     */
+    public function getCategoryForImport($index)
+    {
+        return $this->_categories[$index % $this->_categoriesNumber];
+    }
+}
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Helper/Cli.php b/dev/tests/performance/framework/Magento/TestFramework/Helper/Cli.php
new file mode 100644
index 00000000000..b5fa04ec983
--- /dev/null
+++ b/dev/tests/performance/framework/Magento/TestFramework/Helper/Cli.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\TestFramework\Helper;
+
+/**
+ * Class Cli static helper
+ *
+ * @package Magento\TestFramework\Helper
+ */
+class Cli
+{
+    /**
+     * Getopt object
+     *
+     * @var \Zend_Console_Getopt
+     */
+    protected static $_getopt;
+
+    /**
+     * Set GetOpt object
+     *
+     * @param \Zend_Console_Getopt $getopt
+     */
+    public static function setOpt(\Zend_Console_Getopt $getopt)
+    {
+        static::$_getopt = $getopt;
+    }
+
+    /**
+     * Get option value
+     *
+     * @param string $key
+     * @param mixed $default
+     *
+     * @return mixed|null
+     */
+    public static function getOption($key, $default = null)
+    {
+        if (!static::$_getopt instanceof \Zend_Console_Getopt) {
+            return $default;
+        }
+        $value = static::$_getopt->getOption($key);
+        if (is_null($value)) {
+            return $default;
+        }
+        return $value;
+    }
+}
diff --git a/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Generator.php b/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Generator.php
new file mode 100644
index 00000000000..cc7890d514c
--- /dev/null
+++ b/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Generator.php
@@ -0,0 +1,141 @@
+<?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\TestFramework\ImportExport\Fixture\Complex;
+
+/**
+ * Class Generator
+ *
+ * @package Magento\TestFramework\ImportExport\Fixture\Complex
+ *
+ */
+class Generator extends \Magento\ImportExport\Model\Import\AbstractSource
+{
+    /**
+     * Data row pattern
+     *
+     * @var \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern
+     */
+    protected $_pattern;
+
+    /**
+     * Entities limit
+     *
+     * @var int
+     */
+    protected $_limit = 0;
+
+    /**
+     * Entities Count
+     *
+     * @var int
+     */
+    protected $_count = 0;
+
+    /**
+     * Array of template variables (static values or callables)
+     *
+     * @var array
+     */
+    protected $_variables = array();
+
+    /**
+     * Current index
+     *
+     * @var int
+     */
+    protected $_index = 1;
+
+    /**
+     * Rows count in pattern
+     *
+     * @var int
+     */
+    protected $_patternRowsCount = 0;
+
+    /**
+     * Read the row pattern to determine which columns are dynamic, set the collection size
+     *
+     * @param Pattern $rowPattern
+     * @param int $count how many records to generate
+     */
+    public function __construct(Pattern $rowPattern, $count)
+    {
+        $this->_pattern = $rowPattern;
+        $this->_count = $count;
+        $this->_patternRowsCount = $this->_pattern->getRowsCount();
+        $this->_limit = (int)$count * $this->_patternRowsCount;
+        parent::__construct($this->_pattern->getHeaders());
+    }
+
+    /**
+     * Get row index for template
+     *
+     * @param $key
+     *
+     * @return float
+     */
+    public function getIndex($key)
+    {
+        return floor($key / $this->_patternRowsCount) + 1;
+    }
+
+    /**
+     * Whether limit of generated elements is reached (according to "Iterator" interface)
+     *
+     * @return bool
+     */
+    public function valid()
+    {
+        return $this->_key + 1 <= $this->_limit;
+    }
+
+    /**
+     * Get next row in set
+     *
+     * @return array|bool
+     */
+    protected function _getNextRow()
+    {
+        $key = $this->key();
+        $this->_index = $this->getIndex($key);
+
+        if ($key > $this->_limit) {
+            return false;
+        }
+        return $this->_pattern->getRow($this->_index, $key);
+    }
+
+    /**
+     * Return the current element
+     *
+     * Returns the row in associative array format: array(<col_name> => <value>, ...)
+     *
+     * @return array
+     */
+    public function current()
+    {
+        return $this->_row;
+    }
+}
diff --git a/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Pattern.php b/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Pattern.php
new file mode 100644
index 00000000000..0b99509fc6b
--- /dev/null
+++ b/dev/tests/performance/framework/Magento/TestFramework/ImportExport/Fixture/Complex/Pattern.php
@@ -0,0 +1,146 @@
+<?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\TestFramework\ImportExport\Fixture\Complex;
+
+/**
+ * Complex pattern class for complex generator (used for creating configurable products)
+ *
+ * @package Magento\TestFramework\ImportExport\Fixture\Complex
+ *
+ */
+class Pattern
+{
+    /**
+     * Pattern headers set
+     *
+     * @var array
+     */
+    protected $_headers;
+
+    /**
+     * Rows set - array of rows pattern, can contain as many rows as you need
+     *
+     * @var array(array)
+     */
+    protected $_rowsSet;
+
+    /**
+     * Position
+     *
+     * @var int
+     */
+    protected $_position = 0;
+
+    /**
+     * Set headers
+     *
+     * @param array $headers
+     *
+     * @return Pattern
+     */
+    public function setHeaders(array $headers)
+    {
+        $this->_headers = $headers;
+        return $this;
+    }
+
+    /**
+     * Get headers array
+     *
+     * @return array
+     */
+    public function getHeaders()
+    {
+        return $this->_headers;
+    }
+
+    /**
+     * Set combined rows set
+     *
+     * @param array $rowsSet
+     *
+     * @return Pattern
+     * @throws \Exception
+     */
+    public function setRowsSet(array $rowsSet)
+    {
+        if (!count($rowsSet)) {
+            throw new \Exception("Rows set must contain at least 1 array representing a row pattern");
+        }
+        $this->_rowsSet = $rowsSet;
+        if (!isset($this->_headers)) {
+            $this->_headers = array_keys($rowsSet[0]);
+        }
+        return $this;
+    }
+
+    /**
+     * Add row
+     *
+     * @param array $row
+     *
+     * @return Pattern
+     */
+    public function addRow(array $row)
+    {
+        $this->_rowsSet[] = $row;
+        return $this;
+    }
+
+    /**
+     * Get row
+     *
+     * @param int $index
+     * @param int $generatorKey
+     *
+     * @return array|null
+     */
+    public function getRow($index, $generatorKey)
+    {
+        $row = $this->_rowsSet[$generatorKey % count($this->_rowsSet)];
+        foreach ($this->getHeaders() as $key) {
+            if (isset($row[$key])) {
+                if (is_callable($row[$key])) {
+                    $row[$key] = call_user_func($row[$key], $index);
+                } else {
+                    $row[$key] = str_replace('%s', $index, $row[$key]);
+                }
+            } else {
+                $row[$key] = '';
+            }
+        }
+        return $row;
+    }
+
+    /**
+     * Get rows count
+     *
+     * @return int
+     */
+    public function getRowsCount()
+    {
+        return count($this->_rowsSet);
+    }
+}
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Performance/Config.php b/dev/tests/performance/framework/Magento/TestFramework/Performance/Config.php
index de0c97bc57e..b3903d70e34 100644
--- a/dev/tests/performance/framework/Magento/TestFramework/Performance/Config.php
+++ b/dev/tests/performance/framework/Magento/TestFramework/Performance/Config.php
@@ -103,6 +103,16 @@ class Config
         $this->_parseScenarios($configData['scenario']);
     }
 
+    /**
+     * Get tests base directory
+     *
+     * @return string
+     */
+    public function getTestsBaseDir()
+    {
+        return $this->_testsBaseDir;
+    }
+
     /**
      * Validate high-level configuration structure
      *
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Performance/Testsuite.php b/dev/tests/performance/framework/Magento/TestFramework/Performance/Testsuite.php
index a1b009537bd..56450dbeb01 100644
--- a/dev/tests/performance/framework/Magento/TestFramework/Performance/Testsuite.php
+++ b/dev/tests/performance/framework/Magento/TestFramework/Performance/Testsuite.php
@@ -94,6 +94,16 @@ class Testsuite
         $this->_scenarioHandler = $scenarioHandler;
     }
 
+    /**
+     * Get test framework application instance
+     *
+     * @return \Magento\TestFramework\Application
+     */
+    public function getApplication()
+    {
+        return $this->_application;
+    }
+
     /**
      * Run entire test suite of scenarios
      */
diff --git a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
index 567157b1b9f..b7ae1e8af06 100644
--- a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
+++ b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
@@ -27,6 +27,11 @@
 
 namespace Magento\Test;
 
+/**
+ * Class ApplicationTest
+ *
+ * @package Magento\Test
+ */
 class ApplicationTest extends \PHPUnit_Framework_TestCase
 {
     /**
@@ -35,12 +40,12 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     protected $_config;
 
     /**
-     * @var \Magento\Shell|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Shell|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_shell;
 
     /**
-     * @var \Magento\TestFramework\Application|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\TestFramework\Application|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_object;
 
@@ -59,6 +64,9 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
      */
     protected $_fixtureConfigData;
 
+    /**
+     * Set Up before test
+     */
     protected function setUp()
     {
         $this->_fixtureDir = __DIR__ . '/Performance/_files';
@@ -83,6 +91,9 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $this->_object->applied = array(); // For fixture testing
     }
 
+    /**
+     * Tear down after test
+     */
     protected function tearDown()
     {
         unset($this->_config);
@@ -91,6 +102,8 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Constructor test
+     *
      * @expectedException \Magento\Exception
      */
     public function testConstructorException()
@@ -105,6 +118,8 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
 
 
     /**
+     * Apply fixtures test
+     *
      * @param array $fixtures
      * @param array $expected
      * @dataProvider applyFixturesDataProvider
@@ -116,6 +131,8 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Apply fixture data provider
+     *
      * @return array
      */
     public function applyFixturesDataProvider()
@@ -134,6 +151,8 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Apply fixture test
+     *
      * @param array $initialFixtures
      * @param array $subsequentFixtures
      * @param array $subsequentExpected
@@ -148,6 +167,8 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Apply fixtture data provider
+     *
      * @return array
      */
     public function applyFixturesSeveralTimesDataProvider()
@@ -176,6 +197,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
      * Adds file paths to fixture in a list
      *
      * @param array $fixture
+     *
      * @return array
      */
     protected function _getFixtureFiles($fixtures)
@@ -187,6 +209,9 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         return $result;
     }
 
+    /**
+     * Apply fixture with install
+     */
     public function testApplyFixturesInstallsApplication()
     {
         // Expect uninstall and install
@@ -202,9 +227,12 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $this->_object->applyFixtures($fixture1);
     }
 
+    /**
+     * Apply fixture w/o install
+     */
     public function testApplyFixturesSuperSetNoInstallation()
     {
-        $this->_shell->expects($this->exactly(2)) // Initial uninstall/install only
+        $this->_shell->expects($this->exactly(5)) // Initial uninstall/install only
             ->method('execute');
 
         $fixture1 = $this->_getFixtureFiles(array('fixture1'));
@@ -213,6 +241,9 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $this->_object->applyFixtures($superSet);
     }
 
+    /**
+     * Apply fixtures test with no reinstall
+     */
     public function testApplyFixturesIncompatibleSetReinstallation()
     {
         $this->_shell->expects($this->at(0))
@@ -223,11 +254,11 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
             ->method('execute')
             ->with($this->logicalNot($this->stringContains('--uninstall')), $this->contains($this->_installerScript));
 
-        $this->_shell->expects($this->at(2))
+        $this->_shell->expects($this->at(4))
             ->method('execute')
             ->with($this->stringContains('--uninstall'), $this->contains($this->_installerScript));
 
-        $this->_shell->expects($this->at(3))
+        $this->_shell->expects($this->at(5))
             ->method('execute')
             ->with($this->logicalNot($this->stringContains('--uninstall')), $this->contains($this->_installerScript));
 
@@ -236,4 +267,12 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $incompatibleSet = $this->_getFixtureFiles(array('fixture1'));
         $this->_object->applyFixtures($incompatibleSet);
     }
+
+    /**
+     * Test application reset
+     */
+    public function testAppReset()
+    {
+        $this->assertEquals(true, $this->_object->reset() instanceof \Magento\TestFramework\Application);
+    }
 }
diff --git a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Helper/CliTest.php b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Helper/CliTest.php
new file mode 100644
index 00000000000..1a247899894
--- /dev/null
+++ b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Helper/CliTest.php
@@ -0,0 +1,98 @@
+<?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     performance_tests
+ * @subpackage  unit_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\Test\Helper;
+
+/**
+ * Class CliTest
+ *
+ * @package Magento\Test\Helper
+ */
+class CliTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Getopt object
+     *
+     * @var \Zend_Console_Getopt
+     */
+    protected $_getOpt;
+
+    /**
+     * Param constants
+     */
+    const TEST_OPTION_NAME  = 'name';
+    const TEST_OPTION_VALUE = 'test_option_value';
+
+    /**
+     * Set up before test
+     */
+    public function setUp()
+    {
+
+        $this->_getOpt =  $this->getMock(
+            'Zend_Console_Getopt',
+            array('getOption'),
+            array(array())
+        );
+        $this->_getOpt->expects($this->any())->method('getOption')->will($this->returnValueMap(
+            array(
+                array(self::TEST_OPTION_NAME, self::TEST_OPTION_VALUE),
+                array('xxx', null),
+            )
+        ));
+
+        \Magento\TestFramework\Helper\Cli::setOpt($this->_getOpt);
+    }
+
+    /**
+     * Tesr down after test
+     */
+    public function tearDown()
+    {
+        $this->_getOpt = null;
+        $this->_object = null;
+    }
+
+    /**
+     * Test CLI helper
+     */
+    public function testCli()
+    {
+        $this->assertEquals(
+            self::TEST_OPTION_VALUE,
+            \Magento\TestFramework\Helper\Cli::getOption(self::TEST_OPTION_NAME)
+        );
+        $this->assertEquals(
+            null,
+            \Magento\TestFramework\Helper\Cli::getOption('xxx')
+        );
+        $this->assertEquals(
+            'default',
+            \Magento\TestFramework\Helper\Cli::getOption('xxx', 'default')
+        );
+    }
+}
diff --git a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/ComplexGeneratorTest.php b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/ComplexGeneratorTest.php
new file mode 100644
index 00000000000..3248f273c32
--- /dev/null
+++ b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/ComplexGeneratorTest.php
@@ -0,0 +1,109 @@
+<?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     performance_tests
+ * @subpackage  unit_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\Test\ImportExport\Fixture\Complex;
+
+/**
+ * Class ComplexGeneratorTest
+ *
+ * @package Magento\Test\ImportExport\Fixture\Complex
+ */
+class ComplexGeneratorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Pattern instance
+     *
+     * @var \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern
+     */
+    protected $_pattern;
+
+    /**
+     * Get pattern instance
+     *
+     * @return \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern
+     */
+    protected function getPattern()
+    {
+        if (!$this->_pattern instanceof \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern) {
+            $patternData = array(
+                array(
+                    'id' => '%s',
+                    'name' => 'Static',
+                    // @codingStandardsIgnoreStart
+                    /**
+                     * PHP_CodeSniffer bug - http://pear.php.net/bugs/bug.php?id=19290 (fixed in 1.4.0)
+                     */
+                    'calculated' => function ($index) {
+                        return $index * 10;
+                    },
+                    // @codingStandardsIgnoreEnd
+                ),
+                array(
+                    'name' => 'xxx %s'
+                ),
+                array(
+                    'name' => 'yyy %s'
+                ),
+            );
+            $this->_pattern = new \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern();
+            $this->_pattern->setHeaders(array_keys($patternData[0]));
+            $this->_pattern->setRowsSet($patternData);
+        }
+        return $this->_pattern;
+    }
+
+    /**
+     * Test complex generator iterator interface
+     */
+    public function testIteratorInterface()
+    {
+        $model = new \Magento\TestFramework\ImportExport\Fixture\Complex\Generator($this->getPattern(), 2);
+        $rows = array();
+        foreach ($model as $row) {
+            $rows[] = $row;
+        }
+        $this->assertEquals(array(
+            array('id' => '1', 'name' => 'Static', 'calculated' => 10),
+            array('id' => '',  'name' => 'xxx 1',  'calculated' => ''),
+            array('id' => '',  'name' => 'yyy 1',  'calculated' => ''),
+            array('id' => '2', 'name' => 'Static', 'calculated' => 20),
+            array('id' => '',  'name' => 'xxx 2',  'calculated' => ''),
+            array('id' => '',  'name' => 'yyy 2',  'calculated' => ''),
+        ), $rows);
+    }
+
+    /**
+     * Test generator getIndex
+     */
+    public function testGetIndex()
+    {
+        $model = new \Magento\TestFramework\ImportExport\Fixture\Complex\Generator($this->getPattern(), 4);
+        for ($i = 0; $i < 32; $i++) {
+            $this->assertEquals($model->getIndex($i), floor($i / $this->getPattern()->getRowsCount()) + 1);
+        }
+    }
+}
diff --git a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/PatternTest.php b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/PatternTest.php
new file mode 100644
index 00000000000..c0b2627c905
--- /dev/null
+++ b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/ImportExport/Fixture/Complex/PatternTest.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.
+ *
+ * @category    Magento
+ * @package     performance_tests
+ * @subpackage  unit_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\Test\ImportExport\Fixture\Complex;
+
+/**
+ * Class PatternTest
+ *
+ * @package Magento\Test\ImportExport\Fixture\Complex
+ */
+class PatternTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Get pattern object
+     *
+     * @param $patternData
+     *
+     * @return \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern
+     */
+    protected function getPattern($patternData)
+    {
+        $pattern = new \Magento\TestFramework\ImportExport\Fixture\Complex\Pattern();
+        $pattern->setHeaders(array_keys($patternData[0]));
+        $pattern->setRowsSet($patternData);
+        return $pattern;
+    }
+
+    /**
+     * Data source for pattern
+     *
+     * @return array
+     */
+    public function patternDataPrivider()
+    {
+        $result = array(
+            0 => array(
+                array(
+                    array(
+                        'id' => '%s',
+                        'name' => 'Static',
+                        // @codingStandardsIgnoreStart
+                        /**
+                         * PHP_CodeSniffer bug - http://pear.php.net/bugs/bug.php?id=19290 (fixed in 1.4.0)
+                         */
+                        'calculated' => function ($index) {
+                            return $index * 10;
+                        },
+                        // @codingStandardsIgnoreEnd
+                    ),
+                    array(
+                        'name' => 'xxx %s'
+                    ),
+                    array(
+                        'name' => 'yyy %s'
+                    ),
+                ),
+                'ecpectedCount'      => 3,
+                'expectedRowsResult' => array(
+                    array('id' => '1', 'name' => 'Static', 'calculated' => 10),
+                    array('id' => '',  'name' => 'xxx 1',  'calculated' => ''),
+                    array('id' => '',  'name' => 'yyy 1',  'calculated' => ''),
+                )
+            ),
+            1 => array(
+                array(
+                    array(
+                        'id' => '%s',
+                        'name' => 'Dynamic %s',
+                        'calculated' => 'calc %s',
+                    )
+                ),
+                'ecpectedCount' => 1,
+                'expectedRowsResult' => array(
+                    array('id' => '1', 'name' => 'Dynamic 1', 'calculated' => 'calc 1'),
+                )
+            )
+        );
+        return $result;
+    }
+
+    /**
+     * Test pattern object
+     *
+     * @param array $patternData
+     * @param int $expectedRowsCount
+     * @param array $expectedRowsResult
+     *
+     * @dataProvider patternDataPrivider
+     * @test
+     */
+    public function testPattern($patternData, $expectedRowsCount, $expectedRowsResult)
+    {
+        $pattern = $this->getPattern($patternData);
+        $this->assertEquals($pattern->getRowsCount(), $expectedRowsCount);
+        foreach ($expectedRowsResult as $key => $expectedRow) {
+            $this->assertEquals($expectedRow, $pattern->getRow(floor($key / $pattern->getRowsCount()) + 1, $key));
+        }
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Performance/TestsuiteTest.php b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Performance/TestsuiteTest.php
index fa2179e21e0..a6dff0e87f8 100644
--- a/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Performance/TestsuiteTest.php
+++ b/dev/tests/performance/framework/tests/unit/testsuite/Magento/Test/Performance/TestsuiteTest.php
@@ -27,33 +27,51 @@
 
 namespace Magento\Test\Performance;
 
+/**
+ * Class TestsuiteTest
+ *
+ * @package Magento\Test\Performance
+ */
 class TestsuiteTest extends \PHPUnit_Framework_TestCase
 {
     /**
+     * Testsuite object
+     *
      * @var \Magento\TestFramework\Performance\Testsuite
      */
     protected $_object;
 
     /**
+     * Config object
+     *
      * @var \Magento\TestFramework\Performance\Config
      */
     protected $_config;
 
     /**
-     * @var \Magento\TestFramework\Application|PHPUnit_Framework_MockObject_MockObject
+     * Application object
+     *
+     * @var \Magento\TestFramework\Application|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_application;
 
     /**
-     * @var \Magento\TestFramework\Performance\Scenario\HandlerInterface|PHPUnit_Framework_MockObject_MockObject
+     * Scenario handler
+     *
+     * @var \Magento\TestFramework\Performance\Scenario\HandlerInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_handler;
 
     /**
+     * Fixtures directory
+     *
      * @var string
      */
     protected $_fixtureDir;
 
+    /**
+     * Set up before test
+     */
     protected function setUp()
     {
         $this->_fixtureDir = __DIR__ . DIRECTORY_SEPARATOR . '_files';
@@ -74,6 +92,9 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
             new \Magento\TestFramework\Performance\Testsuite($this->_config, $this->_application, $this->_handler);
     }
 
+    /**
+     * Teardown after test
+     */
     protected function tearDown()
     {
         $this->_config = null;
@@ -145,6 +166,9 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
         }
     }
 
+    /**
+     * Test run testsuite
+     */
     public function testRun()
     {
         $this->_expectScenarioWarmUp('Scenario with Error', 'scenario_error.jmx', 0);
@@ -159,6 +183,9 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
         $this->_object->run();
     }
 
+    /**
+     * Scenario run test
+     */
     public function testOnScenarioRun()
     {
         $this->_handler
@@ -178,6 +205,8 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Test exception on scenario run
+     *
      * @expectedException \BadFunctionCallException
      */
     public function testOnScenarioRunException()
@@ -185,6 +214,9 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
         $this->_object->onScenarioRun('invalid_callback');
     }
 
+    /**
+     * Test scenario failure
+     */
     public function testOnScenarioFailure()
     {
         $scenario = new \Magento\TestFramework\Performance\Scenario('Scenario with Error', 'scenario_error.jmx',
@@ -224,10 +256,20 @@ class TestsuiteTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Test exception on scenario failure
+     *
      * @expectedException \BadFunctionCallException
      */
     public function testOnScenarioFailureException()
     {
         $this->_object->onScenarioFailure(array($this, 'invalid_callback'));
     }
+
+    /**
+     * Test get application
+     */
+    public function testGetApplication()
+    {
+        $this->assertEquals(true, $this->_object->getApplication() instanceof \Magento\TestFramework\Application);
+    }
 }
diff --git a/dev/tests/static/framework/Magento/TestFramework/Integrity/Library/Injectable.php b/dev/tests/static/framework/Magento/TestFramework/Integrity/Library/Injectable.php
index dd8ec067197..0d5169fdb06 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Integrity/Library/Injectable.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Integrity/Library/Injectable.php
@@ -49,6 +49,10 @@ class Injectable
             /** @var ClassReflection $class */
             foreach ($class->getMethods() as $method) {
                 /** @var \Zend\Code\Reflection\MethodReflection $method */
+                if ($method->getDeclaringClass()->getName() != $class->getName()) {
+                    continue;
+                }
+
                 foreach ($method->getParameters() as $parameter) {
                     try {
                         /** @var ParameterReflection $parameter */
diff --git a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
index 6760c50ea07..a736ae9f507 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
@@ -299,7 +299,7 @@ class Classes
             | (?:addBlock | createBlock | getBlockSingleton)\(\s*[\'"]([^\'"]+)[\'"]\s*[\),]
 
             # various methods, first argument
-            | \->(?:initReport | setDataHelperName | setEntityModelClass | _?initLayoutMessages
+            | \->(?:initReport | setDataHelperName | setEntityModelClass
                 | setAttributeModel | setBackendModel | setFrontendModel | setSourceModel | setModel
             )\(\s*[\'"]([^\'"]+)[\'"]\s*[\),]
 
diff --git a/dev/tests/static/framework/tests/unit/testsuite/Magento/Test/Integrity/Library/InjectableTest.php b/dev/tests/static/framework/tests/unit/testsuite/Magento/Test/Integrity/Library/InjectableTest.php
index d4fa065f414..e501a99c4ef 100644
--- a/dev/tests/static/framework/tests/unit/testsuite/Magento/Test/Integrity/Library/InjectableTest.php
+++ b/dev/tests/static/framework/tests/unit/testsuite/Magento/Test/Integrity/Library/InjectableTest.php
@@ -46,6 +46,11 @@ class InjectableTest extends \PHPUnit_Framework_TestCase
      */
     protected $parameterReflection;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $declaredClass;
+
     /**
      * @inheritdoc
      */
@@ -68,7 +73,15 @@ class InjectableTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
+        $this->declaredClass = $this->getMockBuilder('Zend\Code\Reflection\ClassReflection')
+            ->disableOriginalConstructor()
+            ->getMock();
+
         $methodReflection->expects($this->once())
+            ->method('getDeclaringClass')
+            ->will($this->returnValue($this->declaredClass));
+
+        $methodReflection->expects($this->any())
             ->method('getParameters')
             ->will($this->returnValue(array($this->parameterReflection)));
 
@@ -149,4 +162,18 @@ class InjectableTest extends \PHPUnit_Framework_TestCase
 
         $this->injectable->getDependencies($this->fileReflection);
     }
+
+    /**
+     * Covered when method declared in parent class
+     *
+     * @test
+     */
+    public function testGetDependenciesWhenMethodDeclaredInParentClass()
+    {
+        $this->declaredClass->expects($this->once())
+            ->method('getName')
+            ->will($this->returnValue('ParentClass'));
+
+        $this->injectable->getDependencies($this->fileReflection);
+    }
 }
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
index 179b69d371d..7b128a5f5e1 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
@@ -57,7 +57,7 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
                 \:\:get(?:ResourceModel | BlockSingleton | Model | Singleton)?\(\s*[\'"]([a-z\d\\\\]+)[\'"]\s*[\),]
 
                 # various methods, first argument
-                | \->(?:initReport | addBlock | createBlock | setDataHelperName | _?initLayoutMessages
+                | \->(?:initReport | addBlock | createBlock | setDataHelperName
                     | setAttributeModel | setBackendModel | setFrontendModel | setSourceModel | setModel
                 )\(\s*\'([a-z\d\\\\]+)\'\s*[\),]
 
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
index 4adc0eca352..392d57df4dd 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
@@ -61,7 +61,7 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
     protected $_mapper;
 
     /**
-     * @var \Magento\Code\Validator\ConstructorIntegrity
+     * @var \Magento\Code\Validator
      */
     protected $_validator;
 
@@ -84,7 +84,10 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
         $this->_command = 'php ' . $basePath
             . '/dev/tools/Magento/Tools/Di/compiler.php --generation=%s --di=%s';
         $this->_mapper = new \Magento\ObjectManager\Config\Mapper\Dom();
-        $this->_validator = new \Magento\Code\Validator\ConstructorIntegrity();
+        $this->_validator = new \Magento\Code\Validator();
+        $this->_validator->add(new \Magento\Code\Validator\ConstructorIntegrity());
+        $this->_validator->add(new \Magento\Code\Validator\ContextAggregation());
+        $this->_validator->add(new \Magento\Code\Validator\ArgumentSequence());
     }
 
     protected function tearDown()
@@ -161,16 +164,58 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
         );
         $replacements  = array('', '', '');
 
+        /** Convert file names into class name format */
         $classes = array();
         foreach ($files as $file) {
             $file = str_replace('/', '\\', $file);
             $filePath = preg_replace($patterns, $replacements, $file);
             $className = substr($filePath, 0, -4);
             if (class_exists($className)) {
-                $classes[$file] = array($className);
+                $classes[$file] = $className;
             }
         }
-        return $classes;
+
+        /** Build class inheritance hierarchy  */
+        $output = array();
+        foreach ($classes as $class) {
+            if (!in_array($class, $output)) {
+                $output = array_merge($output, $this->_buildInheritanceHierarchyTree($class));
+                $output = array_unique($output);
+            }
+        }
+
+        /** Convert data into data provider format */
+        $outputClasses = array();
+        foreach ($output as $className) {
+            $outputClasses[] = array($className);
+        }
+        return $outputClasses;
+    }
+
+    /**
+     * Build inheritance hierarchy tree
+     *
+     * @param string $className
+     * @return array
+     */
+    protected function _buildInheritanceHierarchyTree($className)
+    {
+        $output = array();
+        if (0 !== strpos($className, '\\')) {
+            $className = '\\' . $className;
+        }
+        $class = new \ReflectionClass($className);
+        $parent = $class->getParentClass();
+        if ($parent) {
+            $output = array_merge(
+                $this->_buildInheritanceHierarchyTree($parent->getName()),
+                array($className),
+                $output
+            );
+        } else {
+            $output[] = $className;
+        }
+        return array_unique($output);
     }
 
     /**
@@ -189,13 +234,13 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
         }
     }
 
+    /**
+     * Validate DI configuration
+     */
     public function testConfigurationOfInstanceParameters()
     {
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
         $invoker(
-            /**
-             * @param string $file
-             */
             function ($file) {
                 $this->_validateFile($file);
             },
@@ -203,6 +248,9 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
         );
     }
 
+    /**
+     * Validate constructor integrity
+     */
     public function testConstructorIntegrity()
     {
         $autoloader = new \Magento\Autoload\IncludePath();
@@ -222,6 +270,8 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * Test DI compiler
+     *
      * @depends testConfigurationOfInstanceParameters
      * @depends testConstructorIntegrity
      */
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Library/DependencyTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Library/DependencyTest.php
index b855f210f63..57e95653ec8 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/Library/DependencyTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Library/DependencyTest.php
@@ -73,8 +73,7 @@ class DependencyTest extends \PHPUnit_Framework_TestCase
 
         foreach ($dependencies as $dependency) {
             if (preg_match('#^(\\\\|)' . implode('|', $this->getForbiddenNamespaces()) . '\\\\#', $dependency)
-                && !class_exists($dependency)
-                && !interface_exists($dependency)
+                && !file_exists(BP . '/lib/' . str_replace('\\', '/', $dependency) . '.php')
             ) {
                 $this->errors[$fileReflection->getFileName()][] = $dependency;
             }
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Library/_files/blacklist.txt b/dev/tests/static/testsuite/Magento/Test/Integrity/Library/_files/blacklist.txt
index df93f0a6bb3..23cb16b70ce 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/Library/_files/blacklist.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Library/_files/blacklist.txt
@@ -40,9 +40,12 @@ lib/Magento/Filter/Object/Grid.php
 lib/Magento/Filter/Object.php
 
 lib/Magento/View/Context.php
-lib/Magento/View/Service.php
-lib/Magento/View/Config.php
-lib/Magento/View/Layout/File/Source/Decorator/ModuleOutput.php
+lib/Magento/View/Block/Html/Calendar.php
+lib/Magento/View/Block/Messages.php
+lib/Magento/View/Block/AbstractBlock.php
+lib/Magento/View/Block/Template.php
+lib/Magento/View/Block/Context.php
+lib/Magento/View/Block/Template/Context.php
 
 lib/Magento/App/Module/ResourceResolver.php
 lib/Magento/Event/Invoker/InvokerDefault.php
@@ -50,3 +53,7 @@ lib/Magento/Phrase/Renderer/Translate.php
 lib/Magento/Backup/Snapshot.php
 lib/Magento/Outbound/Authentication/Hmac.php
 lib/Magento/Oauth/Exception.php
+
+lib/Magento/App/Helper/AbstractHelper.php
+lib/Magento/App/Helper/Context.php
+
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
index 37dfcfb1851..d4b10828388 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
@@ -53,4 +53,8 @@ dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/n
 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
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_start_public.php
+dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForConstructorIntegrity.php
+dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForContextAggregation.php
+dev/tests/unit/testsuite/Magento/Code/Reader/_files/ClassesForArgumentsReader.php
+dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForArgumentSequence.php
\ No newline at end of file
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php
index 96e1fba1d74..5b1cfc991d6 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/LayoutTest.php
@@ -145,8 +145,8 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                     );
                 }
                 $this->assertSame(array(),
-                    $layoutXml->xpath('/layout//block[@class="Magento\Core\Block\Text\ListText"]'),
-                    'The class \Magento\Core\Block\Text\ListTest is not supposed to be used in layout anymore.'
+                    $layoutXml->xpath('/layout//block[@class="Magento\View\Block\Text\ListText"]'),
+                    'The class \Magento\View\Block\Text\ListTest is not supposed to be used in layout anymore.'
                 );
             },
             \Magento\TestFramework\Utility\Files::init()->getLayoutFiles()
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/Magento/Core/Block/AbstractBlockTest.php
index 95c3329d669..564a6124eae 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/Magento/Core/Block/AbstractBlockTest.php
@@ -26,7 +26,7 @@
  */
 
 /**
- * Tests usage of \Magento\Core\Block\AbstractBlock
+ * Tests usage of \Magento\View\Block\AbstractBlock
  */
 namespace Magento\Test\Legacy\Magento\Core\Block;
 
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
index ed833af0a5d..2e9825fc784 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
@@ -308,7 +308,7 @@ class ObsoleteCodeTest extends \PHPUnit_Framework_TestCase
         if (0 === strpos($file, \Magento\TestFramework\Utility\Files::init()->getPathToSource() . '/app/')) {
             $this->_assertNotRegexp('/[^a-z\d_]getChild\s*\(/iS', $content,
                 'Block method getChild() is obsolete. ' .
-                'Replacement suggestion: \Magento\Core\Block\AbstractBlock::getChildBlock()'
+                'Replacement suggestion: \Magento\View\Block\AbstractBlock::getChildBlock()'
             );
         }
     }
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 e6b008a1b25..4babc7a6336 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
@@ -178,7 +178,31 @@ return array(
     array('Mage_Adminhtml_Block_System_Config_Dwstree', 'Magento\Backend\Block\System\Config\Dwstree'),
     array('Mage_Adminhtml_Block_System_Config_Switcher', 'Magento\Backend\Block\System\Config\Switcher'),
     array('Mage_Adminhtml_Block_System_Design_Grid'),
+    array('Magento\Adminhtml\Block\System\Email\Template',
+        'Magento\Email\Block\Adminhtml\Template'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Edit',
+        'Magento\Email\Block\Adminhtml\Template\Edit'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Edit\Form',
+        'Magento\Email\Block\Adminhtml\Template\Edit\Form'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Preview',
+        'Magento\Email\Block\Adminhtml\Template\Preview'
+    ),
     array('Mage_Adminhtml_Block_System_Email_Template_Grid'),
+    array('Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Action',
+        'Magento\Email\Block\Adminhtml\Template\Grid\Renderer\Action'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Sender',
+        'Magento\Email\Block\Adminhtml\Template\Grid\Renderer\Sender'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Type',
+        'Magento\Email\Block\Adminhtml\Template\Grid\Renderer\Type'
+    ),
+    array('Magento\Adminhtml\Block\System\Email\Template\Grid\Filter\Type',
+        'Magento\Email\Block\Adminhtml\Template\Grid\Filter\Type'
+    ),
     array('Mage_Adminhtml_Block_System_Variable_Grid'),
     array('Mage_Adminhtml_Block_Store_Switcher', 'Magento\Backend\Block\Store\Switcher'),
     array('Mage_Adminhtml_Block_Store_Switcher_Form_Renderer_Fieldset',
@@ -193,9 +217,13 @@ return array(
     array('Mage_Adminhtml_Block_Tax_Rule_Grid'),
     array('Mage_Adminhtml_Block_Tree'),
     array('Mage_Adminhtml_Block_Urlrewrite_Grid'),
+    array('Magento\Adminhtml\Controller\System\Email\Template',
+        'Magento\Email\Controller\Adminhtml\Template'
+    ),
     array('Mage_Adminhtml_Helper_Rss'),
     array('Mage_Adminhtml_Model_Config', 'Magento\Backend\Model\Config\Structure'),
     array('Mage_Adminhtml_Model_Config_Data', 'Magento\Backend\Model\Config'),
+    array('Magento\Adminhtml\Model\Email\Template', 'Magento\Email\Model\Adminhtml\Template'),
     array('Mage_Adminhtml_Model_Extension'),
     array('Mage_Adminhtml_Model_System_Config_Source_Shipping_Allowedmethods'),
     array('Mage_Adminhtml_Model_System_Config_Backend_Admin_Password_Link_Expirationperiod',
@@ -593,11 +621,24 @@ return array(
     array('Mage_Core_Model_Config_System'),
     array('Mage_Core_Model_Design_Source_Apply'),
     array('Mage_Core_Model_Language'),
+    array('Magento\Core\Model\Email\Info', 'Magento\Email\Model\Info'),
+    array('Magento\Core\Model\Email\Sender', 'Magento\Email\Model\Sender'),
+    array('Magento\Core\Model\Email\Template', 'Magento\Email\Model\Template'),
+    array('Magento\Core\Model\Email\Transport', 'Magento\Email\Model\Transport'),
+    array('Magento\Core\Model\Email\Template\Config', 'Magento\Email\Model\Template\Config'),
+    array('Magento\Core\Model\Email\Template\Filter', 'Magento\Email\Model\Template\Filter'),
+    array('Magento\Core\Model\Email\Template\Mailer', 'Magento\Email\Model\Template\Mailer'),
+    array('Magento\Core\Model\Email\Template\Config\Converter', 'Magento\Email\Model\Template\Config\Converter'),
+    array('Magento\Core\Model\Template\Config\Data', 'Magento\Email\Model\Template\Config\Data'),
+    array('Magento\Core\Model\Template\Config\SchemaLocator', 'Magento\Email\Model\Template\Config\SchemaLocator'),
+    array('Magento\Core\Model\Resource\Email\Template', 'Magento\Email\Model\Resource\Template'),
+    array('Magento\Core\Model\Resource\Email\Template\Collection', 'Magento\Email\Model\Resource\Template\Collection'),
     array('Mage_Core_Model_Resource_Language'),
     array('Mage_Core_Model_Resource_Language_Collection'),
     array('Mage_Core_Model_Resource_Setup_Query_Modifier'),
     array('Mage_Core_Model_Session_Abstract_Varien'),
     array('Mage_Core_Model_Session_Abstract_Zend'),
+    array('Magento\Core\Model\Source\Email\Variables', 'Magento\Email\Model\Source\Variables'),
     array('Mage_Core_Model_Store_Group_Limitation'),
     array('Mage_Core_Model_Store_Limitation'),
     array('Magento\Core\Model\Variable\Observer'),
@@ -1116,10 +1157,10 @@ return array(
     array('Magento\Core\Model\Layout\File\Source\Theme', 'Magento\View\Layout\File\Source\Theme'),
     array('Magento\Core\Model\Layout\File\SourceInterface', 'Magento\View\Layout\File\SourceInterface'),
     array('Magento\Core\Model\LayoutFactory', 'Magento\View\LayoutFactory'),
-    array('Magento\Core\Model\TemplateEngine\EngineInterface','Magento\View\TemplateEngineInterface'),
-    array('Magento\Core\Model\TemplateEngine\Factory','Magento\View\TemplateEngineFactory'),
-    array('Magento\Core\Model\TemplateEngine\Php','Magento\View\TemplateEngine\Php'),
-    array('Magento\Core\Model\TemplateEngine\Pool'),
+    array('Magento\Core\Model\TemplateEngine\EngineInterface', 'Magento\View\TemplateEngineInterface'),
+    array('Magento\Core\Model\TemplateEngine\Factory', 'Magento\View\TemplateEngineFactory'),
+    array('Magento\Core\Model\TemplateEngine\Php', 'Magento\View\TemplateEngine\Php'),
+    array('Magento\Core\Model\TemplateEngine\Pool', 'Magento\View\TemplateEnginePool'),
     array('Magento\Media\Model\File\Image'),
     array('Magento\Media\Model\Image'),
     array('Magento\Media\Helper\Data'),
@@ -1251,10 +1292,6 @@ return array(
         'Magento\Adminhtml\Controller\System\Design',
         'Magento\Backend\Controller\Adminhtml\System\Design',
     ),
-    array(
-        'Magento\Adminhtml\Controller\System\Email\Template',
-        'Magento\Backend\Controller\Adminhtml\System\Email\Template',
-    ),
     array(
         'Magento\Adminhtml\Controller\System\Store',
         'Magento\Backend\Controller\Adminhtml\System\Store',
@@ -1295,38 +1332,6 @@ return array(
         'Magento\Adminhtml\Block\System\Design',
         'Magento\Backend\Block\System\Design'
     ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Edit\Form',
-        'Magento\Backend\Block\System\Email\Template\Edit\Form'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Edit',
-        'Magento\Backend\Block\System\Email\Template\Edit'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Grid\Filter\Type',
-        'Magento\Backend\Block\System\Email\Template\Grid\Filter\Type'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Action',
-        'Magento\Backend\Block\System\Email\Template\Grid\Renderer\Action'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Sender',
-        'Magento\Backend\Block\System\Email\Template\Grid\Renderer\Sender'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Grid\Renderer\Type',
-        'Magento\Backend\Block\System\Email\Template\Grid\Renderer\Type'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template\Preview',
-        'Magento\Backend\Block\System\Email\Template\Preview'
-    ),
-    array(
-        'Magento\Adminhtml\Block\System\Email\Template',
-        'Magento\Backend\Block\System\Email\Template'
-    ),
     array(
         'Magento\Adminhtml\Block\System\Shipping\Ups',
         'Magento\Backend\Block\System\Shipping\Ups'
@@ -1430,7 +1435,8 @@ return array(
     array('Magento\Log\Model\EntryPoint\Shell', 'Magento\Log\App\Shell'),
     array('Magento\Index\Model\EntryPoint\Shell', 'Magento\Index\App\Shell'),
     array('Magento\Index\Model\EntryPoint\Indexer', 'Magento\Index\App\Indexer'),
-    array('\Magento\Core\Model\EntryPoint\Media', '\Magento\Core\App\Media'),
+    array('Magento\Core\Model\Config\Modules\Reader', 'Magento\Module\Dir\Reader'),
+    array('Magento\Data\Form\Factory', 'Magento\Data\FormFactory'),
     array('Magento\App\Cache\Config', 'Magento\Cache\Config'),
     array('Magento\App\Cache\Config\Converter', 'Magento\Cache\Config\Converter'),
     array('Magento\App\Cache\Config\Data', 'Magento\Cache\Config\Data'),
@@ -1440,7 +1446,36 @@ return array(
     array('Magento\Core\Model\Fieldset\Config\Converter', 'Magento\Object\Copy\Config\Converter'),
     array('Magento\Core\Model\Fieldset\Config\Data', 'Magento\Object\Copy\Config\Data'),
     array('Magento\Core\Model\Fieldset\Config\Reader', 'Magento\Object\Copy\Config\Reader'),
-    array('Magento\Core\Model\Fieldset\Config\SchemaLocator', 'Magento\Object\Copy\Config\SchemaLocator'),
-    array('Magento\Core\Model\EntryPoint\Media', '\Magento\Core\App\Media'),
+    array('Magento\Core\Model\Fieldset\Config\SchemaLocator', 'Magento\Object\Copy\Config\SchemaLocator'),    
     array('Magento\Core\Model\ModuleManager', 'Magento\Module\Manager'),
+    array('Magento\Core\Model\EntryPoint\Media', 'Magento\Core\App\Media'),
+    array('Magento\Core\Controller\Varien\Action', 'Magento\App\Action\Action'),
+    array('Magento\Core\Controller\Varien\Action\Context', 'Magento\App\Action\Context'),
+    array('Magento\Backend\Controller\AbstractAction', 'Magento\Backend\App\AbstractAction'),
+    array('Magento\Backend\Controller\Context', 'Magento\Backend\App\Action\Context'),
+    array('Magento\Backend\Controller\Adminhtml\Action', 'Magento\Backend\App\Action'),
+    array('Magento\Core\Block\Text', 'Magento\View\Block\Text'),
+    array('Magento\Core\Block\Text\ListText', 'Magento\View\Block\Text\ListText'),
+    array('Magento\Core\Block\Text\TextList\Item', 'Magento\View\Block\Text\TextList\Item'),
+    array('Magento\Core\Block\Text\TextList\Link', 'Magento\View\Block\Text\TextList\Link'),
+    array('Magento\Core\Block\Messages', 'Magento\View\Block\Messages'),
+    array('Magento\Core\Model\Message', 'Magento\Message\Factory'),
+    array('Magento\Core\Model\Message\AbstractMessage', 'Magento\Message\AbstractMessage'),
+    array('Magento\Core\Model\Message\Collection', 'Magento\Message\Collection'),
+    array('Magento\Core\Model\Message\CollectionFactory', 'Magento\Message\CollectionFactory'),
+    array('Magento\Core\Model\Message\Error', 'Magento\Message\Error'),
+    array('Magento\Core\Model\Message\Warning', 'Magento\Message\Warning'),
+    array('Magento\Core\Model\Message\Notice', 'Magento\Message\Notice'),
+    array('Magento\Core\Model\Message\Success', 'Magento\Message\Success'),
+    array('Magento\Core\Block\Html\Date', 'Magento\View\Block\Html\Date'),
+    array('Magento\Core\Block\Html\Select', 'Magento\View\Block\Html\Select'),
+    array('Magento\Core\Block\AbstractBlock', 'Magento\View\Block\AbstractBlock'),
+    array('Magento\Core\Block\Template', 'Magento\View\Block\Template'),
+    array('Magento\Core\Block\Html\Calendar', 'Magento\View\Block\Html\Calendar'),
+    array('Magento\Core\Block\Html\Link', 'Magento\View\Block\Html\Link'),
+    array('Magento\Core\Block\Context', 'Magento\View\Block\Context'),
+    array('Magento\Core\Model\Factory\Helper', 'Magento\App\Helper\HelperFactory'),
+    array('Magento\Core\Helper\AbstractHelper', 'Magento\App\Helper\AbstractHelper'),
+    array('Magento\Core\Helper\Context', 'Magento\App\Helper\Context'),
+    array('Magento\Core\Block\Template\Context', 'Magento\View\Block\Template\Context'),
 );
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 35306594018..3cc13f9522f 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
@@ -34,7 +34,7 @@ return array(
     '/config/general/locale'                   =>
         'This configuration moved to Di configuration of \Magento\Core\Model\Locale\Config model',
     '/config/global/can_use_base_url'          =>
-        'This configuration moved to Di configuration of \Magento\Backend\Controller\Context class',
+        'This configuration moved to Di configuration of \Magento\Backend\App\Action\Context class',
     '/config/global/locale/allow/codes'        =>
         'This configuration moved to Di configuration of \Magento\Core\Model\Locale\Config model',
     '/config/global/locale/allow/currencies'   =>
@@ -77,7 +77,7 @@ return array(
     '/config/global/secure_url' =>
         'This configuration moved to Di configuration of \Magento\Core\Model\Url\SecurityInfo',
     '/config/global/dev' =>
-        'This configuration moved to Di configuration of \Magento\Core\Controller\Varien\Action\Context',
+        'This configuration moved to Di configuration of \Magento\App\Action\Context',
     '/config/global/webapi' =>
         'This configuration moved to Di configuration of \Magento\Webapi\Controller\Request\Rest\Interpreter\Factory'
         . ' and \Magento\Webapi\Controller\Response\Rest\Renderer\Factory',
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 18297c73e2c..2ad87198adc 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
@@ -168,12 +168,12 @@ return array(
     array('XML_PATH_COUNTRY_DEFAULT', 'Magento\Paypal\Model\System\Config\Backend\MerchantCountry'),
     array(
         'XML_PATH_DEBUG_TEMPLATE_HINTS',
-        'Magento\Core\Block\Template',
+        'Magento\View\Block\Template',
         'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS'
     ),
     array(
         'XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS',
-        'Magento\Core\Block\Template',
+        'Magento\View\Block\Template',
         'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS'
     ),
     array('XML_PATH_DEFAULT_COUNTRY', 'Magento\Core\Model\Locale'),
@@ -272,7 +272,7 @@ return array(
     ),
     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'),
+    array('XML_PAGE_TYPE_RENDER_INHERITED', 'Magento\App\Action\Action'),
     array('XML_PATH_ALLOW_MAP_UPDATE', 'Magento\Core\Model\Design\FileResolution\StrategyPool'),
     array('XML_PATH_WEBAPI_REQUEST_INTERPRETERS', 'Magento\Webapi\Controller\Request\Rest\Interpreter\Factory'),
     array('XML_PATH_WEBAPI_RESPONSE_RENDERS', 'Magento\Webapi\Controller\Response\Rest\Renderer\Factor'),
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 504396a2aa6..8f3c6dbc791 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
@@ -122,6 +122,7 @@ return array(
     array('_initCache', 'Magento\Core\Model\App'),
     array('_initCurrentStore', 'Magento\Core\Model\App'),
     array('_initFileSystem', 'Magento\Core\Model\App'),
+    array('_initLayoutMessages', 'Magento\App\Action\Action'),
     array('_initLogger', 'Magento\Core\Model\App'),
     array('_initModules', 'Magento\Core\Model\App'),
     array('_initModulesPreNamespaces', 'Magento\Core\Model\Config'),
@@ -356,12 +357,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\View\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('getEngineFactory', 'Magento\View\Block\Template\Context', 'getEnginePool'),
     array('getEntityIdsToIncrementIds', 'Magento\Rss\Model\Resource\Order'),
     array('getEntityTypeIdsToTypes', 'Magento\Rss\Model\Resource\Order'),
     array('getEventConfig', 'Magento\Core\Model\Config'),
@@ -498,7 +499,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('getShowTemplateHints', 'Magento\View\Block\Template'),
     array('getSortedChildBlocks', '', 'getChildNames() + $this->getLayout()->getBlock($name)'),
     array('getSortedChildren', '', 'getChildNames'),
     array('getSortedElements', 'Magento\Data\Form\Element\Fieldset', 'getElements'),
@@ -575,6 +576,7 @@ return array(
     array('initCache'),
     array('initControllerRouters', 'Magento\Cms\Controller\Router'),
     array('initLabels', 'Magento\Catalog\Model\Resource\Eav\Attribute'),
+    array('initLayoutMessages', 'Magento\App\Action\Action'),
     array('initSerializerBlock', 'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Ajax\Serializer'),
     array('initSerializerBlock', 'Magento\Backend\Block\Widget\Grid\Serializer'),
     array('initSpecified', 'Magento\Core\Model\App'),
@@ -598,7 +600,7 @@ return array(
     array('isVerbose', 'Magento_Shell'),
     array('isWindowsOs', 'Magento\TestFramework\Helper\Memory'),
     array('load', 'Magento\Core\Model\Layout\Update', 'Magento\Core\Model\Layout\Merge'),
-    array('loadBaseContents', 'Magento\Core\Model\Email\Template'),
+    array('loadBaseContents', 'Magento\Email\Model\Template'),
     array('loadBase', 'Magento\Core\Model\Config'),
     array('loadDb', 'Magento\Core\Model\Config'),
     array('loadDiConfiguration', 'Magento\Core\Model\Config'),
@@ -703,7 +705,7 @@ return array(
     array('setResourceConfig', 'Magento\App\Resource'),
     array('setSaveTemplateFlag', 'Magento\Newsletter\Model\Queue'),
     array('setScriptPath'),
-    array('setScriptPath', 'Magento\Core\Block\Template'),
+    array('setScriptPath', 'Magento\View\Block\Template'),
     array('setShipId', 'Magento\Shipping\Block\Tracking\Popup'),
     array('setSortElementsByAttribute', 'Magento\Data\Form\Element\Fieldset'),
     array('setStore', 'Magento\Captcha\Helper\Data'),
@@ -822,8 +824,8 @@ return array(
     array('_initMetaTags', 'Magento\Page\Block\Html\Head'),
     array('addMetaTag', 'Magento\Page\Block\Html\Head'),
     array('getDefaultMetaTags', 'Magento\Page\Block\Html\Head'),
-    array('getDefaultTemplates', 'Magento\Core\Model\Email\Template'),
-    array('getDefaultTemplatesAsOptionsArray', 'Magento\Core\Model\Email\Template',
+    array('getDefaultTemplates', 'Magento\Email\Model\Template'),
+    array('getDefaultTemplatesAsOptionsArray', 'Magento\Email\Model\Template',
         'Magento_Adminhtml_Block_System_Email_Template_Edit::_getDefaultTemplatesAsOptionsArray'),
     array('getMetaTags', 'Magento\Page\Block\Html\Head'),
     array('getMetaTagHtml', 'Magento\Page\Block\Html\Head'),
@@ -889,11 +891,11 @@ return array(
     array('validateKey', '\Magento\Core\Helper\Data', '\Magento\Encryption\EncryptorInterface'),
     array('validateHash', '\Magento\Core\Helper\Data'),
     array('getHash', '\Magento\Core\Helper\Data'),
-    array('escapeHtml', '\Magento\Core\Helper\AbstractHelper', '\Magento\Escaper::escapeHtml'),
-    array('escapeUrl', '\Magento\Core\Helper\AbstractHelper', '\Magento\Escaper::escapeUrl'),
-    array('jsQuoteEscape', '\Magento\Core\Helper\AbstractHelper', '\Magento\Escaper::escapeJsQuote'),
-    array('quoteEscape', '\Magento\Core\Helper\AbstractHelper', '\Magento\Escaper::escapeQuote'),
-    array('removeTags', '\Magento\Core\Helper\AbstractHelper', '\Magento\Filter\FilterManager'),
+    array('escapeHtml', '\Magento\App\Helper\AbstractHelper', '\Magento\Escaper::escapeHtml'),
+    array('escapeUrl', '\Magento\App\Helper\AbstractHelper', '\Magento\Escaper::escapeUrl'),
+    array('jsQuoteEscape', '\Magento\App\Helper\AbstractHelper', '\Magento\Escaper::escapeJsQuote'),
+    array('quoteEscape', '\Magento\App\Helper\AbstractHelper', '\Magento\Escaper::escapeQuote'),
+    array('removeTags', '\Magento\App\Helper\AbstractHelper', '\Magento\Filter\FilterManager'),
     array('removeAccents', '\Magento\Core\Helper\Data', '\Magento\Filter\FilterManager'),
     array('splitWords', '\Magento\Core\Helper\String', '\Magento\Filter\FilterManager'),
     array('strlen', '\Magento\Core\Helper\String', '\Magento\Stdlib\String::strlen'),
@@ -909,7 +911,9 @@ return array(
     array('is_empty_date'),
     array('now'),
     array('uniqHash', '\Magento\Core\Helper\Data', '\Magento\Math\Random::getUniqueHash'),
-    array('getMerchantCountryCode', '\Magento\Core\Helper\Data', '\Magento\Customer\Helper\Data::getMerchantCountryCode'),
+    array('getMerchantCountryCode', '\Magento\Core\Helper\Data',
+        '\Magento\Customer\Helper\Data::getMerchantCountryCode'
+    ),
     array('getMerchantVatNumber', '\Magento\Core\Helper\Data', '\Magento\Customer\Helper\Data::getMerchantVatNumber'),
     array('isCountryInEU', '\Magento\Core\Helper\Data', '\Magento\Customer\Helper\Data::isCountryInEU'),
     array('assocToXml', '\Magento\Core\Helper\Data', '\Magento\Convert\ConvertArray::assocToXml'),
@@ -922,7 +926,8 @@ return array(
     array('getPublicFilesValidPath', '\Magento\Core\Helper\Data'),
     array('getViewConfig', '\Magento\Core\Model\View\Config', 'get'),
     array('_getSession', '\Magento\Catalog\Helper\Product\Compare', '$this->_catalogSession'),
-    array('getEnginePool', '\Magento\Core\Block\Template\Context', 'getEngineFactory'),
+    array('getEnginePool', '\Magento\View\Block\Template\Context', 'getEngineFactory'),
+    array('getHtml', 'Magento\View\Block\Messages'),
     array('is_dir_writeable'),
     array('destruct'),
     array('mageDebugBacktrace'),
@@ -938,8 +943,76 @@ return array(
     array('getServerAddr', '\Magento\Core\Helper\Http', 'Magento\HTTP\PhpEnvironment\ServerAddress::getServerAddress'),
     array('formatDate', 'Magento\Core\Model\Resource\AbstractResource', '\Magento\Stdlib\DateTime::formatDate'),
     array('mktime', 'Magento\Core\Model\Resource\AbstractResource', '\Magento\Stdlib\DateTime::toTimestamp'),
+    array('getPlainTemplateMode', '\Magento\Email\Model\Template\Filter'),
+    array('getMessage', '\Magento\Core\Model\Session\Context', 'getMessageFactory'),
+    array('getMessageFactory', '\Magento\Core\Model\Session\Context', 'getMessagesFactory'),
     array('copyFieldsetToTarget', 'Magento\Core\Helper\Data', 'Magento\Object\Copy::copyFieldsetToTarget'),
     array('formatDate', '\Magento\Core\Helper\Data', '\Magento\Core\Model\Locale::formatDate'),
     array('formatTime', '\Magento\Core\Helper\Data', '\Magento\Core\Model\Locale::formatTime'),
     array('_getConfigTimezone', '\Magento\Core\Model\Date', '\Magento\Core\Model\Locale::getConfigTimezone'),
+    array('_filterPostData', '\Magento\Checkout\Controller\Onepage'),
+    array('_filterPostData', '\Magento\Customer\Controller\Account'),
+    array('_filterPostData', '\Magento\Customer\Controller\Adminhtml\Index'),
+    array('setRedirectWithCookieCheck', '\Magento\Core\Controller\Varien\Action'),
+    array('noCookiesAction', '\Magento\Core\Controller\Varien\Action'),
+    array('norouteAction', '\Magento\Core\Controller\Varien\Action'),
+    array('getActionMethodName', '\Magento\Core\Controller\Varien\Action'),
+    array('initLayoutMessages', '\Magento\Core\Controller\Varien\Action', '\Magento\Core\Model\Layout::initMessages'),
+    array('_initLayoutMessages', '\Magento\Core\Controller\Varien\Action', '\Magento\Core\Model\Layout::initMessages'),
+    array('preDispatch', '\Magento\Core\Controller\Varien\Action'),
+    array('postDispatch', '\Magento\Core\Controller\Varien\Action'),
+    array('hasAction', '\Magento\Core\Controller\Varien\Action'),
+    array('_startSession', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\Core\App\Action\Plugin\Session::aroundDispatch'
+    ),
+    array('_redirectSuccess', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\Response\RedirectInterface::success'
+    ),
+    array('_redirectUrl', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\Response\RedirectInterface::redirect'
+    ),
+    array('_redirectError', '\Magento\Core\Controller\Varien\Action', '\Magento\App\Response\RedirectInterface::error'),
+    array('_redirectReferer', '\Magento\Core\Controller\Varien\Action'),
+    array('_validateFormKey', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\Core\App\Action\FormKeyValidator::validate'
+    ),
+    array('_getRefererUrl', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\Response\RedirectInterface::getRefererUrl'
+    ),
+    array('_isUrlInternal', '\Magento\Core\Controller\Varien\Action'),
+    array('_filterDateTime', '\Magento\Core\Controller\Varien\Action', '\Magento\Core\Filter\DateTime::filter'),
+    array('_filterDates', '\Magento\Core\Controller\Varien\Action', '\Magento\Core\Filter\Date::filter'),
+
+    array('_initDesign', '\Magento\Core\Controller\Varien\Action', '\Magento\Core\Model\DesignLoader::load'),
+    array('_firePreDispatchEvents', '\Magento\Core\Controller\Varien\Action'),
+    array('_prepareDownloadResponse', '\Magento\Core\Controller\Varien\Action'),
+    array('_title', '\Magento\Core\Controller\Varien\Action', '\Magento\App\Action\Title::add'),
+    array('_renderTitles', '\Magento\Core\Controller\Varien\Action'),
+    array('getFlag', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ActionFlag::get'),
+    array('setFlag', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ActionFlag::set'),
+    array('loadLayout', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ViewInterface::'),
+    array('addPageLayoutHandles', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ViewInterface::loadLayout'),
+    array('getDefaultLayoutHandle', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\ViewInterface::getDefaultLayoutHandle'
+    ),
+    array('generateLayoutXml', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\ViewInterface::generateLayoutXml'
+    ),
+    array('renderLayout', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ViewInterface::renderLayout'),
+    array('getLayout', '\Magento\Core\Controller\Varien\Action', '\Magento\App\ViewInterface::getLayout'),
+    array('loadLayoutUpdates', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\ViewInterface::loadLayoutUpdates'
+    ),
+    array('generateLayoutBlocks', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\ViewInterface::generateLayoutBlocks'
+    ),
+    array('addActionLayoutHandles', '\Magento\Core\Controller\Varien\Action',
+        '\Magento\App\ViewInterface::addActionLayoutHandles'
+    ),
+    array('getTranslator', '\Magento\App\Helper\Context'),
+    array('getTranslator', '\Magento\Core\Helper\Data'),
+    array('_loadCache', '\Magento\App\Helper\AbstractHelper'),
+    array('_saveCache', '\Magento\App\Helper\AbstractHelper'),
+    array('_removeCache', '\Magento\App\Helper\AbstractHelper'),
+    array('_cleanCache', '\Magento\App\Helper\AbstractHelper'),
 );
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 5ec57ca9d26..f9904b14edb 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
@@ -49,7 +49,7 @@ return array(
     array('_currency', 'Magento\GoogleCheckout\Model\Api\Xml\Checkout'),
     array('_currencyNameTable'),
     array('_customEtcDir', 'Magento\Core\Model\Config'),
-    array('_defaultTemplates', 'Magento\Core\Model\Email\Template'),
+    array('_defaultTemplates', 'Magento\Email\Model\Template'),
     array('_designProductSettingsApplied'),
     array('_directOutput', 'Magento\Core\Model\Layout'),
     array('_dirs', 'Magento\App\Resource'),
@@ -87,9 +87,9 @@ return array(
     array('_skipFieldsByModel'),
     array('_ship_id'),
     array('_shipTable', 'Magento\Shipping\Model\Resource\Carrier\Tablerate\Collection'),
-    array('_showTemplateHints', 'Magento\Core\Block\Template',
+    array('_showTemplateHints', 'Magento\View\Block\Template',
         'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
-    array('_showTemplateHintsBlocks', 'Magento\Core\Block\Template',
+    array('_showTemplateHintsBlocks', 'Magento\View\Block\Template',
         'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
     array('_sortedChildren'),
     array('_sortInstructions'),
@@ -97,26 +97,34 @@ return array(
     array('_substServerVars'),
     array('_track_id'),
     array('_varSubFolders', null, 'Magento\App\Dir'),
-    array('_viewDir', 'Magento\Core\Block\Template', '_dirs'),
+    array('_viewDir', 'Magento\View\Block\Template', '_dirs'),
     array('decoratedIsFirst', null, 'getDecoratedIsFirst'),
     array('decoratedIsEven', null, 'getDecoratedIsEven'),
     array('decoratedIsOdd', null, 'getDecoratedIsOdd'),
     array('decoratedIsLast', null, 'getDecoratedIsLast'),
-    array('static', 'Magento\Core\Model\Email\Template\Filter'),
+    array('static', 'Magento\Email\Model\Template\Filter'),
     array('_useAnalyticFunction'),
     array('_defaultIndexer', 'Magento\CatalogInventory\Model\Resource\Indexer\Stock'),
     array('_engine', 'Magento\CatalogSearch\Model\Resource\Fulltext'),
     array('_allowedAreas', 'Magento\Core\Model\Config'),
     array('_app', 'Magento\Core\Block\AbstractBlock'),
-    array('_app', 'Magento\Core\Block\Template'),
+    array('_app', 'Magento\View\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'),
-    array('_enginePool', '\Magento\Core\Block\Template\Context', '_engineFactory'),
+    array('_enginePool', '\Magento\View\Block\Template\Context', '_engineFactory'),
     array('_allowedFormats', '\Magento\Core\Helper\Data', '\Magento\Core\Model\Locale'),
     array('types', '\Magento\Core\Model\Theme'),
     array('_collectionFactory', '\Magento\Install\Controller\Action', 'themeProvider'),
     array('_collectionFactory', '\Magento\Theme\Model\Config\Customization', 'themeProvider'),
+    array('_message', 'Magento\Checkout\Model\Cart', 'messageFactory'),
+    array('_message', 'Magento\Core\Model\Session\AbstractSession', 'messageFactory'),
+    array('_messageFactory', 'Magento\Core\Model\Session\AbstractSession', 'messagesFactory'),
+    array('_message', 'Magento\Core\Model\Session\Context', 'messageFactory'),
+    array('_messageFactory', 'Magento\Core\Model\Session\Context', 'messagesFactory'),
+    array('_sessionQuote', 'Magento\Sales\Block\Adminhtml\Order\Create\Messages', 'sessionQuote'),
+    array('_coreRegistry', 'Magento\Sales\Block\Adminhtml\Order\View\Messages', 'coreRegistry'),
+    array('_message', 'Magento\Sales\Model\Quote', 'messageFactory'),
 );
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 48008e71d27..9be1da2d862 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
@@ -9,6 +9,7 @@ app/code/Magento/Backend/Block/Widget/Grid
 app/code/Magento/Backend/view
 app/code/Magento/Core/Model/Config/Element.php
 app/code/Magento/DesignEditor/view
+app/code/Magento/Email/view
 app/code/Magento/Theme/view
 app/code/Magento/User/view
 app/code/Magento/Webapi/view
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 527a291185f..b5112146f16 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
@@ -77,6 +77,7 @@ Magento/Shipping/Model/Carrier
 Magento/CatalogRule/Model
 Magento/Tax/Block/Checkout
 Magento/Tax/Model/Sales/Pdf
+Magento/Tax/Model/Config/Price
 Magento/Usa/Model/Shipping/Carrier
 Magento/Webapi/Model
 Magento/Webhook/Model
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml
index 549695ed7c4..302cc31a565 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpmd/ruleset.xml
@@ -37,12 +37,7 @@
     <rule ref="rulesets/codesize.xml/ExcessiveMethodLength" />
     <rule ref="rulesets/codesize.xml/ExcessiveParameterList" />
     <rule ref="rulesets/codesize.xml/ExcessivePublicCount" />
-    <rule ref="rulesets/codesize.xml/TooManyFields" />
-    <rule ref="rulesets/codesize.xml/TooManyMethods">
-        <properties>
-            <property name="maxmethods" value="50" />
-        </properties>
-    </rule>
+    <rule ref="rulesets/codesize.xml/TooManyFields" />    
     <rule ref="rulesets/codesize.xml/ExcessiveClassComplexity">
         <properties>
             <property name="maximum" value="100" />
@@ -56,7 +51,6 @@
     <rule ref="rulesets/design.xml" />
 
     <!-- Naming Rules -->
-    <rule ref="rulesets/naming.xml/ShortVariable" />
     <rule ref="rulesets/naming.xml/ShortMethodName" />
     <rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass" />
     <rule ref="rulesets/naming.xml/ConstantNamingConventions" />
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 220d9dfec78..5a9165dfe78 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
@@ -44,8 +44,6 @@ app/code/Magento/Core/data
 app/code/Magento/Core/Model/Config
 app/code/Magento/Core/Model/DataService
 app/code/Magento/Core/Model/Design.php
-app/code/Magento/Core/Model/Email/Template/Config
-app/code/Magento/Core/Model/Email/Template/Config.php
 app/code/Magento/Core/Model/Layout/Factory.php
 app/code/Magento/Core/Model/Layout/Update.php
 app/code/Magento/Core/Model/Layout/Argument
@@ -55,14 +53,12 @@ app/code/Magento/Core/Model/Page
 app/code/Magento/Core/Model/Page.php
 app/code/Magento/Core/Model/Resource/Theme
 app/code/Magento/Core/Model/Resource/Theme.php
-app/code/Magento/Core/Model/Sender.php
 app/code/Magento/Core/Model/Session/Validator.php
 app/code/Magento/Core/Model/AbstractShell.php
 app/code/Magento/Core/Model/Theme
 app/code/Magento/Core/Model/Theme.php
 app/code/Magento/Core/Model/Url/SecurityInfo.php
 app/code/Magento/Core/Model/Url/SecurityInfoInterface.php
-app/code/Magento/Core/Helper/AbstractHelper.php
 app/code/Magento/Core/sql/core_setup/upgrade-1.6.0.3-1.6.0.4.php
 app/code/Magento/Cron/Model/Config/Converter
 app/code/Magento/Cron/Model/Config/Reader
@@ -83,6 +79,7 @@ app/code/Magento/GoogleShopping/Block/SiteVerification.php
 app/code/Magento/GoogleShopping/Model/AttributeFactory.php
 app/code/Magento/Eav/Model/Entity/Attribute/Config
 app/code/Magento/Eav/Model/Entity/Attribute/Config.php
+app/code/Magento/Email
 app/code/Magento/ImportExport/Model/Import/Entity/CustomerComposite.php
 app/code/Magento/ImportExport/Model/Export/Config
 app/code/Magento/ImportExport/Model/Export/Config.php
diff --git a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
index c543c0b9ed3..b0c480d47a7 100644
--- a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
+++ b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
@@ -101,7 +101,7 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
         $this->_translatorMock      = $this->_makeMock('Magento\Core\Model\Translate');
         $this->_layoutMock          = $this->_makeMock('Magento\Core\Model\Layout');
         $this->_requestMock         = $this->_makeMock('Magento\App\RequestInterface');
-        $this->_messagesMock        = $this->_makeMock('Magento\Core\Block\Messages');
+        $this->_messagesMock        = $this->_makeMock('Magento\View\Block\Messages');
         $this->_urlMock             = $this->_makeMock('Magento\UrlInterface');
         $this->_eventManagerMock    = $this->_makeMock('Magento\Event\ManagerInterface');
         $this->_controllerMock      = $this->_makeMock('Magento\App\FrontController');
@@ -111,11 +111,11 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
         $this->_cacheMock           = $this->_makeMock('Magento\App\CacheInterface');
         $this->_storeConfigMock     = $this->_makeMock('Magento\Core\Model\Store\Config');
         $this->_storeManagerMock    = $this->_makeMock('Magento\Core\Model\StoreManager');
-        $this->_helperFactoryMock   = $this->_makeMock('Magento\Core\Model\Factory\Helper');
+        $this->_helperFactoryMock   = $this->_makeMock('Magento\App\Helper\HelperFactory');
         $viewUrlMock                = $this->_makeMock('Magento\View\Url');
         $viewConfigMock             = $this->_makeMock('Magento\View\ConfigInterface');
         $viewFileSystemMock         = $this->_makeMock('Magento\View\FileSystem');
-        $templateFactoryMock        = $this->_makeMock('Magento\View\TemplateEngineFactory');
+        $templatePoolMock           = $this->_makeMock('Magento\View\TemplateEnginePool');
         $authorizationMock          = $this->_makeMock('Magento\AuthorizationInterface');
         $cacheStateMock             = $this->_makeMock('Magento\App\Cache\StateInterface');
         $appMock                    = $this->_makeMock('Magento\Core\Model\App');
@@ -134,7 +134,6 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
             ->will($this->returnCallback(array($this, 'translateCallback')));
 
         $this->_context = new \Magento\Backend\Block\Template\Context(
-            $this->_storeManagerMock,
             $this->_requestMock,
             $this->_layoutMock,
             $this->_eventManagerMock,
@@ -153,14 +152,15 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
             $this->_loggerMock,
             $this->_filesystemMock,
             $viewFileSystemMock,
-            $templateFactoryMock,
-            $authorizationMock,
+            $templatePoolMock,
             $appMock,
             $appState,
             $escaperMock,
             $filterManagerMock,
-            $backendSessionMock,
             $this->_localeMock,
+            $this->_storeManagerMock,
+            $authorizationMock,
+            $backendSessionMock,
             $this->_mathMock
         );
     }
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 ea326c7cd0e..cea8eeb8a3f 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
@@ -38,7 +38,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         'request'         => 'Magento\App\RequestInterface',
         'layout'          => 'Magento\View\LayoutInterface',
         'eventManager'    => 'Magento\Event\ManagerInterface',
-        'translator'      => 'Magento\Core\Model\Translate',
+        'translator'      => 'Magento\TranslateInterface',
         'cache'           => 'Magento\App\CacheInterface',
         'design'          => 'Magento\View\DesignInterface',
         'session'         => 'Magento\Core\Model\Session',
@@ -52,7 +52,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
      * @var array
      */
     protected $_modelDependencies = array(
-        'eventDispatcher'    => 'Magento\Event\ManagerInterface',
+        'eventManager'    => 'Magento\Event\ManagerInterface',
         'cacheManager'       => 'Magento\App\CacheInterface',
         'resource'           => 'Magento\Core\Model\Resource\AbstractResource',
         'resourceCollection' => 'Magento\Data\Collection\Db'
@@ -64,9 +64,9 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
     public function testGetBlock()
     {
         $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
-        /** @var $template \Magento\Core\Block\Template */
-        $template = $objectManager->getObject('Magento\Core\Block\Template');
-        $this->assertInstanceOf('Magento\Core\Block\Template', $template);
+        /** @var $template \Magento\View\Block\Template */
+        $template = $objectManager->getObject('Magento\View\Block\Template');
+        $this->assertInstanceOf('Magento\View\Block\Template', $template);
         foreach ($this->_blockDependencies as $propertyName => $propertyType) {
             $this->assertAttributeInstanceOf($propertyType, '_' . $propertyName, $template);
         }
@@ -76,13 +76,13 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         $appStateMock = $this->getMock('Magento\App\State', array('getAreaCode'), array(), '', false);
         $appStateMock->expects($this->once())->method('getAreaCode')->will($this->returnValue($area));
 
-        $context = $objectManager->getObject('Magento\Core\Block\Template\Context');
-        $appStateProperty = new \ReflectionProperty('Magento\Core\Block\Template\Context', '_appState');
+        $context = $objectManager->getObject('Magento\View\Block\Template\Context');
+        $appStateProperty = new \ReflectionProperty('Magento\View\Block\Template\Context', '_appState');
         $appStateProperty->setAccessible(true);
         $appStateProperty->setValue($context, $appStateMock);
 
-        /** @var $template \Magento\Core\Block\Template */
-        $template = $objectManager->getObject('Magento\Core\Block\Template', array('context' => $context));
+        /** @var $template \Magento\View\Block\Template */
+        $template = $objectManager->getObject('Magento\View\Block\Template', array('context' => $context));
         $this->assertEquals($area, $template->getArea());
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
index 42e75dd3d7c..abbc61af1f7 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
@@ -29,50 +29,18 @@ class CacheTest extends \PHPUnit_Framework_TestCase
     public function testCleanMediaAction()
     {
         // Wire object with mocks
-        $context = $this->getMock('Magento\Backend\Controller\Context', 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\App\Response\Http', array(), array(), '', false);
-        $context->expects($this->any())
-            ->method('getResponse')
-            ->will($this->returnValue($response));
-
         $objectManager = $this->getMock('Magento\ObjectManager');
-        $context->expects($this->any())
-            ->method('getObjectManager')
-            ->will($this->returnValue($objectManager));
-
-        $frontController = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
-        $context->expects($this->any())
-            ->method('getFrontController')
-            ->will($this->returnValue($frontController));
-
         $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
-        $eventManager->expects($this->once())
-            ->method('dispatch')
-            ->with('clean_media_cache_after');
-        $context->expects($this->any())
-            ->method('getEventManager')
-            ->will($this->returnValue($eventManager));
-
         $backendHelper = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $context->expects($this->any())
-            ->method('getHelper')
-            ->will($this->returnValue($backendHelper));
-
-        $cacheTypeListMock = $this->getMock('Magento\App\Cache\TypeListInterface');
-        $cacheStateMock = $this->getMock('Magento\App\Cache\StateInterface');
-        $cacheFrontendPool = $this->getMock('Magento\App\Cache\Frontend\Pool', array(), array(), '', false);
-
-        $controller = new \Magento\Backend\Controller\Adminhtml\Cache(
-            $context,
-            $cacheTypeListMock,
-            $cacheStateMock,
-            $cacheFrontendPool
+        $session = $this->getMock('Magento\Adminhtml\Model\Session', array('addSuccess'), array(), '', false);
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $controller = $helper->getObject('Magento\Backend\Controller\Adminhtml\Cache', array(
+                'objectManager' => $objectManager,
+                'response' => $response,
+                'helper' => $backendHelper,
+                'eventManager' => $eventManager
+            )
         );
 
         // Setup expectations
@@ -80,7 +48,6 @@ class CacheTest extends \PHPUnit_Framework_TestCase
         $mergeService->expects($this->once())
             ->method('cleanMergedJsCss');
 
-        $session = $this->getMock('Magento\Adminhtml\Model\Session', array(), array(), '', false);
         $session->expects($this->once())
             ->method('addSuccess')
             ->with('The JavaScript/CSS cache has been cleaned.');
@@ -101,12 +68,6 @@ class CacheTest extends \PHPUnit_Framework_TestCase
         $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/DashboardTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
index 5dfb0e59451..94b45cfe92e 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
@@ -180,7 +180,7 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
             'objectManager' => $objectManager,
             'frontController' => $varienFront,
         );
-        $context = $helper->getObject('Magento\Backend\Controller\Context', $arguments);
+        $context = $helper->getObject('Magento\Backend\App\Action\Context', $arguments);
         return new \Magento\Backend\Controller\Adminhtml\Dashboard($context);
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
index 22819d8ad4d..4a44073e8b3 100644
--- a/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
@@ -28,7 +28,7 @@ class ForwardTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \Magento\App\Action\Forward
      */
-    protected $_model;
+    protected $_actionAbstract;
 
     /**
      * @var \Magento\App\RequestInterface
@@ -44,12 +44,55 @@ class ForwardTest extends \PHPUnit_Framework_TestCase
     {
         $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);
+
+        $this->_actionAbstract = 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');
+        $this->_actionAbstract->dispatch($this->_request);
+    }
+
+    /**
+     * Test for getRequest method
+     *
+     * @test
+     * @covers \Magento\App\Action\AbstractAction::getRequest
+     */
+    public function testGetRequest()
+    {
+        $this->assertEquals($this->_request, $this->_actionAbstract->getRequest());
+    }
+
+    /**
+     * Test for getResponse method
+     *
+     * @test
+     * @covers \Magento\App\Action\AbstractAction::getResponse
+     */
+    public function testGetResponse()
+    {
+        $this->assertEquals($this->_response, $this->_actionAbstract->getResponse());
+    }
+
+    /**
+     * Test for getResponse med. Checks that response headers are set correctly
+     *
+     * @test
+     * @covers \Magento\App\Action\AbstractAction::getResponse
+     */
+    public function testResponseHeaders()
+    {
+        $infoProcessorMock = $this->getMock('Magento\App\Request\PathInfoProcessorInterface');
+        $routerListMock = $this->getMock('Magento\App\Route\ConfigInterface');
+        $request = new \Magento\App\Request\Http($routerListMock, $infoProcessorMock);
+        $response = new \Magento\App\Response\Http();
+        $response->headersSentThrowsException = false;
+        $action = new \Magento\App\Action\Forward($request, $response);
+
+        $this->assertEquals(array(), $action->getResponse()->getHeaders());
     }
 }
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/Action/TitleTest.php b/dev/tests/unit/testsuite/Magento/App/Action/TitleTest.php
new file mode 100644
index 00000000000..d3f2702a161
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Action/TitleTest.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\Action;
+
+class TitleTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Action\Title
+     */
+    protected $_model;
+
+    protected function setUp()
+    {
+        $this->_model = new \Magento\App\Action\Title();
+    }
+
+    public function testAddPrependFalse()
+    {
+        $this->_model->add('First Title');
+        $this->_model->add('Second Title');
+        $actual = $this->_model->get();
+        $expected = array('First Title', 'Second Title');
+
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testAddPrependTrue()
+    {
+        $this->_model->add('First Title');
+        $this->_model->add('Second Title', true);
+        $actual = $this->_model->get();
+        $expected = array('Second Title', 'First Title');
+
+        $this->assertEquals($expected, $actual);
+    }
+
+}
diff --git a/dev/tests/unit/testsuite/Magento/App/ActionFlagTest.php b/dev/tests/unit/testsuite/Magento/App/ActionFlagTest.php
new file mode 100644
index 00000000000..fedf0cb1f2e
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/ActionFlagTest.php
@@ -0,0 +1,89 @@
+<?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 ActionFlagTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_actionFlag = new \Magento\App\ActionFlag($this->_requestMock);
+    }
+
+    public function testSetIfActionNotExist()
+    {
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue('action_name'));
+        $this->_requestMock->expects($this->once())->method('getRequestedRouteName');
+        $this->_requestMock->expects($this->once())->method('getRequestedControllerName');
+        $this->_actionFlag->set('', 'flag', 'value');
+    }
+
+    public function testSetIfActionExist()
+    {
+        $this->_requestMock->expects($this->never())->method('getActionName');
+        $this->_requestMock->expects($this->once())->method('getRequestedRouteName');
+        $this->_requestMock->expects($this->once())->method('getRequestedControllerName');
+        $this->_actionFlag->set('action', 'flag', 'value');
+    }
+
+    public function testGetIfFlagNotExist()
+    {
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue('action_name'));
+        $this->_requestMock->expects($this->once())->method('getRequestedRouteName');
+        $this->_requestMock->expects($this->once())->method('getRequestedControllerName');
+        $this->assertEquals(array(), $this->_actionFlag->get(''));
+    }
+
+    public function testGetIfFlagExist()
+    {
+        $this->_requestMock->expects($this->never())->method('getActionName');
+        $this->_requestMock->expects($this->exactly(3))
+            ->method('getRequestedRouteName')->will($this->returnValue('route'));
+        $this->_requestMock->expects($this->exactly(3))
+            ->method('getRequestedControllerName')->will($this->returnValue('controller'));
+        $this->_actionFlag->set('action', 'flag', 'value');
+        $this->assertEquals('value', $this->_actionFlag->get('action', 'flag'));
+    }
+    public function testGetIfFlagWithControllerKryNotExist()
+    {
+        $this->_requestMock->expects($this->never())->method('getActionName');
+        $this->_requestMock->expects($this->once())
+            ->method('getRequestedRouteName')->will($this->returnValue('route'));
+        $this->_requestMock->expects($this->once())
+            ->method('getRequestedControllerName')->will($this->returnValue('controller'));
+        $this->assertEquals(false, $this->_actionFlag->get('action', 'flag'));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/Error/HandlerTest.php b/dev/tests/unit/testsuite/Magento/App/Error/HandlerTest.php
index beee931fd0c..309e7846d90 100644
--- a/dev/tests/unit/testsuite/Magento/App/Error/HandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Error/HandlerTest.php
@@ -50,7 +50,6 @@ class HandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Error\Handler::__construct
      * @covers \Magento\Error\Handler::processException
      */
     public function testProcessExceptionPrint()
@@ -68,7 +67,6 @@ class HandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Error\Handler::__construct
      * @covers \Magento\Error\Handler::processException
      */
     public function testProcessExceptionReport()
@@ -86,7 +84,6 @@ class HandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Error\Handler::__construct
      * @covers \Magento\Error\Handler::handler
      * @throws \Exception
      */
@@ -109,7 +106,6 @@ class HandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Error\Handler::__construct
      * @covers \Magento\Error\Handler::handler
      * @expectedException \Exception
      * @throws \Exception
diff --git a/dev/tests/unit/testsuite/Magento/App/FrontController/Plugin/ClickjackingTest.php b/dev/tests/unit/testsuite/Magento/App/FrontController/Plugin/ClickjackingTest.php
new file mode 100644
index 00000000000..5e7e8d7e107
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/FrontController/Plugin/ClickjackingTest.php
@@ -0,0 +1,74 @@
+<?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\FrontController\Plugin;
+
+class ClickjackingTest extends \PHPUnit_Framework_TestCase
+{
+
+    /**
+     * @var \Magento\App\FrontController\Plugin\Clickjacking
+     */
+    protected $_plugin;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseMock;
+
+
+    protected function setUp()
+    {
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
+        $this->_plugin = new \Magento\App\FrontController\Plugin\Clickjacking();
+    }
+
+    public function testAfterDispatchIfHeaderExist()
+    {
+        $this->_responseMock
+            ->expects($this->once())
+            ->method('getHeader')
+            ->with('X-Frame-Options')
+            ->will($this->returnValue(false));
+        $this->_responseMock
+            ->expects($this->once())
+            ->method('setHeader')
+            ->with('X-Frame-Options', 'SAMEORIGIN')
+            ->will($this->returnValue($this->_responseMock));
+        $this->assertEquals($this->_responseMock, $this->_plugin->afterDispatch($this->_responseMock));
+    }
+
+    public function testAfterDispatchIfHeaderNotExist()
+    {
+        $this->_responseMock
+            ->expects($this->once())
+            ->method('getHeader')
+            ->with('X-Frame-Options')
+            ->will($this->returnValue(true));
+        $this->_responseMock
+            ->expects($this->never())
+            ->method('setHeader');
+        $this->assertEquals($this->_responseMock, $this->_plugin->afterDispatch($this->_responseMock));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
index f08a293fce9..930a238c6b8 100644
--- a/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
@@ -82,10 +82,9 @@ class FrontControllerTest extends \PHPUnit_Framework_TestCase
         $this->_request->expects($this->any())->method('isDispatched')->will($this->returnValue(false));
         $this->_routerList->expects($this->atLeastOnce())->method('valid')->will($this->returnValue(true));
         $this->_routerList->expects($this->atLeastOnce())->method('current')->will($this->returnValue($this->_router));
-        $controllerInstance = $this->getMock('\Magento\App\ActionInterface');
+        $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');
+        $controllerInstance->expects($this->atLeastOnce())->method('dispatch')->with($this->_request);
         $this->_model->dispatch($this->_request);
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
index 51699cbe102..cc567ec9239 100644
--- a/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
@@ -24,6 +24,8 @@
  */
 namespace Magento\App\Request;
 
+use Magento\App\Request\Http as Request;
+
 class HttpTest extends \PHPUnit_Framework_TestCase
 {
     /**
@@ -36,33 +38,40 @@ class HttpTest extends \PHPUnit_Framework_TestCase
      */
     protected $_routerListMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_infoProcessorMock;
+
     protected function setUp()
     {
         $this->_routerListMock = $this->getMock('Magento\App\Route\ConfigInterface');
+        $this->_infoProcessorMock = $this->getMock('Magento\App\Request\PathInfoProcessorInterface');
+        $this->_infoProcessorMock->expects($this->any())->method('process')->will($this->returnArgument(1));
     }
 
     public function testGetOriginalPathInfoWithTestUri()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/value');
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, 'http://test.com/value');
         $this->assertEquals('/value', $this->_model->getOriginalPathInfo());
     }
 
     public function testGetOriginalPathInfoWithEmptyUri()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, null);
         $this->assertEmpty($this->_model->getOriginalPathInfo());
     }
 
     public function testSetPathInfoWithNullValue()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, null);
         $actual = $this->_model->setPathInfo();
         $this->assertEquals($this->_model, $actual);
     }
 
     public function testSetPathInfoWithValue()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, null);
         $expected = 'testPathInfo';
         $this->_model->setPathInfo($expected);
         $this->assertEquals($expected, $this->_model->getPathInfo());
@@ -70,7 +79,11 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testSetPathInfoWithQueryPart()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/node?queryValue');
+        $this->_model = new Request(
+            $this->_routerListMock,
+            $this->_infoProcessorMock,
+            'http://test.com/node?queryValue'
+        );
         $this->_model->setPathInfo();
         $this->assertEquals('/node', $this->_model->getPathInfo());
     }
@@ -78,7 +91,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     public function testRewritePathInfoWithNewValue()
     {
         $expected = '/other/path';
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, 'http://test.com/one/two');
         $this->_model->rewritePathInfo($expected);
         $this->assertEquals($expected, $this->_model->getPathInfo());
     }
@@ -86,35 +99,37 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     public function testRewritePathInfoWithSameValue()
     {
         $expected = '/one/two';
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com' . $expected);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, '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 = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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 = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->_model->setBasePath();
         $this->assertEquals('/', $this->_model->getBasePath());
     }
 
     public function testGetBaseUrlWithUrl()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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 = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->_model->setBaseUrl();
         $this->assertEmpty($this->_model->getBaseUrl());
     }
@@ -123,67 +138,67 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     {
         $router = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
         $this->_routerListMock->expects($this->any())->method('getRouteFrontName')->will($this->returnValue($router));
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->_model->setRouteName('RouterName');
         $this->assertEquals('RouterName', $this->_model->getRouteName());
     }
 
     public function testSetRouteNameWithNullRouterValue()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->_routerListMock->expects($this->once())->method('getRouteFrontName')->will($this->returnValue(null));
         $this->_model->setRouteName('RouterName');
     }
 
     public function testGetFrontName()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock, '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 = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->assertNull($this->_model->getAlias('someValue'));
     }
 
     public function testGetAliasesWhenAliasSet()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->assertEmpty($this->_model->getAliases());
     }
 
     public function testGetRequestedRouteNameWhenRequestedRouteIsSet()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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 = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->_model->setRouteName('RouteName');
         $this->assertEquals('RouteName', $this->_model->getRequestedRouteName());
     }
 
     public function testGetRequestedRouteNameWithRewritePathInfo()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $expected = 'TestValue';
         $this->_model->setPathInfo($expected);
         $this->_model->rewritePathInfo($expected . '/other');
@@ -194,7 +209,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequestedRouteNameWithoutRewritePathInfo()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $expected = 'RouteName';
         $this->_model->setRouteName($expected);
         $this->assertEquals($expected, $this->_model->getRequestedRouteName());
@@ -202,7 +217,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequestedControllerNameWithRequestedController()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $expected = array('requested_controller' => 'ControllerName');
         $this->_model->setRoutingInfo($expected);
         $test = $this->_model->getRequestedControllerName();
@@ -211,7 +226,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequestedControllerNameWithRewritePathInfo()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $path = 'one/two/';
         $this->_model->setPathInfo($path);
         $this->_model->rewritePathInfo($path. '/last');
@@ -220,14 +235,14 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequestedActionNameWithRoutingInfo()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $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);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $path = 'one/two/three';
         $this->_model->setPathInfo($path);
         $this->_model->rewritePathInfo($path. '/last');
@@ -236,13 +251,24 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testIsStraightWithTrueValue()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->assertTrue($this->_model->isStraight(true));
     }
 
     public function testIsStraightWithDefaultValue()
     {
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
         $this->assertFalse($this->_model->isStraight());
     }
+
+    public function testGetFullActionName()
+    {
+        $this->_model = new Request($this->_routerListMock, $this->_infoProcessorMock);
+        /* empty request */
+        $this->assertEquals('__', $this->_model->getFullActionName());
+        $this->_model->setRouteName('test')
+            ->setControllerName('controller')
+            ->setActionName('action');
+        $this->assertEquals('test/controller/action', $this->_model->getFullActionName('/'));
+    }
 }
diff --git a/dev/tests/unit/testsuite/Magento/App/Response/Http/FileFactoryTest.php b/dev/tests/unit/testsuite/Magento/App/Response/Http/FileFactoryTest.php
new file mode 100644
index 00000000000..4920e80b83f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Response/Http/FileFactoryTest.php
@@ -0,0 +1,88 @@
+<?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\Response\Http;
+
+class FileFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_fileSystemMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseMock;
+
+    protected function setUp()
+    {
+        $this->_responseFactory = $this->getMock('Magento\App\ResponseFactory', array(), array(), '', false);
+        $this->_fileSystemMock = $this->getMock('Magento\Filesystem', array(), array(), '', false);
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array('setHeader'), array(), '', false);
+        $this->_responseFactory
+            ->expects($this->any())
+            ->method('create')
+            ->will($this->returnValue($this->_responseMock));
+        $this->_responseMock->expects($this->any())->method('setHeader')
+            ->will($this->returnValue($this->_responseMock));
+        $this->_model = new \Magento\App\Response\Http\FileFactory(
+            $this->_responseFactory,
+            $this->_fileSystemMock
+        );
+    }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     */
+    public function testCreateIfContentDoesntHaveRequiredKeys()
+    {
+        $this->_model->create('fileName', array());
+    }
+
+    /**
+     * @expectedException \Exception
+     * @exceptedExceptionMessage File not found
+     */
+    public function testCreateIfFileNotExist()
+    {
+        $file = 'some_file';
+        $content = array(
+            'type' => 'filename',
+            'value' => $file
+        );
+        $this->_fileSystemMock->expects($this->once())->method('getFileSize')->will($this->returnValue('string'));
+        $this->_fileSystemMock->expects($this->once())->method('isFile')->with($file)->will($this->returnValue(false));
+        $this->_model->create('fileName', $content);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/ViewTest.php b/dev/tests/unit/testsuite/Magento/App/ViewTest.php
new file mode 100644
index 00000000000..d4383b73411
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/ViewTest.php
@@ -0,0 +1,265 @@
+<?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 ViewTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\Model\View
+     */
+    protected $_view;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_layoutMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configScopeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_layoutProcessor;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_actionFlagMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_eventManagerMock;
+
+    protected function setUp()
+    {
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $this->_layoutProcessor = $this->getMock('Magento\View\Layout\ProcessorInterface');
+        $this->_layoutMock
+            ->expects($this->any())
+            ->method('getUpdate')
+            ->will($this->returnValue($this->_layoutProcessor));
+        $this->_actionFlagMock = $this->getMock('Magento\App\ActionFlag', array(), array(), '', false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface');
+        $this->_view = $helper->getObject('Magento\App\View', array(
+                'layout' => $this->_layoutMock,
+                'request' => $this->_requestMock,
+                'response' => $this->getMock('Magento\App\Response\Http', array(), array(), '', false),
+                'configScope' => $this->_configScopeMock,
+                'eventManager' => $this->_eventManagerMock,
+                'actionFlag' => $this->_actionFlagMock
+
+            )
+        );
+    }
+
+    public function testGetLayout()
+    {
+        $this->_configScopeMock
+            ->expects($this->once())
+            ->method('getCurrentScope')
+            ->will($this->returnValue('areaCode'));
+        $this->_layoutMock->expects($this->once())->method('setArea')->with('areaCode');
+        $this->assertEquals($this->_layoutMock, $this->_view->getLayout());
+    }
+
+    /**
+     * @expectedException \RuntimeException
+     * @exceptedExceptionMessage 'Layout must be loaded only once.'
+     */
+    public function testLoadLayoutWhenLayoutAlreadyLoaded()
+    {
+        $this->_view->setIsLayoutLoaded(true);
+        $this->_view->loadLayout();
+    }
+
+    public function testLoadLayoutWithDefaultSetup()
+    {
+
+        $this->_layoutProcessor->expects($this->at(0))->method('addHandle')->with('default');
+        $this->_requestMock
+            ->expects($this->any())
+            ->method('getFullActionName')
+            ->will($this->returnValue('action_name'));
+        $this->_layoutMock->expects($this->once())->method('generateXml')->will($this->returnValue($this->_layoutMock));
+        $this->_layoutMock->expects($this->once())
+            ->method('generateElements')
+            ->will($this->returnValue($this->_layoutMock));
+        $this->_view->loadLayout();
+    }
+
+    public function testLoadLayoutWhenBlocksNotGenerated()
+    {
+        $this->_layoutMock->expects($this->once())
+            ->method('generateXml');
+        $this->_layoutMock->expects($this->never())
+            ->method('generateElements');
+        $this->_view->loadLayout('', false, true);
+    }
+
+    public function testLoadLayoutWhenXmlNotGenerated()
+    {
+        $this->_layoutMock->expects($this->never())
+            ->method('generateElements');
+        $this->_layoutMock->expects($this->never())
+            ->method('generateXml');
+        $this->_view->loadLayout('', true, false);
+    }
+
+    public function testGetDefaultLayoutHandle()
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getFullActionName')
+            ->will($this->returnValue('ExpectedValue'));
+        $this->assertEquals('expectedvalue', $this->_view->getDefaultLayoutHandle());
+    }
+
+    public function testAddActionLayoutHandlesWhenPageLayoutHandlesNotExist()
+    {
+        $defaultHandles = 'full_action_name';
+        $this->_requestMock
+            ->expects($this->exactly(2))
+            ->method('getFullActionName')
+            ->will($this->returnValue('Full_Action_Name'));
+        $this->_layoutProcessor->expects($this->once())
+            ->method('addPageHandles')
+            ->with(array($defaultHandles))
+            ->will($this->returnValue(false));
+        $this->_layoutProcessor->expects($this->once())->method('addHandle')->with($defaultHandles);
+        $this->_view->addActionLayoutHandles();
+    }
+
+    public function testAddActionLayoutHandlesWhenPageLayoutHandlesExist()
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getFullActionName')
+            ->will($this->returnValue('Full_Action_Name'));
+        $this->_layoutProcessor->expects($this->once())
+            ->method('addPageHandles')
+            ->with(array('full_action_name'))
+            ->will($this->returnValue(true));
+        $this->_layoutProcessor->expects($this->never())->method('addHandle');
+        $this->_view->addActionLayoutHandles();
+    }
+
+    public function testAddPageLayoutHandles()
+    {
+        $pageHandles = array('full_action_name', 'full_action_name_key_value');
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getFullActionName')
+            ->will($this->returnValue('Full_Action_Name'));
+        $this->_layoutProcessor->expects($this->once())
+            ->method('addPageHandles')
+            ->with($pageHandles);
+        $this->_view->addPageLayoutHandles(array('key' => 'value'));
+    }
+
+    public function testGenerateLayoutBlocksWhenFlagIsNotSet()
+    {
+
+        $valueMap = array(
+            array('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT, false),
+            array('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT, false),
+        );
+        $this->_actionFlagMock->expects($this->any())
+            ->method('get')
+            ->will($this->returnValueMap($valueMap));
+
+        $eventArgument = array('full_action_name' => 'Full_Name', 'layout' => $this->_layoutMock);
+        $this->_requestMock
+            ->expects($this->exactly(2))
+            ->method('getFullActionName')
+            ->will($this->returnValue('Full_Name'));
+        $this->_eventManagerMock->expects($this->at(0))
+            ->method('dispatch')
+            ->with('controller_action_layout_generate_blocks_before', $eventArgument);
+        $this->_eventManagerMock
+            ->expects($this->at(1))
+            ->method('dispatch')
+            ->with('controller_action_layout_generate_blocks_after', $eventArgument);
+        $this->_view->generateLayoutBlocks();
+    }
+
+    public function testGenerateLayoutBlocksWhenFlagIsSet()
+    {
+
+        $valueMap = array(
+            array('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT, true),
+            array('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT, true),
+        );
+        $this->_actionFlagMock->expects($this->any())
+            ->method('get')
+            ->will($this->returnValueMap($valueMap));
+
+        $this->_eventManagerMock->expects($this->never())->method('dispatch');
+        $this->_view->generateLayoutBlocks();
+    }
+
+    public function testRenderLayoutIfActionFlagExist()
+    {
+        $this->_actionFlagMock
+            ->expects($this->once())
+            ->method('get')
+            ->with('', 'no-renderLayout')->will($this->returnValue(true));
+        $this->_eventManagerMock->expects($this->never())->method('dispatch');
+        $this->_view->renderLayout();
+    }
+
+    public function testRenderLayoutWhenOutputNotEmpty()
+    {
+        $this->_actionFlagMock
+            ->expects($this->once())
+            ->method('get')
+            ->with('', 'no-renderLayout')->will($this->returnValue(false));
+        $this->_layoutMock->expects($this->once())->method('addOutputElement')->with('output');
+        $this->_layoutMock->expects($this->once())->method('getOutput');
+        $this->_view->renderLayout('output');
+    }
+
+    public function testRenderLayoutWhenOutputEmpty()
+    {
+        $this->_actionFlagMock
+            ->expects($this->once())
+            ->method('get')
+            ->with('', 'no-renderLayout')->will($this->returnValue(false));
+        $this->_layoutMock->expects($this->never())->method('addOutputElement');
+        $this->_layoutMock->expects($this->once())->method('getOutput');
+        $this->_view->renderLayout();
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/MassactionKeyTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/MassactionKeyTest.php
new file mode 100644
index 00000000000..3780741ba46
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/MassactionKeyTest.php
@@ -0,0 +1,99 @@
+<?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\Action\Plugin;
+
+class MassactionKeyTest extends \PHPUnit_Framework_TestCase
+{
+
+    /**
+     * @var \Magento\Backend\App\Action\Plugin\MassactionKey
+     */
+    protected $_plugin;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+        $this->_invocationChainMock = $this->getMock(
+            'Magento\Code\Plugin\InvocationChain', array(), array(), '', false
+        );
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_plugin = new \Magento\Backend\App\Action\Plugin\MassactionKey();
+    }
+
+    /**
+     * @covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
+     *
+     * @param $postData array|string
+     * @param array $convertedData
+     * @dataProvider aroundDispatchDataProvider
+     */
+    public function testAroundDispatchWhenMassactionPrepareKeyRequestExists($postData, $convertedData)
+    {
+
+        $this->_requestMock ->expects($this->at(0))
+            ->method('getPost')->with('massaction_prepare_key')->will($this->returnValue('key'));
+        $this->_requestMock->expects($this->at(1))->method('getPost')->with('key')->will($this->returnValue($postData));
+        $this->_requestMock->expects($this->once())->method('setPost')->with('key', $convertedData);
+        $this->_invocationChainMock->expects($this->once())
+            ->method('proceed')->with(array($this->_requestMock))->will($this->returnValue('Expected'));
+        $this->assertEquals('Expected',
+            $this->_plugin->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock));
+    }
+
+    public function aroundDispatchDataProvider()
+    {
+        return array(
+            'post_data_is_array' => array(
+                array('key'),  array('key')
+            ),
+            'post_data_is_string' => array(
+                'key, key_two', array('key', ' key_two')
+            )
+        );
+    }
+
+    /**
+     * @covers \Magento\Backend\App\Action\Plugin\MassactionKey::aroundDispatch
+     */
+    public function testAroundDispatchWhenMassactionPrepareKeyRequestNotExists()
+    {
+
+        $this->_requestMock ->expects($this->once())
+            ->method('getPost')->with('massaction_prepare_key')->will($this->returnValue(false));
+        $this->_requestMock->expects($this->never())->method('setPost');
+        $this->_invocationChainMock->expects($this->once())
+            ->method('proceed')->with(array($this->_requestMock))->will($this->returnValue('Expected'));
+        $this->assertEquals('Expected',
+            $this->_plugin->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/StoreTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/StoreTest.php
new file mode 100644
index 00000000000..fc155abfa77
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Action/Plugin/StoreTest.php
@@ -0,0 +1,39 @@
+<?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\Action\Plugin;
+
+class StoreTest extends \PHPUnit_Framework_TestCase
+{
+
+    public function testAroundDispatch()
+    {
+        $storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface', array(), array(), '', false);
+        $invocationChainMock = $this->getMock('Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $plugin = new \Magento\Backend\App\Action\Plugin\Store($storeManagerMock);
+        $storeManagerMock->expects($this->once())->method('setCurrentStore')->with('admin');
+        $invocationChainMock->expects($this->once())->method('proceed')
+            ->with(array())->will($this->returnValue('expected'));
+        $this->assertEquals('expected', $plugin->aroundDispatch(array(), $invocationChainMock));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Response/Http/FileFactoryTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Response/Http/FileFactoryTest.php
new file mode 100644
index 00000000000..1e8fac0b3a2
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Response/Http/FileFactoryTest.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\Backend\App\Response\Http;
+
+class FileFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Response\Http\FileFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_authMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_backendUrl;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_sessionMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseMock;
+
+    protected function setUp()
+    {
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_responseFactory = $this->getMock('Magento\App\ResponseFactory', array(), array(), '', false);
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array('setRedirect'), array(), '', false);
+        $this->_responseFactory
+            ->expects($this->any())
+            ->method('create')
+            ->will($this->returnValue($this->_responseMock));
+        $this->_responseMock
+            ->expects($this->any())
+            ->method('setRedirect')
+            ->will($this->returnValue($this->_responseMock));
+        $this->_sessionMock =
+            $this->getMock('Magento\Backend\Model\Session', array('setIsUrlNotice'), array(), '', false);
+        $this->_backendUrl = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
+        $this->_authMock = $this->getMock('Magento\Backend\Model\Auth', array(), array(), '', false);
+        $this->_model = $helper->getObject('Magento\Backend\App\Response\Http\FileFactory', array(
+                'responseFactory' => $this->_responseFactory,
+                'auth' => $this->_authMock,
+                'backendUrl' => $this->_backendUrl,
+                'session' => $this->_sessionMock,
+            )
+        );
+    }
+
+    public function testCreate()
+    {
+        $authStorageMock = $this->getMock(
+            'Magento\Backend\Model\Auth\StorageInterface',
+            array('isFirstPageAfterLogin', 'processLogout', 'processLogin ')
+        );
+        $this->_authMock->expects($this->once())->method('getAuthStorage')->will($this->returnValue($authStorageMock));
+        $authStorageMock->expects($this->once())->method('isFirstPageAfterLogin')->will($this->returnValue(true));
+        $this->_sessionMock->expects($this->once())->method('setIsUrlNotice');
+        $this->_model->create('fileName', null);
+    }
+}
\ 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 d9a02d174f5..71afffb99f9 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
@@ -37,49 +37,23 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_applicationMock;
+    protected $_storeManagerMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_websiteFactoryMock;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    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->_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);
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', 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
+
+        $this->_object = $helper->getObject('Magento\Backend\Block\Store\Switcher', array(
+            'websiteFactory' => $this->_websiteFactoryMock,
+            'storeManager' => $this->_storeManagerMock
+            )
         );
     }
 
@@ -148,7 +122,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds(null);
 
         $expected = array('test', 'data', 'some');
-        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
+        $this->_storeManagerMock->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -174,7 +148,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
             3 => 'site 3',
             5 => 'site 5',
         );
-        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_storeManagerMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -196,7 +170,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds($ids);
 
         $expected = array();
-        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_storeManagerMock->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/Form/Field/ExportTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
index 4a67f14b304..e44201052f1 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
@@ -41,7 +41,7 @@ class ExportTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_helperFactoryMock = $this->getMock('Magento\Core\Model\Factory\Helper',
+        $this->_helperFactoryMock = $this->getMock('Magento\App\Helper\HelperFactory',
             array(), array(), '', false, false
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldTest.php
index ac90c8fb8ea..7e1426bfddb 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldTest.php
@@ -57,11 +57,9 @@ class FieldTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_appModelMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false, false);
-        $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false, false);
 
         $data = array(
-            'layout' => $this->_layoutMock,
-            'application' => $this->_appModelMock,
+            'app' => $this->_appModelMock,
             'urlBuilder' => $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false)
         );
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
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 07d631498b5..c39c1b54b55 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
@@ -65,7 +65,7 @@ class FieldsetTest extends \PHPUnit_Framework_TestCase
     protected $_testHelper;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactoryMock;
 
@@ -79,7 +79,7 @@ class FieldsetTest extends \PHPUnit_Framework_TestCase
             false);
         $groupMock->expects($this->once())->method('getFieldsetCss')->will($this->returnValue('test_fieldset_css'));
         $this->_helperFactoryMock = $this->getMock(
-            'Magento\Core\Model\Factory\Helper', array('get'), array(), '', false, false
+            'Magento\App\Helper\HelperFactory', array('get'), array(), '', false, false
         );
 
         $data = 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 c60079900a0..54465b9b580 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
@@ -50,7 +50,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     protected $_urlBuilderMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\Factory\Helper
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\Helper\HelperFactory
      */
     protected $_helperFactoryMock;
 
@@ -64,7 +64,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $this->_urlBuilderMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
 
         $this->_helperFactoryMock = $this->getMock(
-            'Magento\Core\Model\Factory\Helper', array('get'), array(), '', false, false
+            'Magento\App\Helper\HelperFactory', array('get'), array(), '', false, false
         );
         $backendHelperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
         $this->_helperFactoryMock
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/ButtonTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/ButtonTest.php
index c648d6b3f80..fdd866eb34b 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/ButtonTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/ButtonTest.php
@@ -53,7 +53,7 @@ class ButtonTest extends \PHPUnit_Framework_TestCase
     protected $_buttonMock;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactoryMock;
 
@@ -63,7 +63,7 @@ class ButtonTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false, false);
 
         $this->_helperFactoryMock = $this->getMock(
-            'Magento\Core\Model\Factory\Helper', array('get'), array(), '', false, false
+            'Magento\App\Helper\HelperFactory', array('get'), array(), '', false, false
         );
 
         $arguments = array(
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 bbc79400119..6010cad0834 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
@@ -34,11 +34,6 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
      */
     protected $_blockCurrency;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_appMock;
-
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
@@ -59,11 +54,6 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
      */
     protected $_storeManagerMock;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_contextMock;
-
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
@@ -76,9 +66,7 @@ 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->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
         $this->_localeMock = $this->getMock('Magento\Core\Model\LocaleInterface');
         $this->_requestMock = $this->getMock('Magento\App\RequestInterface');
 
@@ -92,36 +80,29 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
             ->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'));
 
-        $this->_blockCurrency = new \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency(
-            $this->_contextMock,
-            $this->_storeManagerMock,
-            $this->_localeMock,
-            $this->_curLocatorMock
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_blockCurrency = $helper->getObject('Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency', array(
+            'storeManager' => $this->_storeManagerMock,
+            'locale' => $this->_localeMock,
+            'currencyLocator' => $this->_curLocatorMock,
+            'request' => $this->_requestMock
+            )
         );
 
+
         $this->_blockCurrency->setColumn($this->_columnMock);
     }
 
     protected function tearDown()
     {
-        unset($this->_appMock);
         unset($this->_localeMock);
         unset($this->_curLocatorMock);
         unset($this->_columnMock);
         unset($this->_row);
         unset($this->_storeManagerMock);
         unset($this->_requestMock);
-        unset($this->_contextMock);
         unset($this->_blockCurrency);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/ColumnTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/ColumnTest.php
index 344ad0aeece..5bbe040e9b4 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/ColumnTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/ColumnTest.php
@@ -50,7 +50,7 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false, false);
-        $this->_blockMock = $this->getMock('Magento\Core\Block\Template', array('setColumn', 'getHtml'), array(), '',
+        $this->_blockMock = $this->getMock('Magento\View\Block\Template', array('setColumn', 'getHtml'), array(), '',
             false, false
         );
 
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 a48df45bf62..d02b8e2bdd6 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
@@ -68,7 +68,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
     protected $_requestMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\Factory\Helper
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\Helper\HelperFactory
      */
     protected $_helperFactoryMock;
 
@@ -101,7 +101,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
         $this->_urlModelMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
 
         $this->_helperFactoryMock = $this->getMock(
-            'Magento\Core\Model\Factory\Helper', array('get'), array(), '', false, false
+            'Magento\App\Helper\HelperFactory', array('get'), array(), '', false, false
         );
         $this->_helperFactoryMock
             ->expects($this->any())
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 3bfe1e2654c..52d4ffe8bc0 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -50,8 +50,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     public function testAddGetClearRss($isUseStoreInUrl)
     {
-        $helperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
-
         $urlMock = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
 
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
@@ -70,23 +68,20 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($storeMock));
         $urlBuilderMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
 
-        $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));
-        $contextMock->expects($this->any())
-            ->method('getUrlBuilder')
-            ->will($this->returnValue($urlBuilderMock));
 
         $urlBuilderMock->expects($this->any())
             ->method('getUrl')
             ->will($this->returnValue('some_url'));
 
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $block = new \Magento\Backend\Block\Widget\Grid($helperMock, $contextMock, $storeManagerMock, $urlMock);
+        $block = $helper->getObject('Magento\Backend\Block\Widget\Grid', array(
+            'app' => $appMock,
+            'storeManager' => $storeManagerMock,
+            'urlModel' => $urlMock,
+            'urlBuilder' => $urlBuilderMock,
+            )
+        );
 
         $this->assertFalse($block->getRssLists());
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php
index 89261dddbb0..21f2458898e 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php
@@ -114,14 +114,7 @@ class AccountTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('_canUseCache'))
             ->getMock();
 
-        $contextArgs = array(
-            'getHelper', 'getSession', 'getAuthorization', 'getTranslator', 'getObjectManager', 'getFrontController',
-            'getLayoutFactory', 'getEventManager', 'getRequest', 'getResponse'
-        );
-        $contextMock = $this->getMockBuilder('Magento\Backend\Controller\Context')
-            ->disableOriginalConstructor()
-            ->setMethods($contextArgs)
-            ->getMock();
+        $contextMock = $this->getMock('Magento\Backend\App\Action\Context', array(), array(), '', false);
         $contextMock->expects($this->any())->method('getRequest')->will($this->returnValue($this->_requestMock));
         $contextMock->expects($this->any())->method('getResponse')->will($this->returnValue($this->_responseMock));
         $contextMock->expects($this->any())
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 bb5adfeedc5..7e1fd21540f 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
@@ -120,7 +120,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
             'auth' => $this->_authMock
         );
 
-        $context = $helper->getObject('Magento\Backend\Controller\Context', $arguments);
+        $context = $helper->getObject('Magento\Backend\App\Action\Context', $arguments);
         $this->_controller = $this->getMock(
             'Magento\Backend\Controller\Adminhtml\System\Config\Save',
             array('deniedAction'),
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
index f22f08adfbf..c7ffdb5836b 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
@@ -50,7 +50,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $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\App\Helper\Context', array(), array(), '', false, false),
             $this->getMock('\Magento\App\Route\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
             $this->getMock('\Magento\Backend\Model\Url', array(), array(), '', false),
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Source/Email/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Source/Email/TemplateTest.php
index 773c4f0e17d..6acf1d5079f 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Source/Email/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Source/Email/TemplateTest.php
@@ -36,15 +36,20 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     protected $_coreRegistry;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Email\Model\Template\Config|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_emailConfig;
 
+    /**
+     * @var /Magento\Core\Model\Resource\Email\Template\CollectionFactory
+     */
+    protected $_templatesFactory;
+
     protected function setUp()
     {
         $this->_coreRegistry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false, false);
-        $this->_emailConfig = $this->getMock('Magento\Core\Model\Email\Template\Config', array(), array(), '', false);
-        $this->_templatesFactory = $this->getMock('Magento\Core\Model\Resource\Email\Template\CollectionFactory',
+        $this->_emailConfig = $this->getMock('Magento\Email\Model\Template\Config', array(), array(), '', false);
+        $this->_templatesFactory = $this->getMock('Magento\Email\Model\Resource\Template\CollectionFactory',
             array(), array(), '', false);
         $this->_model = new \Magento\Backend\Model\Config\Source\Email\Template(
             $this->_coreRegistry, $this->_templatesFactory, $this->_emailConfig
@@ -54,7 +59,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     public function testToOptionArray()
     {
         $collection = $this->getMock(
-            'Magento\Core\Model\Resource\Email\Template\Collection', array(), array(), '', false
+            'Magento\Email\Model\Resource\Template\Collection', array(), array(), '', false
         );
         $collection
             ->expects($this->once())
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/Item/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/Item/FactoryTest.php
index 7d54b106109..3de350f30af 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/Item/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/Item/FactoryTest.php
@@ -54,7 +54,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectFactoryMock = $this->getMock('Magento\ObjectManager');
-        $this->_helperFactoryMock = $this->getMock('Magento\Core\Model\Factory\Helper', array(), array(), '', false);
+        $this->_helperFactoryMock = $this->getMock('Magento\App\Helper\HelperFactory', array(), array(), '', false);
         $this->_helperFactoryMock
             ->expects($this->any())
             ->method('get')
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 97ea067968f..e23319befbe 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
@@ -67,13 +67,13 @@ class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
         $this->_requestMock
             ->expects($this->once())
             ->method('setControllerName')
-            ->with('index')
+            ->with('noroute')
             ->will($this->returnValue($this->_requestMock));
 
         $this->_requestMock
             ->expects($this->once())
             ->method('setActionName')
-            ->with('noRoute')
+            ->with('index')
             ->will($this->returnValue($this->_requestMock));
 
         $this->assertEquals(true, $this->_model->process($this->_requestMock));
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/ViewTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/ViewTest.php
new file mode 100644
index 00000000000..b8fa1a96ad7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/ViewTest.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\Backend\Model;
+
+
+class ViewTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\Model\View
+     */
+    protected $_view;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_layoutMock;
+
+    protected function setUp()
+    {
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $aclFilter = $this->getMock('Magento\Core\Model\Layout\Filter\Acl', array(), array(), '', false);
+        $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false);
+        $layoutProcessor = $this->getMock('Magento\View\Layout\ProcessorInterface');
+        $node = new \Magento\Simplexml\Element('<node/>');
+        $this->_layoutMock->expects($this->once())->method('getNode')->will($this->returnValue($node));
+        $this->_layoutMock->expects($this->any())->method('getUpdate')->will($this->returnValue($layoutProcessor));
+        $this->_view = $helper->getObject('Magento\Backend\Model\View', array(
+            'aclFilter' => $aclFilter,
+            'layout' => $this->_layoutMock,
+            'request' => $this->getMock('Magento\App\Request\Http', array(), array(), '', false)
+            )
+        );
+    }
+
+    public function testLoadLayoutWhenBlockIsGenerate()
+    {
+        $this->_layoutMock->expects($this->once())->method('generateElements');
+        $this->_view->loadLayout();
+    }
+
+    public function testLoadLayoutWhenBlockIsNotGenerate()
+    {
+        $this->_layoutMock->expects($this->never())->method('generateElements');
+        $this->_view->loadLayout(null, false, true);
+    }
+
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
index fc023bf4429..d71f39ff8fb 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
@@ -59,7 +59,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
 
-        $context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
 
         return new \Magento\Captcha\Helper\Data(
             $context, $this->_dirMock, $storeManager, $config, $filesystem, $factory
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
index 1b27b4f8f68..7eb623229d4 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
@@ -73,6 +73,11 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
      */
     protected $_objectManager;
 
+    /**
+     * @var \Magento\TestFramework\Helper\ObjectManager
+     */
+    protected $_actionFlag;
+
     protected function setUp()
     {
         $this->_objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
@@ -89,7 +94,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $this->_helper = $this->getMock('Magento\Captcha\Helper\Data', array(), array(), '', false);
         $this->_urlManager = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        
+        $this->_actionFlag = $this->getMock('Magento\App\ActionFlag', array(), array(), '', false);
         $this->_observer = $this->_objectManager->getObject(
             'Magento\Captcha\Model\Observer',
             array(
@@ -101,6 +106,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
                 'helper' => $this->_helper,
                 'urlManager' => $this->_urlManager,
                 'filesystem' => $this->_filesystem,
+                'actionFlag' => $this->_actionFlag
             )
         );
 
@@ -112,7 +118,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $formId = 'contact_us';
         $captchaValue = 'some-value';
 
-        $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
+        $controller = $this->getMock('Magento\App\Action\Action', array(), array(), '', false);
         $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->any())
             ->method('getPost')
@@ -150,7 +156,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->with($redirectRoutePath, null)
             ->will($this->returnValue($redirectUrl));
 
-        $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
+        $controller = $this->getMock('Magento\App\Action\Action', 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,
@@ -172,8 +178,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->with($formId)
             ->will($this->returnValue($this->_captcha));
         $this->_session->expects($this->once())->method('addError')->with($warningMessage);
-        $controller->expects($this->once())->method('setFlag')
-            ->with('', \Magento\Core\Controller\Varien\Action::FLAG_NO_DISPATCH, true);
+        $this->_actionFlag->expects($this->once())->method('set')
+            ->with('', \Magento\App\Action\Action::FLAG_NO_DISPATCH, true);
 
         $this->_observer->checkContactUsForm(new \Magento\Event\Observer(array('controller_action' => $controller)));
     }
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/OptionsTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/OptionsTest.php
index e09fd59acbb..ed604d4582c 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/OptionsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Composite/Fieldset/OptionsTest.php
@@ -60,7 +60,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
     {
         $layout = $this->getMock('Magento\Core\Model\Layout', array('getChildName', 'getBlock', 'renderElement'),
             array(), '', false);
-        $context = $this->_objectHelper->getObject('Magento\Core\Block\Template\Context', array(
+        $context = $this->_objectHelper->getObject('Magento\View\Block\Template\Context', array(
             'layout' => $layout
         ));
         $optionFactoryMock = $this->getMock('Magento\Catalog\Model\Product\Option\ValueFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
index f4c98982f1f..bc2b20f8ffb 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php
@@ -33,9 +33,6 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
      */
     protected $_block;
 
-    /** @var \Magento\Backend\Block\Template\Context|\PHPUnit_Framework_MockObject_MockObject */
-    protected $_context;
-
     /** @var \Magento\Core\Model\App|\PHPUnit_Framework_MockObject_MockObject */
     protected $_application;
 
@@ -44,11 +41,10 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_context = $this->getMock('Magento\Backend\Block\Template\Context', array(), array(), '', false);
         $this->_application = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
         $this->_locale = $this->getMock('Magento\Core\Model\LocaleInterface', array(), array(), '', false);
         $data = array(
-            'application' => $this->_application,
+            'app' => $this->_application,
             'locale' => $this->_locale,
             'formFactory' => $this->getMock('Magento\Data\FormFactory', array(), array(), '', false),
             'productFactory' => $this->getMock('Magento\Catalog\Model\ProductFactory', array(), array(), '', false),
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
index 70982674423..8aa067b73ec 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
@@ -59,7 +59,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
     {
         $layout = $this->getMock('Magento\Core\Model\Layout', array('getChildName', 'getBlock', 'renderElement'),
             array(), '', false);
-        $context = $this->_objectHelper->getObject('Magento\Core\Block\Template\Context', array(
+        $context = $this->_objectHelper->getObject('Magento\View\Block\Template\Context', array(
             'layout' => $layout
         ));
 
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/TabsTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/TabsTest.php
index 3f2afed8cdf..3b4d6ed2965 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/TabsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Block/Product/View/TabsTest.php
@@ -28,7 +28,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
 {
     public function testAddTab()
     {
-        $tabBlock = $this->getMock('Magento\Core\Block\Template', array(), array(), '', false);
+        $tabBlock = $this->getMock('Magento\View\Block\Template', array(), array(), '', false);
         $tabBlock->expects($this->once())
             ->method('setTemplate')
             ->with('template')
@@ -40,14 +40,11 @@ class TabsTest extends \PHPUnit_Framework_TestCase
             ->with('block')
             ->will($this->returnValue($tabBlock));
 
-        $context = $this->getMock('Magento\Core\Block\Template\Context', array(), array(), '', false);
-        $context->expects($this->once())
-            ->method('getLayout')
-            ->will($this->returnValue($layout));
-
-        $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
-
-        $block = new \Magento\Catalog\Block\Product\View\Tabs($coreData, $context);
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $block = $helper->getObject('Magento\Catalog\Block\Product\View\Tabs', array(
+               'layout' => $layout
+            )
+        );
         $block->addTab('alias', 'title', 'block', 'template', 'header');
 
         $expectedTabs = array(
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Helper/UrlTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Helper/UrlTest.php
index 894005d117e..1f78d584d29 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Helper/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Helper/UrlTest.php
@@ -37,7 +37,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $contextMock = $this->getMockBuilder('Magento\Core\Helper\Context')->disableOriginalConstructor()->getMock();
+        $contextMock = $this->getMockBuilder('Magento\App\Helper\Context')->disableOriginalConstructor()->getMock();
         $this->_configMock = $this->getMockBuilder('Magento\Core\Model\Config')
             ->disableOriginalConstructor()->getMock();
         $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/AbstractTest.php
index 94969e0559b..681b7689ef9 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/AbstractTest.php
@@ -35,7 +35,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
 
     public function testGetItemRenderer()
     {
-        $renderer = $this->getMock('Magento\Core\Block\AbstractBlock', array('setRenderedBlock'), array(), '', false);
+        $renderer = $this->getMock('Magento\View\Block\AbstractBlock', array('setRenderedBlock'), array(), '', false);
         $layout = $this->getMock('Magento\Core\Model\Layout', array(
             'getChildName', 'getBlock'
         ), array(), '', false);
@@ -93,7 +93,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
 
     public function testPrepareLayout()
     {
-        $childBlock = $this->getMock('Magento\Core\Block\AbstractBlock', array(), array(), '', false);
+        $childBlock = $this->getMock('Magento\View\Block\AbstractBlock', array(), array(), '', false);
         /** @var $layout \Magento\View\LayoutInterface */
         $layout = $this->getMock('Magento\Core\Model\Layout', array(
             'createBlock', 'getChildName', 'setChild'
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 44ce4d9adcf..53e585155f2 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
@@ -55,7 +55,7 @@ class RendererTest extends \PHPUnit_Framework_TestCase
         $helperImage->expects($this->any())->method('__toString')->will($this->returnValue($url));
 
         $helperFactory = $this->getMock(
-            'Magento\Core\Model\Factory\Helper', array('get'), array(), '', false, false
+            'Magento\App\Helper\HelperFactory', array('get'), array(), '', false, false
         );
         $helperFactory->expects($this->any())
             ->method('get')
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 950a36dcbe6..5897ff1bbce 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
@@ -48,7 +48,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array('urlBuilder' => $urlBuilder)
         );
         $link = $this->_objectManagerHelper->getObject(
@@ -70,15 +70,15 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $helper = $this->getMockBuilder('Magento\Customer\Helper\Data')
             ->disableOriginalConstructor()
             ->getMock();
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
+        $helperFactory = $this->getMockBuilder('Magento\App\Helper\HelperFactory')
             ->disableOriginalConstructor()
             ->setMethods(array('get'))
             ->getMock();
         $helperFactory->expects($this->any())->method('get')->will($this->returnValue($helper));
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
+        /** @var  \Magento\View\Block\Template\Context $context */
         $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array(
                 'helperFactory' => $helperFactory
             )
@@ -108,15 +108,15 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('getSummaryCount'))
             ->getMock();
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
+        $helperFactory = $this->getMockBuilder('Magento\App\Helper\HelperFactory')
             ->disableOriginalConstructor()
             ->setMethods(array('get'))
             ->getMock();
         $helperFactory->expects($this->any())->method('get')->will($this->returnValue($helper));
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
+        /** @var  \Magento\View\Block\Template\Context $context */
         $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array(
                 'helperFactory' => $helperFactory
             )
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
index 7f21493b05b..40e41cefafa 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
@@ -35,7 +35,7 @@ class SidebarTest extends \PHPUnit_Framework_TestCase
 
     public function testDeserializeRenders()
     {
-        $childBlock = $this->getMock('Magento\Core\Block\AbstractBlock', array(), array(), '', false);
+        $childBlock = $this->getMock('Magento\View\Block\AbstractBlock', array(), array(), '', false);
         /** @var $layout \Magento\View\LayoutInterface */
         $layout = $this->getMock('Magento\Core\Model\Layout', array(
             'createBlock', 'getChildName', 'setChild'
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
index 8ce73129123..539b18ed1de 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
@@ -44,7 +44,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
 
         $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array('urlBuilder' => $urlBuilder)
         );
         $link = $this->_objectManagerHelper->getObject(
@@ -66,7 +66,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('canOnepageCheckout', 'isModuleOutputEnabled'))
             ->getMock();
 
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
+        $helperFactory = $this->getMockBuilder('Magento\App\Helper\HelperFactory')
             ->disableOriginalConstructor()
             ->setMethods(array('get'))
             ->getMock();
@@ -77,9 +77,9 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('isOutputEnabled'))
             ->getMock();
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
+        /** @var  \Magento\View\Block\Template\Context $context */
         $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array('helperFactory' => $helperFactory)
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
index d9f04b05fc6..542a3964a2b 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
@@ -40,12 +40,10 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGoBack()
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
+
         $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\App\Request\Http', array(), array(), '', false);
         $requestMock->expects($this->any())->method('getActionName')->will($this->returnValue('add'));
@@ -53,9 +51,9 @@ class CartTest extends \PHPUnit_Framework_TestCase
             ->method('getParam')->with('return_url')->will($this->returnValue('http://malicious.com/'));
         $requestMock->expects($this->any())
             ->method('getParam')->will($this->returnValue(null));
-        $requestMock->expects($this->once())
-            ->method('getServer')
-            ->with('HTTP_REFERER')
+        $redirect = $this->getMock('Magento\App\Response\RedirectInterface');
+        $redirect->expects($this->any())
+            ->method('getRefererUrl')
             ->will($this->returnValue('http://some-url/index.php/product.html'));
 
         $checkoutSessionMock = $this->getMock('Magento\Checkout\Model\Session',
@@ -65,50 +63,26 @@ class CartTest extends \PHPUnit_Framework_TestCase
             ->with('http://some-url/index.php/product.html')
             ->will($this->returnSelf());
 
-        $sessionMock = $this->getMock('Magento\Core\Model\Session', array(), array(), '', false);
-
-        $urlMock = $this->getMock('Magento\Core\Model\Url',
-            array('getUrl'), array(), '', false);
-        $urlMock->expects($this->once())
-            ->method('getUrl')
-            ->with('checkout/cart')
+        $redirect->expects($this->once())
+            ->method('redirect')
             ->will($this->returnValue('http://some-url/index.php/checkout/cart/'));
 
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->any())->method('getBaseUrl')->will($this->returnValue('http://some-url/'));
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface');
-        $storeManager->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
 
-        $objectManager = $this->getMock('Magento\ObjectManager', array(), array(), '', false);
-        $objectManager->expects($this->at(0))
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\StoreManagerInterface'))
-            ->will($this->returnValue($storeManager));
-        $objectManager->expects($this->at(1))
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\StoreManagerInterface'))
-            ->will($this->returnValue($storeManager));
-        $objectManager->expects($this->at(2))
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\Session'))
-            ->will($this->returnValue($sessionMock));
-        $objectManager->expects($this->at(3))
-            ->method('create')
-            ->with($this->equalTo('Magento\Core\Model\Url'))
-            ->will($this->returnValue($urlMock));
-
-        $configMock = $this->getMock('Magento\Core\Model\Store\Config', array('getConfig'), array(), '', false);
+        $configMock = $this->getMock('Magento\Core\Model\Store\ConfigInterface');
         $configMock->expects($this->once())
             ->method('getConfig')
             ->with('checkout/cart/redirect_to_cart')
             ->will($this->returnValue('1'));
-
+        $storeManagerMock->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
         $arguments = array(
             'response' => $responseMock,
             'request' => $requestMock,
-            'objectManager' => $objectManager,
             'checkoutSession' => $checkoutSessionMock,
             'storeConfig' => $configMock,
+            'redirect' => $redirect,
+            'storeManager' => $storeManagerMock
         );
 
         $controller = $helper->getObject('Magento\Checkout\Controller\Cart', $arguments);
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Model/SessionTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Model/SessionTest.php
index c99873307bb..85a77fe0818 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Model/SessionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Model/SessionTest.php
@@ -45,7 +45,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->will($this->returnValue($orderMock));
 
-        $messageCollFactory = $this->getMockBuilder('Magento\Core\Model\Message\CollectionFactory')
+        $messageCollFactory = $this->getMockBuilder('Magento\Message\CollectionFactory')
             ->disableOriginalConstructor()
             ->getMock();
         $quoteFactory = $this->getMockBuilder('Magento\Sales\Model\QuoteFactory')
diff --git a/dev/tests/unit/testsuite/Magento/Cms/Controller/NorouteTest.php b/dev/tests/unit/testsuite/Magento/Cms/Controller/NorouteTest.php
new file mode 100644
index 00000000000..9d5892cea57
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Cms/Controller/NorouteTest.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\Cms\Controller;
+
+class NorouteTest extends \PHPUnit_Framework_TestCase
+{
+
+    /**
+     * @var \Magento\Cms\Controller\Noroute
+     */
+    protected $_controller;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_cmsHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $objectManagerMock = $this->getMock('Magento\ObjectManager');
+        $responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
+        $responseMock->expects($this->at(0))
+            ->method('setHeader')->with('HTTP/1.1', '404 Not Found')->will($this->returnValue($responseMock));
+        $responseMock->expects($this->at(1))
+            ->method('setHeader')->with('Status', '404 File not found')->will($this->returnValue($responseMock));
+
+        $storeConfigMock = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_cmsHelperMock = $this->getMock('Magento\Cms\Helper\Page', array(), array(), '', false);
+        $valueMap = array(
+            array('Magento\Core\Model\Store\Config', $storeConfigMock),
+            array('Magento\Cms\Helper\Page', $this->_cmsHelperMock),
+        );
+        $objectManagerMock->expects($this->any())
+            ->method('get')
+            ->will($this->returnValueMap($valueMap));
+        $storeConfigMock->expects($this->once())
+            ->method('getConfig')
+            ->with(\Magento\Cms\Helper\Page::XML_PATH_NO_ROUTE_PAGE)
+            ->will($this->returnValue('pageId'));
+        $this->_controller = $helper->getObject('Magento\Cms\Controller\Noroute', array(
+            'response' => $responseMock,
+            'objectManager' => $objectManagerMock,
+            'request' => $this->_requestMock
+            )
+        );
+    }
+
+    /**
+     * @param bool $renderPage
+     * @dataProvider indexActionDataProvider
+     */
+    public function testIndexAction($renderPage)
+    {
+        $this->_cmsHelperMock->expects($this->once())->method('renderPage')->will($this->returnValue($renderPage));
+        $this->_requestMock->expects($this->any())->method('setActionName')->with('defaultNoRoute');
+        $this->_controller->indexAction();
+    }
+
+    public function indexActionDataProvider()
+    {
+        return array(
+            'renderPage_return_true' => array(true),
+            'renderPage_return_false' => array(false)
+        );
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Reader/ArgumentsReaderTest.php b/dev/tests/unit/testsuite/Magento/Code/Reader/ArgumentsReaderTest.php
new file mode 100644
index 00000000000..b34b28d1d74
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Reader/ArgumentsReaderTest.php
@@ -0,0 +1,316 @@
+<?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\Code\Reader;
+
+require_once(__DIR__ . '/_files/ClassesForArgumentsReader.php');
+
+class ArgumentsReaderTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Code\Reader\ArgumentsReader
+     */
+    protected $_model;
+
+    protected function setUp()
+    {
+        $this->_model = new \Magento\Code\Reader\ArgumentsReader();
+    }
+
+    public function testGetConstructorArgumentsClassWithAllArgumentsType()
+    {
+        $expectedResult = array(
+            'stdClassObject' => array(
+                'name' => 'stdClassObject',
+                'position' => 0,
+                'type' => '\stdClass',
+                'isOptional' => false,
+                'default' => null
+            ),
+            'withoutConstructorClassObject' => array(
+                'name' => 'withoutConstructorClassObject',
+                'position' => 1,
+                'type' => '\ClassWithoutConstruct',
+                'isOptional' => false,
+                'default' => null
+            ),
+            'someVariable' => array(
+                'name' => 'someVariable',
+                'position' => 2,
+                'type' => null,
+                'isOptional' => false,
+                'default' => null
+            ),
+            'const' => array(
+                'name' => 'const',
+                'position' => 3,
+                'type' => null,
+                'isOptional' => true,
+                'default' => '\ClassWithAllArgumentTypes::DEFAULT_VALUE'
+            ),
+            'optionalNumValue' => array(
+                'name' => 'optionalNumValue',
+                'position' => 4,
+                'type' => null,
+                'isOptional' => true,
+                'default' => 9807
+            ),
+            'optionalStringValue' => array(
+                'name' => 'optionalStringValue',
+                'position' => 5,
+                'type' => null,
+                'isOptional' => true,
+                'default' => "'optional string'"
+            ),
+            'optionalArrayValue' => array(
+                'name' => 'optionalArrayValue',
+                'position' => 6,
+                'type' => null,
+                'isOptional' => true,
+                'default' => "array('optionalKey' => 'optionalValue')"
+            )
+        );
+        $class = new \ReflectionClass('ClassWithAllArgumentTypes');
+        $actualResult = $this->_model->getConstructorArguments($class);
+
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassWithoutOwnConstructorInheritedFalse()
+    {
+        $class = new \ReflectionClass('classWithoutOwnConstruct');
+        $actualResult = $this->_model->getConstructorArguments($class);
+
+        $this->assertEquals(array(), $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassWithoutOwnConstructorInheritedTrue()
+    {
+        $expectedResult = array(
+            'stdClassObject' => array(
+                'name' => 'stdClassObject',
+                'position' => 0,
+                'type' => '\stdClass',
+                'isOptional' => false,
+                'default' => null
+            ),
+            'withoutConstructorClassObject' => array(
+                'name' => 'withoutConstructorClassObject',
+                'position' => 1,
+                'type' => '\ClassWithoutConstruct',
+                'isOptional' => false,
+                'default' => null
+            ),
+            'someVariable' => array(
+                'name' => 'someVariable',
+                'position' => 2,
+                'type' => null,
+                'isOptional' => false,
+                'default' => null
+            ),
+            'const' => array(
+                'name' => 'const',
+                'position' => 3,
+                'type' => null,
+                'isOptional' => true,
+                'default' => '\ClassWithAllArgumentTypes::DEFAULT_VALUE'
+            ),
+            'optionalNumValue' => array(
+                'name' => 'optionalNumValue',
+                'position' => 4,
+                'type' => null,
+                'isOptional' => true,
+                'default' => 9807
+            ),
+            'optionalStringValue' => array(
+                'name' => 'optionalStringValue',
+                'position' => 5,
+                'type' => null,
+                'isOptional' => true,
+                'default' => "'optional string'"
+            ),
+            'optionalArrayValue' => array(
+                'name' => 'optionalArrayValue',
+                'position' => 6,
+                'type' => null,
+                'isOptional' => true,
+                'default' => "array('optionalKey' => 'optionalValue')"
+            )
+        );
+        $class = new \ReflectionClass('ClassWithoutOwnConstruct');
+        $actualResult = $this->_model->getConstructorArguments($class, false, true);
+
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassWithoutConstructInheridetFalse()
+    {
+        $class = new \ReflectionClass('ClassWithoutConstruct');
+        $actualResult = $this->_model->getConstructorArguments($class);
+
+        $this->assertEquals(array(), $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassWithoutConstructInheridetTrue()
+    {
+        $class = new \ReflectionClass('ClassWithoutConstruct');
+        $actualResult = $this->_model->getConstructorArguments($class, false, true);
+
+        $this->assertEquals(array(), $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassExtendsDefaultPhpTypeInheridetFalse()
+    {
+        $class = new \ReflectionClass('ClassExtendsDefaultPhpType');
+        $actualResult = $this->_model->getConstructorArguments($class);
+
+        $this->assertEquals(array(), $actualResult);
+    }
+
+    public function testGetConstructorArgumentsClassExtendsDefaultPhpTypeInheridetTrue()
+    {
+        $expectedResult = array(
+            'message' => array(
+                'name' => 'message',
+                'position' => 0,
+                'type' => null,
+                'isOptional' => true,
+                'default' => null
+            ),
+            'code' => array(
+                'name' => 'code',
+                'position' => 1,
+                'type' => null,
+                'isOptional' => true,
+                'default' => null
+            ),
+            'previous' => array(
+                'name' => 'previous',
+                'position' => 2,
+                'type' => null,
+                'isOptional' => true,
+                'default' => null
+                )
+        );
+        $class = new \ReflectionClass('ClassExtendsDefaultPhpType');
+        $actualResult = $this->_model->getConstructorArguments($class, false, true);
+
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testGetParentCallWithRightArgumentsOrder()
+    {
+        $class = new \ReflectionClass('ThirdClassForParentCall');
+        $actualResult = $this->_model->getParentCall($class,
+            array(
+                'stdClassObject' => array('type' => '\stdClass'),
+                'secondClass'    => array('type' => '\ClassExtendsDefaultPhpType')
+                ));
+        $expectedResult = array(
+            array(
+                'name' => 'stdClassObject',
+                'position' => 0,
+                'type' => '\stdClass'
+            ),
+            array(
+                'name' => 'secondClass',
+                'position' => 1,
+                'type' => '\ClassExtendsDefaultPhpType'
+            )
+        );
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testGetParentCallWithWrongArgumentsOrder()
+    {
+        $class = new \ReflectionClass('WrongArgumentsOrder');
+        $actualResult = $this->_model->getParentCall($class,
+            array(
+                'stdClassObject' => array('type' => '\stdClass'),
+                'secondClass'    => array('type' => '\ClassExtendsDefaultPhpType')
+            ));
+        $expectedResult = array(
+            array(
+                'name' => 'secondClass',
+                'position' => 0,
+                'type' => '\ClassExtendsDefaultPhpType'
+            ),
+            array(
+                'name' => 'stdClassObject',
+                'position' => 1,
+                'type' => '\stdClass'
+            ),
+        );
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testGetParentCallWithSeparateLineFormat()
+    {
+        $class = new \ReflectionClass('ThirdClassForParentCall');
+        $actualResult = $this->_model->getParentCall($class,
+            array(
+                'stdClassObject' => array('type' => '\stdClass'),
+                'secondClass'    => array('type' => '\ClassExtendsDefaultPhpType')
+            ));
+        $expectedResult = array(
+            array(
+                'name' => 'stdClassObject',
+                'position' => 0,
+                'type' => '\stdClass'
+            ),
+            array(
+                'name' => 'secondClass',
+                'position' => 1,
+                'type' => '\ClassExtendsDefaultPhpType'
+            )
+        );
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    /**
+     * @param string $requiredType
+     * @param string $actualType
+     * @param bool $expectedResult
+     * @dataProvider testIsCompatibleTypeDataProvider
+     */
+    public function testIsCompatibleType($requiredType, $actualType, $expectedResult)
+    {
+        $actualResult = $this->_model->isCompatibleType($requiredType, $actualType);
+        $this->assertEquals($expectedResult, $actualResult);
+    }
+
+    public function testIsCompatibleTypeDataProvider()
+    {
+        return array(
+            array('array', 10, false),
+            array('array', 'array', true),
+            array(null, null, true),
+            array(null, 'array', true),
+            array('\ClassWithAllArgumentTypes', '\ClassWithoutOwnConstruct', true),
+            array('\ClassWithoutOwnConstruct', '\ClassWithAllArgumentTypes', false),
+        );
+    }
+
+}
diff --git a/dev/tests/unit/testsuite/Magento/Code/Reader/_files/ClassesForArgumentsReader.php b/dev/tests/unit/testsuite/Magento/Code/Reader/_files/ClassesForArgumentsReader.php
new file mode 100644
index 00000000000..20241743096
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Reader/_files/ClassesForArgumentsReader.php
@@ -0,0 +1,208 @@
+<?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)
+ */
+class ClassWithAllArgumentTypes
+{
+    const DEFAULT_VALUE = 'Const Value';
+    /**
+     * @var stdClass
+     */
+    protected $_stdClassObject;
+    /**
+     * @var classWithoutConstruct
+     */
+    protected $_withoutConstructorClassObject;
+    /**
+     * @var mixed
+     */
+    protected $_someVariable;
+    /**
+     * @var int
+     */
+    protected $_optionalNumValue;
+    /**
+     * @var string
+     */
+    protected $_optionalStringValue;
+    /**
+     * @var array
+     */
+    protected $_optionalArrayValue;
+
+    /**
+     * @var mixed
+     */
+    protected $_constValue;
+
+    /**
+     * @param stdClass $stdClassObject
+     * @param ClassWithoutConstruct $withoutConstructorClassObject
+     * @param $someVariable
+     * @param string $const
+     * @param int $optionalNumValue
+     * @param string $optionalStringValue
+     * @param array $optionalArrayValue
+     */
+    public function __construct(
+        \stdClass $stdClassObject,
+        \ClassWithoutConstruct $withoutConstructorClassObject,
+        $someVariable,
+        $const = \ClassWithAllArgumentTypes::DEFAULT_VALUE,
+        $optionalNumValue = 9807,
+        $optionalStringValue = 'optional string',
+        $optionalArrayValue = array('optionalKey' => 'optionalValue')
+    ) {
+        $this->_stdClassObject = $stdClassObject;
+        $this->_withoutConstructorClassObject = $withoutConstructorClassObject;
+        $this->_someVariable = $someVariable;
+        $this->_optionalNumValue = $optionalNumValue;
+        $this->_optionalStringValue = $optionalStringValue;
+        $this->_optionalArrayValue = $optionalArrayValue;
+        $this->_constValue = $const;
+    }
+}
+
+class ClassWithoutOwnConstruct extends ClassWithAllArgumentTypes
+{
+
+}
+
+class ClassWithoutConstruct
+{
+
+}
+
+class ClassExtendsDefaultPhpType extends \RuntimeException
+{
+
+}
+
+class FirstClassForParentCall
+{
+    /**
+     * @var stdClass
+     */
+    protected $_stdClassObject;
+    /**
+     * @var ClassExtendsDefaultPhpType
+     */
+    protected $_runeTimeException;
+    /**
+     * @var array
+     */
+    protected $_arrayVariable;
+
+    /**
+     * @param stdClass $stdClassObject
+     * @param ClassExtendsDefaultPhpType $runeTimeException
+     * @param array $arrayVariable
+     */
+    public function __construct(
+        \stdClass $stdClassObject,
+        \ClassExtendsDefaultPhpType $runeTimeException,
+        $arrayVariable = array('key' => 'value')
+    ) {
+        $this->_stdClassObject = $stdClassObject;
+        $this->_runeTimeException = $runeTimeException;
+        $this->_arrayVariable = $arrayVariable;
+    }
+}
+
+class ThirdClassForParentCall extends firstClassForParentCall
+{
+    /**
+     * @var stdClass
+     */
+    protected $_stdClassObject;
+    /**
+     * @var ClassExtendsDefaultPhpType
+     */
+    protected $_secondClass;
+
+    /**
+     * @param stdClass $stdClassObject
+     * @param ClassExtendsDefaultPhpType $secondClass
+     */
+    public function __construct(
+        \stdClass $stdClassObject,
+        \ClassExtendsDefaultPhpType $secondClass
+    ) {
+        parent::__construct($stdClassObject, $secondClass);
+        $this->_stdClassObject = $stdClassObject;
+        $this->_secondClass = $secondClass;
+    }
+}
+
+class WrongArgumentsOrder extends firstClassForParentCall
+{
+    /**
+     * @var stdClass
+     */
+    protected $_stdClassObject;
+    /**
+     * @var ClassExtendsDefaultPhpType
+     */
+    protected $_secondClass;
+
+    /**
+     * @param stdClass $stdClassObject
+     * @param ClassExtendsDefaultPhpType $secondClass
+     */
+    public function __construct(
+        \stdClass $stdClassObject,
+        \ClassExtendsDefaultPhpType $secondClass
+    ) {
+        parent::__construct($secondClass, $stdClassObject);
+        $this->_stdClassObject = $stdClassObject;
+        $this->_secondClass = $secondClass;
+    }
+}
+
+class ArgumentsOnSeparateLines extends firstClassForParentCall
+{
+    /**
+     * @var stdClass
+     */
+    protected $_stdClassObject;
+    /**
+     * @var ClassExtendsDefaultPhpType
+     */
+    protected $_secondClass;
+
+    /**
+     * @param stdClass $stdClassObject
+     * @param ClassExtendsDefaultPhpType $secondClass
+     */
+    public function __construct(
+        \stdClass $stdClassObject,
+        \ClassExtendsDefaultPhpType $secondClass
+    ) {
+        parent::__construct(
+            $secondClass,
+            $stdClassObject
+        );
+        $this->_stdClassObject = $stdClassObject;
+        $this->_secondClass = $secondClass;
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/ArgumentSequenceTest.php b/dev/tests/unit/testsuite/Magento/Code/Validator/ArgumentSequenceTest.php
new file mode 100644
index 00000000000..38dad380586
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/ArgumentSequenceTest.php
@@ -0,0 +1,103 @@
+<?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\Code\Validator;
+
+require_once ('_files/ClassesForArgumentSequence.php');
+
+class ArgumentSequenceTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Code\Validator\ArgumentSequence
+     */
+    protected $_validator;
+
+    /**
+     * @var string
+     */
+    protected $_fixturePath;
+
+    protected function setUp()
+    {
+        $this->_fixturePath = realpath(__DIR__)
+            . DIRECTORY_SEPARATOR . '_files'
+            . DIRECTORY_SEPARATOR . 'ClassesForArgumentSequence.php';
+        $this->_validator = $this->getMock('Magento\Code\Validator\ArgumentSequence', array('_isAllowedType'));
+        $this->_validator->expects($this->any())->method('_isAllowedType')->will($this->returnValue(true));
+    }
+
+    public function testValidSequence()
+    {
+        $this->assertTrue($this->_validator->validate('\ArgumentSequence\ValidChildClass'));
+    }
+
+    /**
+     * @dataProvider invalidSequenceDataProvider
+     */
+    public function testInvalidSequence($className, $expectedSequence)
+    {
+        $message = 'Incorrect argument sequence in class %s in ' . $this->_fixturePath . PHP_EOL
+            . 'Required: %s' . PHP_EOL;
+        $message = sprintf($message, $className, $expectedSequence);
+        try {
+            $this->_validator->validate($className);
+        } catch (\Magento\Code\ValidationException $exception) {
+            $this->assertStringStartsWith($message, $exception->getMessage());
+            return;
+        }
+        $this->fail('Failed asserting that exception of type "\Magento\Code\ValidationException" is thrown');
+    }
+
+    /**
+     * @return array
+     */
+    public function invalidSequenceDataProvider()
+    {
+        $expectedSequence = '$contextObject, $parentRequiredObject, $parentRequiredScalar, '
+            . '$childRequiredObject, $childRequiredScalar, $parentOptionalObject, $data, $parentOptionalScalar, '
+            . '$childOptionalObject, $childOptionalScalar';
+
+        $rule04 = '$contextObject, $parentRequiredObject, $parentRequiredScalar, $childRequiredObject, $argument, '
+            . '$childRequiredScalar, $parentOptionalObject, $data, $parentOptionalScalar, '
+            . '$childOptionalObject, $childOptionalScalar';
+
+        $rule06 = '$contextObject, $parentRequiredObject, $parentRequiredScalar, $childRequiredObject, '
+            . '$childRequiredScalar, $parentOptionalObject, $data, $parentOptionalScalar, '
+            . '$childOptionalObject, $argument, $childOptionalScalar';
+
+        return array(
+            'Rule 01' => array('\ArgumentSequence\InvalidChildClassRule01', $expectedSequence),
+            'Rule 02' => array('\ArgumentSequence\InvalidChildClassRule02', $expectedSequence),
+            'Rule 03' => array('\ArgumentSequence\InvalidChildClassRule03', $expectedSequence),
+            'Rule 04' => array('\ArgumentSequence\InvalidChildClassRule04', $rule04),
+            'Rule 05' => array('\ArgumentSequence\InvalidChildClassRule05', $expectedSequence),
+            'Rule 06' => array('\ArgumentSequence\InvalidChildClassRule06', $rule06),
+            'Rule 07' => array('\ArgumentSequence\InvalidChildClassRule07', $expectedSequence),
+            'Rule 08' => array('\ArgumentSequence\InvalidChildClassRule08', $expectedSequence),
+            'Rule 09' => array('\ArgumentSequence\InvalidChildClassRule09', $expectedSequence),
+            'Rule 10' => array('\ArgumentSequence\InvalidChildClassRule10', $expectedSequence),
+        );
+    }
+}
+ 
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/ConstructorIntegrityTest.php b/dev/tests/unit/testsuite/Magento/Code/Validator/ConstructorIntegrityTest.php
index 008756fe0c4..09d5d255de2 100644
--- a/dev/tests/unit/testsuite/Magento/Code/Validator/ConstructorIntegrityTest.php
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/ConstructorIntegrityTest.php
@@ -30,6 +30,7 @@ require_once __DIR__ .  '/../_files/app/code/Magento/SomeModule/Model/One/Test.p
 require_once __DIR__ .  '/../_files/app/code/Magento/SomeModule/Model/Four/Test.php';
 require_once __DIR__ .  '/../_files/app/code/Magento/SomeModule/Model/Five/Test.php';
 require_once __DIR__ .  '/../_files/app/code/Magento/SomeModule/Model/Six/Test.php';
+require_once __DIR__ .  '/_files/ClassesForConstructorIntegrity.php';
 
 class ConstructorIntegrityTest extends \PHPUnit_Framework_TestCase
 {
@@ -83,9 +84,33 @@ class ConstructorIntegrityTest extends \PHPUnit_Framework_TestCase
         $fileName = realpath(__DIR__ . '/../_files/app/code/Magento/SomeModule/Model/Six/Test.php');
         $this->setExpectedException(
             '\Magento\Code\ValidationException',
-            'Incompatible argument type: Required type: Magento\SomeModule\Model\Proxy. ' .
-            'Actual type: Magento\SomeModule\Model\ElementFactory; File: ' . $fileName
+            'Incompatible argument type: Required type: \Magento\SomeModule\Model\Proxy. ' .
+            'Actual type: \Magento\SomeModule\Model\ElementFactory; File: ' .  PHP_EOL . $fileName
         );
         $this->_model->validate('Magento\SomeModule\Model\Six\Test');
     }
+
+    public function testValidateWrongOrderForParentArguments()
+    {
+        $fileName = realpath(__DIR__) . DIRECTORY_SEPARATOR
+            . '_files' . DIRECTORY_SEPARATOR . 'ClassesForConstructorIntegrity.php';
+        $this->setExpectedException(
+            '\Magento\Code\ValidationException',
+            'Incompatible argument type: Required type: \Context. ' .
+            'Actual type: \ClassA; File: ' .  PHP_EOL . $fileName
+        );
+        $this->_model->validate('ClassArgumentWrongOrderForParentArguments');
+    }
+
+    public function testValidateWrongOptionalParamsType()
+    {
+        $fileName = realpath(__DIR__) . DIRECTORY_SEPARATOR
+            . '_files' . DIRECTORY_SEPARATOR . 'ClassesForConstructorIntegrity.php';
+        $this->setExpectedException(
+            '\Magento\Code\ValidationException',
+            'Incompatible argument type: Required type: array. ' .
+                'Actual type: \ClassB; File: ' .  PHP_EOL . $fileName
+        );
+        $this->_model->validate('ClassArgumentWithWrongParentArgumentsType');
+    }
 }
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/ContextAggregationTest.php b/dev/tests/unit/testsuite/Magento/Code/Validator/ContextAggregationTest.php
new file mode 100644
index 00000000000..8ed355b6e7d
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/ContextAggregationTest.php
@@ -0,0 +1,76 @@
+<?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\Code\Validator;
+
+require_once(__DIR__ . '/_files/ClassesForContextAggregation.php');
+
+class ContextAggregationTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Code\Validator\ContextAggregation
+     */
+    protected $_model;
+
+    /**
+     * @var string
+     */
+    protected $_fixturePath;
+
+    protected function setUp()
+    {
+        $this->_model = new \Magento\Code\Validator\ContextAggregation();
+        $this->_fixturePath  = realpath(__DIR__) . DIRECTORY_SEPARATOR
+            . '_files' . DIRECTORY_SEPARATOR . 'ClassesForContextAggregation.php';
+    }
+
+    public function testClassArgumentAlreadyInjectedIntoContext()
+    {
+        $message = 'Incorrect dependency in class ClassArgumentAlreadyInjectedInContext in '
+            . $this->_fixturePath . PHP_EOL . '\ClassFirst already exists in context object';
+
+        $this->setExpectedException('\Magento\Code\ValidationException', $message);
+        $this->_model->validate('ClassArgumentAlreadyInjectedInContext');
+    }
+
+    public function testClassArgumentWithInterfaceImplementation()
+    {
+        $this->assertTrue($this->_model->validate('ClassArgumentWithInterfaceImplementation'));
+    }
+
+    public function testClassArgumentWithInterface()
+    {
+        $this->assertTrue($this->_model->validate('ClassArgumentWithInterface'));
+    }
+
+    public function testClassArgumentWithAlreadyInjectedInterface()
+    {
+        $message = 'Incorrect dependency in class ClassArgumentWithAlreadyInjectedInterface in '
+            . $this->_fixturePath . PHP_EOL . '\\InterfaceFirst already exists in context object';
+
+        $this->setExpectedException('\Magento\Code\ValidationException', $message);
+        $this->_model->validate('ClassArgumentWithAlreadyInjectedInterface');
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForArgumentSequence.php b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForArgumentSequence.php
new file mode 100644
index 00000000000..101fc25e364
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForArgumentSequence.php
@@ -0,0 +1,525 @@
+<?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 ArgumentSequence;
+
+/**
+ * Constructor Arguments Sequence Rules:
+ * 
+ * 01. Parent Required Object Arguments
+ * 02. Parent Required Scalar Arguments
+ * 03. Child Required Object Arguments
+ * 04. Child Required Scalar Arguments
+ * 05. Parent Optional Object Arguments
+ * 06. Parent Optional Scalar Arguments
+ * 07. Child Optional Object Arguments
+ * 08. Child Optional Scalar Arguments
+ * 09. Context object must go first
+ * 10. Optional parameter with name data must go first among all optional scalar arguments
+ */
+
+class ContextObject implements \Magento\ObjectManager\ContextInterface
+{
+
+}
+
+class ParentRequiredObject
+{
+
+}
+
+class ParentOptionalObject
+{
+
+}
+
+class ChildRequiredObject
+{
+
+}
+
+class ChildOptionalObject
+{
+
+}
+
+class ParentClass
+{
+    protected $contextObject;
+    protected $parentRequiredObject;
+    protected $parentRequiredScalar;
+    protected $parentOptionalObject;
+    protected $data;
+    protected $parentOptionalScalar;
+
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array()
+    ) {
+        $this->contextObject        = $contextObject;
+        $this->parentRequiredObject = $parentRequiredObject;
+        $this->parentOptionalScalar = $parentRequiredScalar;
+        $this->parentOptionalObject = $parentOptionalObject;
+        $this->data                 = $data;
+        $this->parentOptionalScalar = $parentOptionalScalar;
+    }
+}
+
+class ValidChildClass extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 01. Parent Required Object Arguments must go first
+class InvalidChildClassRule01 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        array $parentRequiredScalar,
+        ParentRequiredObject $parentRequiredObject,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+// Rule 02. Parent Required Scalar Arguments must go after Parent Required Object Arguments
+class InvalidChildClassRule02 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        ChildRequiredObject $childRequiredObject,
+        array $parentRequiredScalar,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 03. Child Required Object Arguments must go after Parent Required Scalar Arguments
+class InvalidChildClassRule03 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        array $childRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 04. Child Required Scalar Arguments must go after Child Required Object Arguments
+class InvalidChildClassRule04 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+    protected $argument;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ChildRequiredObject $argument,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+        $this->argument = $argument;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 05. Parent Optional Object Arguments must go after Child Required Scalar Arguments
+class InvalidChildClassRule05 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        array $parentOptionalScalar = array(),
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 06. Parent Optional Scalar Arguments must go after Parent Optional Object Arguments
+class InvalidChildClassRule06 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+    protected $argument;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array(),
+        ChildOptionalObject $argument = null
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+        $this->argument = $argument;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 07. Child Optional Object Arguments must go after Parent Optional Scalar Arguments
+class InvalidChildClassRule07 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        array $childOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 08. Child Optional Scalar Arguments must go after Child Optional Object Arguments
+class InvalidChildClassRule08 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array(),
+        array $parentOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+//Rule 09. Context object must go first
+class InvalidChildClassRule09 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ParentRequiredObject $parentRequiredObject,
+        ContextObject $contextObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $data = array(),
+        array $parentOptionalScalar = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
+
+// Rule 10. Optional parameter with name data must go first among all optional scalar arguments
+class InvalidChildClassRule10 extends ParentClass
+{
+    protected $childRequiredObject;
+    protected $childRequiredScalar;
+    protected $childOptionalObject;
+    protected $childOptionalScalar;
+
+    /**
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     */
+    public function __construct(
+        ContextObject $contextObject,
+        ParentRequiredObject $parentRequiredObject,
+        array $parentRequiredScalar,
+        ChildRequiredObject $childRequiredObject,
+        array $childRequiredScalar,
+        ParentOptionalObject $parentOptionalObject = null,
+        array $parentOptionalScalar = array(),
+        array $data = array(),
+        ChildOptionalObject $childOptionalObject = null,
+        array $childOptionalScalar = array()
+    ) {
+        $this->childRequiredObject = $childRequiredObject;
+        $this->childRequiredScalar = $childRequiredScalar;
+        $this->childOptionalObject = $childOptionalObject;
+        $this->childOptionalScalar = $childOptionalScalar;
+
+        parent::__construct(
+            $contextObject,
+            $parentRequiredObject,
+            $parentRequiredScalar,
+            $parentOptionalObject,
+            $data,
+            $parentOptionalScalar
+        );
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForConstructorIntegrity.php b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForConstructorIntegrity.php
new file mode 100644
index 00000000000..7892d91e8fe
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForConstructorIntegrity.php
@@ -0,0 +1,209 @@
+<?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)
+ */
+
+class ClassA
+{
+
+}
+class ClassB
+{
+
+}
+class ClassC
+{
+
+}
+
+interface InterfaceA
+{
+
+}
+class ImplementationOfInterfaceA implements InterfaceA
+{
+
+}
+
+interface InterfaceB
+{
+
+}
+class ImplementationOfInterfaceB implements InterfaceB
+{
+
+}
+
+class Context implements \Magento\ObjectManager\ContextInterface
+{
+    /**
+     * @var ClassA
+     */
+    protected $_exA;
+
+    /**
+     * @var ClassB
+     */
+    protected $_exB;
+
+    /**
+     * @var ClassC
+     */
+    protected $_exC;
+
+    /**
+     * @var InterfaceA
+     */
+    protected $_interfaceA;
+
+    /**
+     * @var ImplementationOfInterfaceB
+     */
+    protected $_implOfBInterface;
+
+    public function __construct(
+        \ClassA $exA, \ClassB $exB, \ClassC $exC,
+        \InterfaceA $interfaceA,
+        \ImplementationOfInterfaceB $implOfBInterface
+    ) {
+        $this->_exA = $exA;
+        $this->_exB = $exB;
+        $this->_exC = $exC;
+        $this->_interfaceA = $interfaceA;
+        $this->_implOfBInterface = $implOfBInterface;
+    }
+}
+
+class ClassArgumentAlreadyInjectedIntoContext
+{
+    /**
+     * @var Context
+     */
+    protected $_context;
+    /**
+     * @var ClassA
+     */
+    protected $_exA;
+
+    /**
+     * @param Context $context
+     * @param ClassA $exA
+     */
+    public function __construct(\Context $context, \ClassA $exA)
+    {
+        $this->_context = $context;
+        $this->_exA = $exA;
+    }
+}
+
+class ClassArgumentWrongOrderForParentArguments extends ClassArgumentAlreadyInjectedIntoContext
+{
+    /**
+     * @var Context
+     */
+    protected $_context;
+
+    /**
+     * @var ClassA
+     */
+    protected $_exA;
+
+    /**
+     * @var ClassB
+     */
+    protected $_exB;
+
+    /**
+     * @param Context $context
+     * @param ClassA $exA
+     * @param ClassB $exB
+     */
+    public function __construct(\Context $context, \ClassA $exA, \ClassB $exB)
+    {
+        parent::__construct($exA, $context);
+        $this->_context = $context;
+        $this->_exA = $exA;
+        $this->_exB = $exB;
+    }
+}
+
+class ClassArgumentWithOptionalParams
+{
+    /**
+     * @var Context
+     */
+    protected $_context;
+
+    /**
+     * @var array
+     */
+    protected $_data;
+
+    /**
+     * @param Context $context
+     * @param array $data
+     */
+    public function __construct(\Context $context, array $data = array())
+    {
+        $this->_context = $context;
+        $this->_data = $data;
+    }
+}
+
+class ClassArgumentWithWrongParentArgumentsType extends ClassArgumentWithOptionalParams
+{
+    /**
+     * @var Context
+     */
+    protected $_context;
+
+    /**
+     * @var ClassB
+     */
+    protected $_exB;
+
+    /**
+     * @var ClassC
+     */
+    protected $_exC;
+
+    /**
+     * @var array
+     */
+    protected $_data;
+
+    /**
+     * @param Context $context
+     * @param ClassB $exB
+     * @param ClassC $exC
+     * @param array $data
+     */
+    public function __construct(\Context $context, \ClassB $exB, \ClassC $exC, array $data = array())
+    {
+        parent::__construct($context, $exB);
+        $this->_context = $context;
+        $this->_exB = $exB;
+        $this->_exC = $exC;
+        $this->_data = $data;
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForContextAggregation.php b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForContextAggregation.php
new file mode 100644
index 00000000000..fb3efa078c2
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Code/Validator/_files/ClassesForContextAggregation.php
@@ -0,0 +1,195 @@
+<?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)
+ */
+
+class ClassFirst
+{
+
+}
+class ClassSecond
+{
+
+}
+class ClassThird
+{
+
+}
+class ClassD
+{
+
+}
+interface InterfaceFirst
+{
+
+}
+class ImplementationOfInterfaceFirst implements InterfaceFirst
+{
+
+}
+interface InterfaceSecond
+{
+
+}
+class ImplementationOfInterfaceSecond implements InterfaceSecond
+{
+
+}
+class ContextFirst implements \Magento\ObjectManager\ContextInterface
+{
+    /**
+     * @var ClassFirst
+     */
+    protected $_exA;
+
+    /**
+     * @var ClassSecond
+     */
+    protected $_exB;
+
+    /**
+     * @var ClassThird
+     */
+    protected $_exC;
+
+    /**
+     * @var InterfaceFirst
+     */
+    protected $_interfaceA;
+
+    /**
+     * @var ImplementationOfInterfaceSecond
+     */
+    protected $_implOfBInterface;
+
+    /**
+     * @param ClassFirst $exA
+     * @param ClassSecond $exB
+     * @param ClassThird $exC
+     * @param InterfaceFirst $interfaceA
+     * @param ImplementationOfInterfaceSecond $implOfBInterface
+     */
+    public function __construct(
+        \ClassFirst $exA, \ClassSecond $exB, \ClassThird $exC,
+        \InterfaceFirst $interfaceA,
+        \ImplementationOfInterfaceSecond $implOfBInterface
+    ) {
+        $this->_exA = $exA;
+        $this->_exB = $exB;
+        $this->_exC = $exC;
+        $this->_interfaceA = $interfaceA;
+        $this->_implOfBInterface = $implOfBInterface;
+    }
+}
+
+class ClassArgumentAlreadyInjectedInContext
+{
+    /**
+     * @var ContextFirst
+     */
+    protected $_context;
+
+    /**
+     * @var ClassFirst
+     */
+    protected $_exA;
+
+    /**
+     * @param ContextFirst $context
+     * @param ClassFirst $exA
+     */
+    public function __construct(\ContextFirst $context, \ClassFirst $exA)
+    {
+        $this->_context = $context;
+        $this->_exA = $exA;
+    }
+}
+
+class ClassArgumentWithInterfaceImplementation
+{
+    /**
+     * @var ContextFirst
+     */
+    protected $_context;
+
+    /**
+     * @var ImplementationOfInterfaceFirst
+     */
+    protected $_exA;
+
+    /**
+     * @param ContextFirst $context
+     * @param ImplementationOfInterfaceFirst $exA
+     */
+    public function __construct(\ContextFirst $context, \ImplementationOfInterfaceFirst $exA)
+    {
+        $this->_context = $context;
+        $this->_exA = $exA;
+    }
+}
+
+class ClassArgumentWithInterface
+{
+    /**
+     * @var ContextFirst
+     */
+    protected $_context;
+
+    /**
+     * @var InterfaceSecond
+     */
+    protected $_exB;
+
+    /**
+     * @param ContextFirst $context
+     * @param InterfaceSecond $exB
+     */
+    public function __construct(\ContextFirst $context, \InterfaceSecond $exB)
+    {
+        $this->_context = $context;
+        $this->_exB = $exB;
+    }
+}
+
+class ClassArgumentWithAlreadyInjectedInterface
+{
+    /**
+     * @var ContextFirst
+     */
+    protected $_context;
+
+    /**
+     * @var InterfaceFirst
+     */
+    protected $_exA;
+
+    /**
+     * @param ContextFirst $context
+     * @param InterfaceFirst $exA
+     */
+    public function __construct(\ContextFirst $context, \InterfaceFirst $exA)
+    {
+        $this->_context = $context;
+        $this->_exA = $exA;
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Action/FormKeyValidatorTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Action/FormKeyValidatorTest.php
new file mode 100644
index 00000000000..e19d146681c
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Action/FormKeyValidatorTest.php
@@ -0,0 +1,77 @@
+<?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\Action;
+
+
+class FormKeyValidatorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Action\FormKeyValidator
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_sessionMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+        $this->_sessionMock = $this->getMock('Magento\Core\Model\Session', array('getFormKey'), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_model = new \Magento\Core\App\Action\FormKeyValidator(
+            $this->_sessionMock
+        );
+    }
+
+    /**
+     * @param string $formKey
+     * param bool $expected
+     * @dataProvider validateDataProvider
+     */
+    public function testValidate($formKey, $expected)
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getParam')
+            ->with('form_key', null)
+            ->will($this->returnValue($formKey));
+        $this->_sessionMock->expects($this->once())->method('getFormKey')->will($this->returnValue('formKey'));
+        $this->assertEquals($expected, $this->_model->validate($this->_requestMock));
+    }
+
+    public function validateDataProvider()
+    {
+        return array(
+          'formKeyExist' => array('formKey', true),
+          'formKeyNotEqualToFormKeyInSession' => array('formKeySession', false)
+        );
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/DesignTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/DesignTest.php
new file mode 100644
index 00000000000..6bc8ea8479e
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/DesignTest.php
@@ -0,0 +1,39 @@
+<?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\Action\Plugin;
+
+class DesignTest extends \PHPUnit_Framework_TestCase
+{
+
+    public function testAroundDispatch()
+    {
+        $designLoaderMock = $this->getMock('Magento\Core\Model\DesignLoader', array(), array(), '', false);
+        $invocationChainMock = $this->getMock('Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $plugin = new \Magento\Core\App\Action\Plugin\Design($designLoaderMock);
+        $designLoaderMock->expects($this->once())->method('load');
+        $invocationChainMock->expects($this->once())->method('proceed')->with(array());
+        $plugin->aroundDispatch(array(), $invocationChainMock);
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/InstallTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/InstallTest.php
new file mode 100644
index 00000000000..e014b52f580
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/InstallTest.php
@@ -0,0 +1,89 @@
+<?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\Action\Plugin;
+
+class InstallTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Action\Plugin\Install
+     */
+    protected $_plugin;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_response;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    protected function setUp()
+    {
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\ResponseInterface', array('setRedirect', 'sendResponse'));
+        $this->_urlMock = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
+        $this->_invocationChainMock =
+            $this->getMock('Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_plugin = new \Magento\Core\App\Action\Plugin\Install(
+            $this->_appStateMock,
+            $this->_response,
+            $this->_urlMock,
+            $this->getMock('\Magento\App\ActionFlag', array(), array(), '', false)
+        );
+    }
+
+    public function testAroundDispatch()
+    {
+        $url = 'http://example.com';
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(false));
+        $this->_urlMock->expects($this->once())->method('getUrl')->with('install')->will($this->returnValue($url));
+        $this->_response->expects($this->once())->method('setRedirect')->with($url);
+        $this->_invocationChainMock->expects($this->never())->method('proceed');
+        $this->_plugin->aroundDispatch(array(), $this->_invocationChainMock);
+    }
+
+    public function testAroundDispatchWhenApplicationIsInstalled()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+
+        $this->_invocationChainMock
+            ->expects($this->once())
+            ->method('proceed')
+            ->with(array())
+            ->will($this->returnValue('ExpectedValue'));
+        $this->_plugin->aroundDispatch(array(), $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/LastUrlTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/LastUrlTest.php
new file mode 100644
index 00000000000..d5b05cd2fdf
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/LastUrlTest.php
@@ -0,0 +1,42 @@
+<?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\Action\Plugin;
+
+class LastUrlTest extends \PHPUnit_Framework_TestCase
+{
+    public function testAfterDispatch()
+    {
+        $session = $this->getMock('\Magento\Core\Model\Session', array('setLastUrl'), array(), '', false);
+        $url = $this->getMock('\Magento\Core\Model\Url', array(), array(), '', false);
+        $plugin = new \Magento\Core\App\Action\Plugin\LastUrl($session, $url);
+        $session->expects($this->once())->method('setLastUrl')->with('http://example.com');
+        $invocationChainMock = $this->getMock('Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $invocationChainMock->expects($this->once())->method('proceed')->will($this->returnValue('result'));
+        $url->expects($this->once())
+            ->method('getUrl')
+            ->with('*/*/*', array('_current' => true))
+            ->will($this->returnValue('http://example.com'));
+        $this->assertEquals('result', $plugin->aroundDispatch(array(), $invocationChainMock));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/StoreCheckTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/StoreCheckTest.php
new file mode 100644
index 00000000000..226308f3d0d
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Action/Plugin/StoreCheckTest.php
@@ -0,0 +1,73 @@
+<?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\Action\Plugin;
+
+class StoreCheckTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Action\Plugin\StoreCheck
+     */
+    protected $_plugin;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    protected function setUp()
+    {
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
+        $this->_storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->any())->method('getStore')->will($this->returnValue($this->_storeMock));
+        $this->_invocationChainMock =
+            $this->getMock('Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_invocationChainMock->expects($this->once())->method('proceed');
+        $this->_plugin = new \Magento\Core\App\Action\Plugin\StoreCheck($this->_storeManagerMock);
+    }
+
+    public function testBeforeDispatchWhenStoreNotActive()
+    {
+        $this->_storeMock->expects($this->any())->method('getIsActive')->will($this->returnValue(false));
+        $this->_storeManagerMock->expects($this->once())->method('throwStoreException');
+        $this->_plugin->aroundDispatch(array(), $this->_invocationChainMock);
+    }
+
+    public function testBeforeDispatchWhenStoreIsActive()
+    {
+        $this->_storeMock->expects($this->any())->method('getIsActive')->will($this->returnValue(true));
+        $this->_storeManagerMock->expects($this->never())->method('throwStoreException');
+        $this->_plugin->aroundDispatch(array(), $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
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
index 2aebe7588ec..54b429dca10 100644
--- a/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
@@ -79,7 +79,7 @@ class PathInfoProcessorTest extends \PHPUnit_Framework_TestCase
         $this->_requestMock
             ->expects($this->once())->method('isDirectAccessFrontendName')
             ->with('storeCode')->will($this->returnValue(true));
-        $this->_requestMock->expects($this->once())->method('setActionName')->with('noRoute');
+        $this->_requestMock->expects($this->once())->method('setActionName')->with('noroute');
         $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/NorouteTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/NorouteTest.php
new file mode 100644
index 00000000000..4143d7fcf5f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/NorouteTest.php
@@ -0,0 +1,102 @@
+<?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\Controller;
+
+
+class NorouteTest extends \PHPUnit_Framework_TestCase
+{
+
+    /**
+     * @var \Magento\Core\Controller\Noroute
+     */
+    protected $_controller;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_viewMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_statusMock;
+
+    protected function setUp()
+    {
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_viewMock = $this->getMock('\Magento\App\ViewInterface');
+        $this->_statusMock = $this->getMock('Magento\Object', array('getLoaded'), array(), '', false);
+        $this->_controller = $helper->getObject('Magento\Core\Controller\Noroute', array(
+                'request' => $this->_requestMock,
+                'view' =>$this->_viewMock
+            )
+        );
+    }
+
+    public function testIndexActionWhenStatusNotLoaded()
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getParam')
+            ->with('__status__')
+            ->will($this->returnValue($this->_statusMock));
+        $this->_statusMock->expects($this->any())->method('getLoaded')->will($this->returnValue(false));
+        $this->_viewMock->expects($this->once())->method('loadLayout')->with(array('default', 'noroute'));
+        $this->_viewMock->expects($this->once())->method('renderLayout');
+        $this->_controller->indexAction();
+    }
+
+    public function testIndexActionWhenStatusLoaded()
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getParam')
+            ->with('__status__')
+            ->will($this->returnValue($this->_statusMock));
+        $this->_statusMock->expects($this->any())->method('getLoaded')->will($this->returnValue(true));
+        $this->_statusMock->expects($this->any())->method('getForwarded')->will($this->returnValue(false));
+        $this->_viewMock->expects($this->never())->method('loadLayout');
+        $this->_requestMock->expects($this->once())
+            ->method('setActionName')
+            ->will($this->returnValue($this->_requestMock));
+        $this->_controller->indexAction();
+    }
+
+    public function testIndexActionWhenStatusNotInstanceofMagentoObject()
+    {
+        $this->_requestMock
+            ->expects($this->once())
+            ->method('getParam')
+            ->with('__status__')
+            ->will($this->returnValue('string'));
+        $this->_controller->indexAction();
+    }
+}
\ No newline at end of file
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 573c3ab53de..76458e49daa 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
@@ -37,7 +37,9 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_routerListMock = $this->getMock('\Magento\App\Route\ConfigInterface');
-        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $infoProcessorMock = $this->getMock('Magento\App\Request\PathInfoProcessorInterface');
+        $infoProcessorMock->expects($this->any())->method('process')->will($this->returnArgument(1));
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, $infoProcessorMock);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
deleted file mode 100644
index 10a92e5847a..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
+++ /dev/null
@@ -1,132 +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  unit_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;
-
-/**
- * Test class \Magento\Core\Controller\Varien\AbstractAction
- */
-class AbstractActionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\App\Action\AbstractAction
-     */
-    protected $_actionAbstract;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_request;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_response;
-
-    /**
-     * Setup before tests
-     *
-     * Create request, response and forward action (child of AbstractAction)
-     */
-    protected function setUp()
-    {
-        $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\App\Action\Forward($this->_request, $this->_response);
-    }
-
-    /**
-     * Test for getRequest method
-     *
-     * @test
-     * @covers \Magento\App\Action\AbstractAction::getRequest
-     */
-    public function testGetRequest()
-    {
-        $this->assertEquals($this->_request, $this->_actionAbstract->getRequest());
-    }
-
-    /**
-     * Test for getResponse method
-     *
-     * @test
-     * @covers \Magento\App\Action\AbstractAction::getResponse
-     */
-    public function testGetResponse()
-    {
-        $this->assertEquals($this->_response, $this->_actionAbstract->getResponse());
-    }
-
-    /**
-     * Test for getResponse med. Checks that response headers are set correctly
-     *
-     * @test
-     * @covers \Magento\App\Action\AbstractAction::getResponse
-     */
-    public function testResponseHeaders()
-    {
-        $routerListMock = $this->getMock('Magento\App\Route\ConfigInterface');
-        $request = new \Magento\App\Request\Http($routerListMock);
-        $response = new \Magento\App\Response\Http();
-        $response->headersSentThrowsException = false;
-        $action = new \Magento\App\Action\Forward($request, $response);
-
-        $headers = array(
-            array(
-                'name' => 'X-Frame-Options',
-                'value' => 'SAMEORIGIN',
-                'replace' => false
-            )
-        );
-
-        $this->assertEquals($headers, $action->getResponse()->getHeaders());
-    }
-
-    /**
-     * Test for getFullActionName method
-     *
-     * @test
-     * @covers \Magento\App\Action\AbstractAction::getFullActionName
-     */
-    public function testGetFullActionName()
-    {
-        $this->_request->expects($this->once())
-            ->method('getRequestedRouteName')
-            ->will($this->returnValue('adminhtml'));
-
-        $this->_request->expects($this->once())
-            ->method('getRequestedControllerName')
-            ->will($this->returnValue('index'));
-
-        $this->_request->expects($this->once())
-            ->method('getRequestedActionName')
-            ->will($this->returnValue('index'));
-
-        $this->assertEquals('adminhtml_index_index', $this->_actionAbstract->getFullActionName());
-    }
-}
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
deleted file mode 100644
index 9a2aa76dfb2..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
+++ /dev/null
@@ -1,75 +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  unit_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\Action;
-
-/**
- * Test class \Magento\Core\Controller\Varien\Action\Factory
- */
-class FactoryTest extends \PHPUnit_Framework_TestCase
-{
-    /*
-    * Test controller class name
-    */
-    const CONTROLLER_NAME  = 'TestController';
-
-    /**
-     * ObjectManager mock for tests
-     *
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_objectManager;
-
-    /**
-     * Test class instance
-     *
-     * @var \Magento\App\ActionFactory
-     */
-    protected $_model;
-
-    protected function setUp()
-    {
-        $this->_objectManager = $this->getMock('Magento\ObjectManager');
-    }
-
-    public function testConstruct()
-    {
-        $this->_model = new \Magento\App\ActionFactory($this->_objectManager);
-        $this->assertAttributeInstanceOf('Magento\ObjectManager', '_objectManager', $this->_model);
-    }
-
-    public function testCreateController()
-    {
-        $this->_objectManager->expects($this->at(1))
-            ->method('create')
-            ->with(self::CONTROLLER_NAME)
-            ->will($this->returnValue('TestControllerInstance'));
-
-        $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
deleted file mode 100644
index 4ab9a3a2f97..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
+++ /dev/null
@@ -1,81 +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  unit_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)
- */
-
-/**
- * Test class \Magento\Core\Controller\Varien\Action\Forward
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class ForwardTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\App\Action\Forward
-     */
-    protected $_object = null;
-
-    /**
-     * @var \Magento\App\RequestInterface
-     */
-    protected $_request;
-
-    /**
-     * @var \Magento\App\Response\Http
-     */
-    protected $_response;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_routerListMock;
-
-    protected function setUp()
-    {
-        $this->_routerListMock = $this->getMock('Magento\App\Route\ConfigInterface');
-        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
-        $this->_response = new \Magento\App\Response\Http();
-
-        $this->_object = new \Magento\App\Action\Forward($this->_request, $this->_response);
-    }
-
-    protected function tearDown()
-    {
-        unset($this->_object);
-        unset($this->_request);
-        unset($this->_response);
-    }
-
-    /**
-     * Test that \Magento\Core\Controller\Varien\Action\Forward::dispatch() does not change dispatched flag
-     */
-    public function testDispatch()
-    {
-        $this->_request->setDispatched(true);
-        $this->assertTrue($this->_request->isDispatched());
-        $this->_object->dispatch('any action');
-        $this->assertFalse($this->_request->isDispatched());
-    }
-}
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
deleted file mode 100644
index 0c5d634213d..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
+++ /dev/null
@@ -1,83 +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  unit_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)
- */
-
-/**
- * Test class \Magento\Core\Controller\Varien\Action\Redirect
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class RedirectTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\App\Action\Redirect
-     */
-    protected $_object = null;
-
-    /**
-     * @var \Magento\App\RequestInterface
-     */
-    protected $_request;
-
-    /**
-     * @var \Magento\App\Response\Http
-     */
-    protected $_response;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_routerListMock;
-
-    protected function setUp()
-    {
-        $this->_routerListMock = $this->getMock('Magento\App\Route\ConfigInterface', array(), array(), '', false);
-        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
-        $this->_response = new \Magento\App\Response\Http();
-
-        $this->_object = new \Magento\App\Action\Redirect($this->_request, $this->_response);
-    }
-
-    protected function tearDown()
-    {
-        unset($this->_object);
-        unset($this->_request);
-        unset($this->_response);
-    }
-
-    public function testDispatch()
-    {
-        $this->_request->setDispatched(true);
-        $this->assertTrue($this->_request->isDispatched());
-        $this->_object->dispatch('any action');
-        $this->assertTrue($this->_request->isDispatched());
-
-        $this->_request->setDispatched(false);
-        $this->assertFalse($this->_request->isDispatched());
-        $this->_object->dispatch('any action');
-        $this->assertFalse($this->_request->isDispatched());
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Filter/DateTest.php b/dev/tests/unit/testsuite/Magento/Core/Filter/DateTest.php
new file mode 100644
index 00000000000..50d0ec16ba1
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Filter/DateTest.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * @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\Filter;
+
+class DateTest extends \PHPUnit_Framework_TestCase
+{
+    public function testFilter()
+    {
+        $localeMock = $this->getMock('\Magento\Core\Model\LocaleInterface');
+        $localeMock->expects($this->once())
+            ->method('getDateFormat')
+            ->with(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT)
+            ->will($this->returnValue('MM-dd-yyyy'));
+        $model = new Date($localeMock);
+        // Check that date is converted to 'yyyy-MM-dd' format
+        $this->assertEquals('2241-12-31', $model->filter('12-31-2241'));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Filter/DateTimeTest.php b/dev/tests/unit/testsuite/Magento/Core/Filter/DateTimeTest.php
new file mode 100644
index 00000000000..4ce5669e419
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Filter/DateTimeTest.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * @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\Filter;
+
+class DateTimeTest extends \PHPUnit_Framework_TestCase
+{
+    public function testFilter()
+    {
+        $localeMock = $this->getMock('\Magento\Core\Model\LocaleInterface');
+        $localeMock->expects($this->once())
+            ->method('getDateTimeFormat')
+            ->with(\Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT)
+            ->will($this->returnValue('HH:mm:ss MM-dd-yyyy'));
+        $model = new DateTime($localeMock);
+        // Check that datetime is converted to 'yyyy-MM-dd HH:mm:ss' format
+        $this->assertEquals('2241-12-31 23:59:53', $model->filter('23:59:53 12-31-2241'));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
index 08abeee40e5..aa3af8956e2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
@@ -37,7 +37,7 @@ class CookieTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_object = new \Magento\Core\Helper\Cookie(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
+            $this->getMock('Magento\App\Helper\Context', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\Cookie', array(), array(), '', false, false),
             array(
@@ -52,7 +52,7 @@ class CookieTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertFalse($this->_object->isUserNotAllowSaveCookie());
         $this->_object = new \Magento\Core\Helper\Cookie(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
+            $this->getMock('Magento\App\Helper\Context', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\Cookie', array(), array(), '', false, false),
             array(
@@ -80,7 +80,7 @@ class CookieTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnCallback('Magento\\Core\\Helper\\CookieTest::getConfigMethodStub'))
             ->with($this->equalTo('web/cookie/cookie_restriction_lifetime'));
         $this->_object = new \Magento\Core\Helper\Cookie(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
+            $this->getMock('Magento\App\Helper\Context', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\Cookie', array(), array(), '', false, false),
             array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
index 051698b63b4..64a9d2ac9dc 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
@@ -58,8 +58,8 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         /** @var $themeCollection \Magento\Core\Model\Resource\Theme\Collection */
         $themeCollection = $this->getMock('Magento\Core\Model\Resource\Theme\Collection', null, array(), '', false);
 
-        /** @var $context \Magento\Core\Helper\Context */
-        $context = $this->getMock('Magento\Core\Helper\Context', null, array(), '', false);
+        /** @var $context \Magento\App\Helper\Context */
+        $context = $this->getMock('Magento\App\Helper\Context', null, array(), '', false);
 
         $fileSystem = $this->getMockBuilder('Magento\View\FileSystem')->disableOriginalConstructor()
             ->getMock();
@@ -113,8 +113,8 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $themeCollection = $this->getMock('Magento\Core\Model\Resource\Theme\Collection', null, array(), '', false);
 
         // 6.
-        /** @var $context \Magento\Core\Helper\Context */
-        $context = $this->getMock('Magento\Core\Helper\Context', null, array(), '', false);
+        /** @var $context \Magento\App\Helper\Context */
+        $context = $this->getMock('Magento\App\Helper\Context', null, array(), '', false);
 
         // 7. Get view file system model mock
         $params = array(
@@ -576,8 +576,8 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         /** @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);
+        /** @var $context \Magento\App\Helper\Context */
+        $context = $this->getMock('Magento\App\Helper\Context', null, array(), '', false);
 
         /** @var $fileSystem \Magento\View\FileSystem|\PHPUnit_Framework_MockObject_MockObject */
         $fileSystem = $this->getMockBuilder('Magento\View\FileSystem', array())
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/Url/RewriteTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/Url/RewriteTest.php
index 4a1b7694ef1..1523dc5bf81 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/Url/RewriteTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/Url/RewriteTest.php
@@ -65,7 +65,7 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
             array(), '', false, false);
         $optionsMock->expects($this->any())->method('getRedirectOptions')->will($this->returnValue(array('R', 'RP')));
         $helper = new \Magento\Core\Helper\Url\Rewrite(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
+            $this->getMock('Magento\App\Helper\Context', array(), array(), '', false, false),
             $optionsMock
         );
         $mockObject = new \Magento\Object();
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/DesignLoaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/DesignLoaderTest.php
new file mode 100644
index 00000000000..e6be4f17fce
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/DesignLoaderTest.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\Model;
+
+class DesignLoaderTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\Model\DesignLoader
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_layoutMock;
+
+    protected function setUp()
+    {
+        $this->_appMock = $this->getMock('\Magento\Core\Model\App', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_layoutMock = $this->getMock('Magento\View\LayoutInterface');
+        $this->_model = new \Magento\Core\Model\DesignLoader(
+            $this->_requestMock,
+            $this->_appMock,
+            $this->_layoutMock
+        );
+    }
+
+    public function testLoad()
+    {
+        $area = $this->getMock('Magento\Core\Model\App\Area', array(), array(), '', false);
+        $this->_layoutMock->expects($this->once())->method('getArea')->will($this->returnValue('area'));
+        $this->_appMock->expects($this->once())->method('getArea')->with('area')->will($this->returnValue($area));
+        $area->expects($this->at(0))->method('load')
+            ->with(\Magento\Core\Model\App\Area::PART_DESIGN)->will($this->returnValue($area));
+        $area->expects($this->at(1))->method('load')
+            ->with(\Magento\Core\Model\App\Area::PART_TRANSLATE)->will($this->returnValue($area));
+        $this->_model->load($this->_requestMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/MediaTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/MediaTest.php
index 17e6d421d17..d8d633e9bd7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/MediaTest.php
@@ -38,7 +38,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
     protected $_loggerMock;
 
     /**
-     * @var \Magento\Core\Helper\Context
+     * @var \Magento\App\Helper\Context
      */
     protected $_storageHelperMock;
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/TestHelper.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/TestHelper.php
index b84f336adec..021db10edca 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/TestHelper.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/TestHelper.php
@@ -27,7 +27,7 @@
 
 namespace Magento\Core\Model\Layout\Argument\Handler;
 
-class TestHelper extends \Magento\Core\Helper\AbstractHelper
+class TestHelper extends \Magento\App\Helper\AbstractHelper
 {
     public function testMethod()
     {
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 f0f1f26f227..88df23167e2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
@@ -29,7 +29,7 @@ class MergeTest extends \PHPUnit_Framework_TestCase
     /**
      * Fixture XML instruction(s) to be used in tests
      */
-    const FIXTURE_LAYOUT_XML = '<block class="Magento\Core\Block\Template" template="fixture.phtml"/>';
+    const FIXTURE_LAYOUT_XML = '<block class="Magento\View\Block\Template" template="fixture.phtml"/>';
 
     /**
      * @var \Magento\Core\Model\Layout\Merge
@@ -178,8 +178,8 @@ class MergeTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($handles, $this->_model->getHandles());
         $expectedResult = '
             <root>
-                <block class="Magento\Core\Block\Template" template="fixture_template_one.phtml"/>
-                <block class="Magento\Core\Block\Template" template="fixture_template_two.phtml"/>
+                <block class="Magento\View\Block\Template" template="fixture_template_one.phtml"/>
+                <block class="Magento\View\Block\Template" template="fixture_template_two.phtml"/>
             </root>
         ';
         $actualResult = '<root>' . $this->_model->asString() . '</root>';
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_one.xml b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_one.xml
index cfc16eda860..13ecf2a8dfa 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_one.xml
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_one.xml
@@ -24,5 +24,5 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Template" template="fixture_template_one.phtml"/>
+    <block class="Magento\View\Block\Template" template="fixture_template_one.phtml"/>
 </layout>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_two.xml b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_two.xml
index 4e8876eb76c..ce411351d14 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_two.xml
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/layout/fixture_handle_two.xml
@@ -24,5 +24,5 @@
  */
 -->
 <layout>
-    <block class="Magento\Core\Block\Template" template="fixture_template_two.phtml"/>
+    <block class="Magento\View\Block\Template" template="fixture_template_two.phtml"/>
 </layout>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/merged.xml b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/merged.xml
index 8949e8f0d88..872794f93bf 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/merged.xml
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/_files/merged.xml
@@ -42,10 +42,10 @@
         <container name="content" as="content" label="Main Content Area"/>
     </handle>
     <handle id="fixture_handle_one">
-        <block class="Magento\Core\Block\Template" template="fixture_template_one.phtml"/>
+        <block class="Magento\View\Block\Template" template="fixture_template_one.phtml"/>
     </handle>
     <handle id="fixture_handle_two">
-        <block class="Magento\Core\Block\Template" template="fixture_template_two.phtml"/>
+        <block class="Magento\View\Block\Template" template="fixture_template_two.phtml"/>
     </handle>
     <handle id="not_a_page_type" label="Handle that Is Not a Page Type"/>
     <handle id="page_empty" label="All Empty Layout Pages" design_abstraction="page_layout"/>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
index d1098d22c59..12c3a6e7169 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
@@ -60,7 +60,7 @@ class StoreManagerTest extends \PHPUnit_Framework_TestCase
     {
         $this->_factoryMock = $this->getMock('Magento\Core\Model\Store\StorageFactory', 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->_helperFactoryMock = $this->getMock('Magento\App\Helper\HelperFactory', array(), array(), '', false);
         $this->_storage = $this->getMock('Magento\Core\Model\Store\StorageInterface');
 
         $this->_model = new \Magento\Core\Model\StoreManager(
@@ -202,7 +202,7 @@ class StoreManagerTest extends \PHPUnit_Framework_TestCase
             ->will($this->throwException(new \Exception('test')));
 
         $this->_storage->expects($this->once())->method('getCurrentStore')->will($this->returnValue('current'));
-        $this->_requestMock->expects($this->once())->method('setActionName')->with('noRoute');
+        $this->_requestMock->expects($this->once())->method('setActionName')->with('noroute');
 
         $this->assertInstanceOf('Magento\Object', $this->_model->getSafeStore(10));
     }
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 05ced049f63..3eacb9cef12 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
@@ -89,7 +89,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Model\Theme\Image\PathMagento\Core\Model\Theme\Image\Path::getPreviewImageDefaultUrl
+     * @covers Magento\Core\Model\Theme\Image\Path::getPreviewImageDefaultUrl
      */
     public function testDefaultPreviewImageUrlGetter()
     {
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
deleted file mode 100644
index 8fdabac5f1e..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
+++ /dev/null
@@ -1,69 +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\View\Design;
-
-class ProxyTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\Core\Model\View\Design\Proxy
-     */
-    protected $_model;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\View\DesignInterface
-     */
-    protected $_viewDesign;
-
-    protected function setUp()
-    {
-        $this->_objectManager = $this->getMock('Magento\ObjectManager');
-        $this->_viewDesign = $this->getMock('Magento\View\DesignInterface');
-        $this->_objectManager->expects($this->once())
-            ->method('get')
-            ->with('Magento\Core\Model\View\Design')
-            ->will($this->returnValue($this->_viewDesign));
-        $this->_model = new \Magento\Core\Model\View\Design\Proxy($this->_objectManager);
-    }
-
-    protected function tearDown()
-    {
-        $this->_objectManager = null;
-        $this->_model = null;
-        $this->_viewDesign = null;
-    }
-
-    public function testGetDesignParams()
-    {
-        $this->_viewDesign->expects($this->once())
-            ->method('getDesignParams')
-            ->will($this->returnValue('return value'));
-        $this->assertSame('return value', $this->_model->getDesignParams());
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/AuthorizationLinkTest.php b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/AuthorizationLinkTest.php
index b197d311b5a..c8024168d82 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/AuthorizationLinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/AuthorizationLinkTest.php
@@ -63,7 +63,7 @@ class AuthorizationLinkTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('getLogoutUrl', 'getLoginUrl'))
             ->getMock();
 
-        $context = $this->_objectManager->getObject('Magento\Core\Block\Template\Context');
+        $context = $this->_objectManager->getObject('Magento\View\Block\Template\Context');
 
         $context->getHelperFactory()->expects($this->any())->method('get')->will($this->returnValue($this->_helper));
 
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/LinkTest.php b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/LinkTest.php
index 643c65e5813..31f0814bafb 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/LinkTest.php
@@ -38,7 +38,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('getAccountUrl'))
             ->getMock();
 
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
+        $helperFactory = $this->getMockBuilder('Magento\App\Helper\HelperFactory')
             ->disableOriginalConstructor()
             ->setMethods(array('get'))
             ->getMock();
@@ -50,7 +50,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $context = $objectManager->getObject(
-            'Magento\Core\Block\Template\Context',
+            'Magento\View\Block\Template\Context',
             array(
                 'layout' => $layout,
                 'helperFactory' => $helperFactory
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/RegisterLinkTest.php b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/RegisterLinkTest.php
index 951292fc130..61a3a5bd932 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Block/Account/RegisterLinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Block/Account/RegisterLinkTest.php
@@ -44,7 +44,7 @@ class RegisterLinkTest extends \PHPUnit_Framework_TestCase
 
     public function testToHtml()
     {
-        $context = $this->_objectManager->getObject('Magento\Core\Block\Template\Context');
+        $context = $this->_objectManager->getObject('Magento\View\Block\Template\Context');
         $session = $this->getMockBuilder('Magento\Customer\Model\Session')
             ->disableOriginalConstructor()
             ->setMethods(array('isLoggedIn'))
@@ -75,7 +75,7 @@ class RegisterLinkTest extends \PHPUnit_Framework_TestCase
 
         $helper->expects($this->any())->method('getRegisterUrl')->will($this->returnValue('register url'));
 
-        $context = $this->_objectManager->getObject('Magento\Core\Block\Template\Context');
+        $context = $this->_objectManager->getObject('Magento\View\Block\Template\Context');
 
         $context->getHelperFactory()->expects($this->once())->method('get')->will($this->returnValue($helper));
 
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php b/dev/tests/unit/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
index 6cc18143e84..d32dec75c4b 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php
@@ -93,13 +93,7 @@ class IndexTest extends \PHPUnit_Framework_TestCase
             ->with($this->equalTo('X-Frame-Options'))
             ->will($this->returnValue(true));
 
-        $this->_objectManager = $this->getMockBuilder('Magento\App\ObjectManager')
-            ->disableOriginalConstructor()
-            ->setMethods(array('get', 'create'))
-            ->getMock();
-        $frontControllerMock = $this->getMockBuilder('Magento\App\FrontController')
-            ->disableOriginalConstructor()
-            ->getMock();
+        $this->_objectManager = $this->getMock('Magento\ObjectManager');
 
         $this->_session = $this->getMockBuilder('Magento\Backend\Model\Session')
             ->disableOriginalConstructor()
@@ -112,36 +106,17 @@ class IndexTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('getUrl'))
             ->getMock();
 
-        $translator = $this->getMockBuilder('Magento\Core\Model\Translate')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getTranslateInline'))
-            ->getMock();
-
-        $contextArgs = array(
-            'getHelper', 'getSession', 'getAuthorization', 'getTranslator', 'getObjectManager', 'getFrontController',
-            'getLayoutFactory', 'getEventManager', 'getRequest', 'getResponse'
-        );
-        $contextMock = $this->getMockBuilder('Magento\Backend\Controller\Context')
-            ->disableOriginalConstructor()
-            ->setMethods($contextArgs)
-            ->getMock();
-        $contextMock->expects($this->any())->method('getRequest')->will($this->returnValue($this->_request));
-        $contextMock->expects($this->any())->method('getResponse')->will($this->returnValue($this->_response));
-        $contextMock->expects($this->any())
-            ->method('getObjectManager')
-            ->will($this->returnValue($this->_objectManager));
-        $contextMock->expects($this->any())
-            ->method('getFrontController')
-            ->will($this->returnValue($frontControllerMock));
-
-        $contextMock->expects($this->any())->method('getHelper')->will($this->returnValue($this->_helper));
-        $contextMock->expects($this->any())->method('getSession')->will($this->returnValue($this->_session));
-        $contextMock->expects($this->any())->method('getTranslator')->will($this->returnValue($translator));
-
-        $args = array('context' => $contextMock);
-
         $helperObjectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_testedObject = $helperObjectManager->getObject('Magento\Customer\Controller\Adminhtml\Index', $args);
+        $this->_testedObject = $helperObjectManager->getObject('Magento\Customer\Controller\Adminhtml\Index',
+            array(
+                'helper' => $this->_helper,
+                'session' => $this->_session,
+                'objectManager' => $this->_objectManager,
+                'request' => $this->_request,
+                'response' => $this->_response
+
+            )
+        );
     }
 
     /**
@@ -178,7 +153,7 @@ class IndexTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($customerId)
         );
 
-        $customerMock = $this->_getCustomerMock($customerId);
+        $customerMock = $this->_getCustomerMock($customerId, false);
 
         $this->_objectManager->expects($this->any())
             ->method('create')
@@ -219,20 +194,15 @@ class IndexTest extends \PHPUnit_Framework_TestCase
         $customerMock->expects($this->once())
             ->method('sendPasswordReminderEmail');
 
-        $customerHelperMock = $this->getMockBuilder('Magento\Customer\Helper\Data')
-            ->disableOriginalConstructor()
-            ->setMethods(array('generateResetPasswordLinkToken'))
-            ->getMock();
-        $customerHelperMock->expects($this->once())
+        $customerHelperMock = $this->getMock('Magento\Customer\Helper\Data',
+            array('generateResetPasswordLinkToken'), array(), '', false
+        );
+        $customerHelperMock->expects($this->any())
             ->method('generateResetPasswordLinkToken')
             ->will($this->returnValue($token));
 
-        $coreHelperMock = $this->getMockBuilder('Magento\Core\Model\Url')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getUrl'))
-            ->getMock();
+        $coreHelperMock = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
         $coreHelperMock->expects($this->any())->method('getUrl')->will($this->returnValue($testUrl));
-
         $this->_objectManager->expects($this->at(0))
             ->method('create')
             ->with($this->equalTo('Magento\Customer\Model\Customer'))
@@ -263,11 +233,9 @@ class IndexTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getCustomerMock($customerId, $returnId = null)
     {
-        $customerMock = $this->getMockBuilder('Magento\Customer\Model\Customer')
-            ->disableOriginalConstructor()
-            ->setMethods(array('load', 'getId', 'changeResetPasswordLinkToken', 'setResetPasswordUrl',
-                'sendPasswordReminderEmail'))
-            ->getMock();
+        $customerMock = $this->getMock('Magento\Customer\Model\Customer',
+            array('setResetPasswordUrl', 'changeResetPasswordLinkToken', 'sendPasswordReminderEmail', 'load', 'getId'),
+            array(), '', false);
         $customerMock->expects($this->any())
             ->method('load')
             ->with($this->equalTo($customerId));
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
index 291820d962e..92b86aecf28 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
@@ -34,9 +34,6 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Customer\Model\Customer */
     protected $_model;
 
-    /** @var  \Magento\Customer\Helper\Data */
-    protected $_customerData;
-
     /** @var \Magento\Core\Model\Website|\PHPUnit_Framework_MockObject_MockObject */
     protected $_website;
 
@@ -52,88 +49,22 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Eav\Model\Attribute|\PHPUnit_Framework_MockObject_MockObject */
     protected $_attribute;
 
-    /** @var \Magento\Core\Model\Context|\PHPUnit_Framework_MockObject_MockObject */
-    protected $_contextMock;
-
-    /** @var \Magento\Customer\Model\Resource\Customer\Collection|\PHPUnit_Framework_MockObject_MockObject */
-    protected $_resourceMock;
-
-    /** @var \Magento\Data\Collection\Db|\PHPUnit_Framework_MockObject_MockObject */
-    protected $_collectionMock;
-
     /**
      * Set required values
      */
     protected function setUp()
     {
-        $this->_customerData = $this->getMockBuilder('Magento\Customer\Helper\Data')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getResetPasswordLinkExpirationPeriod'))
-            ->getMock();
-        $this->_website = $this->getMockBuilder('Magento\Core\Model\Website')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getStoreIds', '__wakeup'))
-            ->getMock();
-        $this->_senderMock = $this->getMockBuilder('Magento\Core\Model\Sender')
-            ->disableOriginalConstructor()
-            ->setMethods(array('send'))
-            ->getMock();
-        $this->_config = $this->getMockBuilder('Magento\Eav\Model\Config')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getAttribute'))
-            ->getMock();
-        $this->_attribute = $this->getMockBuilder('Magento\Eav\Model\Attribute')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getIsVisible', '__wakeup'))
-            ->getMock();
-        $this->_resourceMock = $this->getMockBuilder('Magento\Customer\Model\Resource\Customer')
-            ->disableOriginalConstructor()
-            ->setMethods(array())
-            ->getMock();
-        $this->_collectionMock = $this->getMockBuilder('Magento\Data\Collection\Db')
-            ->disableOriginalConstructor()
-            ->setMethods(array())
-            ->getMock();
-        $coreRegistry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
-        $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        $encryptor = $this->getMockBuilder('\Magento\Encryption\EncryptorInterface')
-            ->disableOriginalConstructor()
-            ->setMethods(array())
-            ->getMock();
-
-        $this->_storeManager = $this->getMockBuilder('Magento\Core\Model\StoreManager')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getWebsite'))
-            ->getMock();
-        $this->_contextMock = $this->getMockBuilder('Magento\Core\Model\Context')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getStoreManager'))
-            ->getMock();
-        $this->_contextMock->expects($this->any())->method('getStoreManager')
-            ->will($this->returnValue($this->_storeManager));
-
-        $this->_model = new \Magento\Customer\Model\Customer(
-            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
-            $this->_customerData,
-            $this->_contextMock,
-            $coreRegistry,
-            $this->_senderMock,
-            $this->_storeManager,
-            $this->_config,
-            $coreStoreConfig,
-            $this->_resourceMock,
-            $this->getMock('Magento\Customer\Model\Config\Share', array(), array(), '', false),
-            $this->getMock('Magento\Customer\Model\AddressFactory', array(), array(), '', false),
-            $this->getMock('Magento\Customer\Model\Resource\Address\CollectionFactory', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Email\InfoFactory', array(), array(), '', false),
-            $this->getMock('Magento\Customer\Model\GroupFactory', array(), array(), '', false),
-            $this->getMock('Magento\Customer\Model\AttributeFactory', array(), array(), '', false),
-            $encryptor,
-            new \Magento\Math\Random,
-            new \Magento\Stdlib\DateTime,
-            $this->_collectionMock,
-            array()
+        $this->_website = $this->getMock('Magento\Core\Model\Website', array(), array(), '', false);
+        $this->_senderMock = $this->getMock('Magento\Email\Model\Sender', array(), array(), '', false);
+        $this->_config = $this->getMock('Magento\Eav\Model\Config', array(), array(), '', false);
+        $this->_attribute = $this->getMock('Magento\Eav\Model\Attribute', array(), array(), '', false);
+        $this->_storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_model = $helper->getObject('Magento\Customer\Model\Customer', array(
+            'sender' => $this->_senderMock,
+            'storeManager' => $this->_storeManager,
+            'config' =>  $this->_config
+            )
         );
     }
 
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 3334222ce77..c1723270e96 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
@@ -55,7 +55,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getBlockArguments()
     {
-        $helperFactory = $this->getMock('Magento\Core\Model\Factory\Helper', array('get'), array(), '', false);
+        $helperFactory = $this->getMock('Magento\App\Helper\HelperFactory', array('get'), array(), '', false);
 
         return array(
             'urlBuilder'    => $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
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 5a1fac02b53..4db0da00ef9 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
@@ -68,11 +68,11 @@ class EditorTest extends \PHPUnit_Framework_TestCase
         $layoutMock->expects($this->any())->method('generateXml')->will($this->returnSelf());
         $layoutMock->expects($this->any())->method('getNode')
             ->will($this->returnValue(new \Magento\Simplexml\Element('<root />')));
-        $blockMessage = $this->getMock('Magento\Core\Block\Messages',
+        $blockMessage = $this->getMock('Magento\View\Block\Messages',
             array('addMessages', 'setEscapeMessageFlag', 'addStorageType'), array(), '', false);
         $layoutMock->expects($this->any())->method('getMessagesBlock')->will($this->returnValue($blockMessage));
 
-        $blockMock = $this->getMock('Magento\Core\Block\Template', array('setActive', 'getMenuModel', 'getParentItems'),
+        $blockMock = $this->getMock('Magento\View\Block\Template', array('setActive', 'getMenuModel', 'getParentItems'),
             array(), '', false);
         $blockMock->expects($this->any())->method('getMenuModel')->will($this->returnSelf());
         $blockMock->expects($this->any())->method('getParentItems')->will($this->returnValue(array()));
@@ -195,7 +195,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
         $backendSession = $this->getMock('Magento\Backend\Model\Session', array('getMessages', 'getEscapeMessages'),
             array(), '', false);
         $backendSession->expects($this->any())->method('getMessages')->will(
-            $this->returnValue($this->getMock('Magento\Core\Model\Message\Collection', array(), array(), '', false))
+            $this->returnValue($this->getMock('Magento\Message\Collection', array(), array(), '', false))
         );
 
         $inlineMock = $this->getMock('Magento\Core\Model\Translate\Inline', array(), array(), '', false);
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 05b1b85f212..3b49363cbea 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
@@ -96,10 +96,13 @@ class StandardTest extends \PHPUnit_Framework_TestCase
 
         $routerListMock = $this->getMock('\Magento\App\Route\ConfigInterface');
 
+        $infoProcessorMock = $this->getMock('Magento\App\Request\PathInfoProcessorInterface');
+        $infoProcessorMock->expects($this->any())->method('process')->will($this->returnArgument(1));
+
         // test data to verify routers match logic
         $matchedRequest = $this->getMock('Magento\App\Request\Http',
             array('_isFrontArea'),
-            array($routerListMock, $vdeUrl)
+            array($routerListMock, $infoProcessorMock, $vdeUrl)
         );
 
         $matchedController = $this->getMockForAbstractClass(
@@ -125,11 +128,14 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             array('matched' => $matchedRouter, 'not_matched' => $notMatchedRouter)
         );
 
+        $infoProcessorMock = $this->getMock('Magento\App\Request\PathInfoProcessorInterface');
+        $infoProcessorMock->expects($this->any())->method('process')->will($this->returnArgument(1));
+
         return array(
             'not vde request' => array(
                 '$request' => $this->getMock(
                     'Magento\App\Request\Http', array('_isFrontArea'), array(
-                        $routerListMock, $notVdeUrl
+                        $routerListMock, $infoProcessorMock, $notVdeUrl
                     )
                 ),
                 '$isVde'           => false,
@@ -137,15 +143,19 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             ),
             'not logged as admin' => array(
                 '$request' => $this->getMock(
-                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
-                ),
+                        'Magento\App\Request\Http',
+                        array('_isFrontArea'),
+                        array($routerListMock, $infoProcessorMock, $vdeUrl)
+                    ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => false,
             ),
             'no matched routers' => array(
                 '$request' => $this->getMock(
-                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
-                ),
+                        'Magento\App\Request\Http',
+                        array('_isFrontArea'),
+                        array($routerListMock, $infoProcessorMock, $vdeUrl)
+                    ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => true,
                 '$routers'         => $excludedRouters
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
index 2fb06c8c9bc..d88681bc081 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
@@ -57,7 +57,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_translatorMock = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false);
-        $this->_context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $this->_context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
         $this->_context
             ->expects($this->any())->method('getTranslator')->will($this->returnValue($this->_translatorMock));
     }
diff --git a/dev/tests/unit/testsuite/Magento/Directory/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Directory/Helper/DataTest.php
index 83597e142cd..d8d93c7b906 100644
--- a/dev/tests/unit/testsuite/Magento/Directory/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Directory/Helper/DataTest.php
@@ -54,7 +54,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
 
         $configCacheType = $this->getMock('Magento\App\Cache\Type\Config', array(), array(), '', false);
 
diff --git a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Sales/Order/Pdf/Items/CreditmemoTest.php b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Sales/Order/Pdf/Items/CreditmemoTest.php
index f114f127582..1f621ce4b1e 100644
--- a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Sales/Order/Pdf/Items/CreditmemoTest.php
+++ b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Sales/Order/Pdf/Items/CreditmemoTest.php
@@ -52,10 +52,10 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
                 'Magento\Catalog\Model\ProductFactory', array(), array(), '', false
             ),
             'templateMailerFactory' => $this->getMock(
-                'Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false
+                'Magento\Email\Model\Template\MailerFactory', array(), array(), '', false
             ),
             'emailInfoFactory' => $this->getMock(
-                'Magento\Core\Model\Email\InfoFactory', array(), array(), '', false
+                'Magento\Email\Model\InfoFactory', array(), array(), '', false
             ),
             'orderItemCollFactory' => $this->getMock(
                 'Magento\Sales\Model\Resource\Order\Item\CollectionFactory', array(), array(), '', false
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Email/Template/EditTest.php b/dev/tests/unit/testsuite/Magento/Email/Block/Adminhtml/Template/EditTest.php
similarity index 94%
rename from dev/tests/unit/testsuite/Magento/Backend/Block/System/Email/Template/EditTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Block/Adminhtml/Template/EditTest.php
index 62fcbfbbc8b..ae60231f57b 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Email/Template/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Block/Adminhtml/Template/EditTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Backend\Block\System\Email\Template;
+namespace Magento\Email\Block\Adminhtml\Template;
 
 class EditTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Backend\Block\System\Email\Template\Edit
+     * @var \Magento\Email\Block\Adminhtml\Template\Edit
      */
     protected $_block;
 
@@ -45,7 +45,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
     protected $_configStructureMock;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Email\Model\Template\Config|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_emailConfigMock;
 
@@ -84,7 +84,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
             array(), array(), '', false, false
         );
         $this->_emailConfigMock = $this->getMock(
-            'Magento\Core\Model\Email\Template\Config', array(), array(), '', false
+            'Magento\Email\Model\Template\Config', array(), array(), '', false
         );
 
         $params = array(
@@ -96,7 +96,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
             'emailConfig' => $this->_emailConfigMock,
         );
         $arguments = $objectManager->getConstructArguments(
-            'Magento\Backend\Block\System\Email\Template\Edit',
+            'Magento\Email\Block\Adminhtml\Template\Edit',
             $params
         );
 
@@ -107,7 +107,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
         $layoutMock->expects($this->any())->method('helper')->will($this->returnValue($helperMock));
 
-        $this->_block = $objectManager->getObject('Magento\Backend\Block\System\Email\Template\Edit', $arguments);
+        $this->_block = $objectManager->getObject('Magento\Email\Block\Adminhtml\Template\Edit', $arguments);
     }
 
     public function testGetUsedCurrentlyForPaths()
@@ -147,7 +147,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $this->_configStructureMock->expects($this->any())
             ->method('getElementByPathParts')->will($this->returnValueMap($map));
 
-        $templateMock = $this->getMock('Magento\Backend\Model\Email\Template', array(), array(), '', false, false);
+        $templateMock = $this->getMock('Magento\Email\Model\BackendTemplate', array(), array(), '', false, false);
         $templateMock->expects($this->once())
             ->method('getSystemConfigPathsWhereUsedCurrently')
             ->will($this->returnValue($this->_fixtureConfigPath));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/SenderTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/SenderTest.php
similarity index 86%
rename from dev/tests/unit/testsuite/Magento/Core/Model/SenderTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/SenderTest.php
index c998f096ce4..eb83184827c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/SenderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/SenderTest.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Unit test for \Magento\Core\Model\Sender
+ * Unit test for \Magento\Email\Model\Sender
  *
  * Magento
  *
@@ -25,18 +25,18 @@
  */
 
 /**
- * Test class for \Magento\Core\Model\Sender
+ * Test class for \Magento\Email\Model\Sender
  */
-namespace Magento\Core\Model;
+namespace Magento\Email\Model;
 
 class SenderTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Sender
+     * @var \Magento\Email\Model\Sender
      */
     protected $_model;
 
-    /** @var \Magento\Core\Model\Email\Template\Mailer|PHPUnit_Framework_MockObject_MockObject */
+    /** @var \Magento\Email\Model\Template\Mailer|PHPUnit_Framework_MockObject_MockObject */
     protected $_mailerMock;
 
     /** @var \Magento\Core\Model\Store|PHPUnit_Framework_MockObject_MockObject */
@@ -45,7 +45,7 @@ class SenderTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Core\Model\StoreManagerInterface|PHPUnit_Framework_MockObject_MockObject */
     protected $_storeManagerMock;
 
-    /** @var \Magento\Core\Model\Email\Info|PHPUnit_Framework_MockObject_MockObject */
+    /** @var \Magento\Email\Model\Info|PHPUnit_Framework_MockObject_MockObject */
     protected $_emailInfoMock;
 
     /**
@@ -53,7 +53,7 @@ class SenderTest extends \PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $this->_mailerMock = $this->getMockBuilder('Magento\Core\Model\Email\Template\Mailer')
+        $this->_mailerMock = $this->getMockBuilder('Magento\Email\Model\Template\Mailer')
             ->disableOriginalConstructor()
             ->setMethods(array('addEmailInfo', 'setSender', 'setStoreId', 'setTemplateId', 'setTemplateParams', 'send'))
             ->getMock();
@@ -68,12 +68,12 @@ class SenderTest extends \PHPUnit_Framework_TestCase
         $this->_storeManagerMock->expects($this->any())
             ->method('getStore')
             ->will($this->returnValue($this->_storeMock));
-        $this->_emailInfoMock = $this->getMockBuilder('Magento\Core\Model\Email\Info')
+        $this->_emailInfoMock = $this->getMockBuilder('Magento\Email\Model\Info')
             ->disableOriginalConstructor()
             ->setMethods(array('addTo'))
             ->getMock();
 
-        $this->_model = new \Magento\Core\Model\Sender($this->_mailerMock, $this->_emailInfoMock,
+        $this->_model = new \Magento\Email\Model\Sender($this->_mailerMock, $this->_emailInfoMock,
             $this->_storeManagerMock);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ConverterTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ConverterTest.php
similarity index 87%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ConverterTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ConverterTest.php
index 3dda7069674..7be0d747df8 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ConverterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ConverterTest.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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class ConverterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Config\Converter
+     * @var \Magento\Email\Model\Template\Config\Converter
      */
     protected $_model;
 
     public function setUp()
     {
-        $this->_model = new \Magento\Core\Model\Email\Template\Config\Converter();
+        $this->_model = new \Magento\Email\Model\Template\Config\Converter();
     }
 
     public function testConvert()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ReaderTest.php
similarity index 90%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ReaderTest.php
index 49cc3d2ef2e..035b1eba457 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/ReaderTest.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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class ReaderTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Config\Reader
+     * @var \Magento\Email\Model\Template\Config\Reader
      */
     protected $_model;
 
@@ -53,17 +53,17 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
             )))
         ;
 
-        $this->_converter = $this->getMock('Magento\Core\Model\Email\Template\Config\Converter', array('convert'));
+        $this->_converter = $this->getMock('Magento\Email\Model\Template\Config\Converter', array('convert'));
 
         $moduleReader = $this->getMock(
             'Magento\Module\Dir\Reader', array('getModuleDir'), array(), '', false
         );
         $moduleReader
             ->expects($this->once())
-            ->method('getModuleDir')->with('etc', 'Magento_Core')
+            ->method('getModuleDir')->with('etc', 'Magento_Email')
             ->will($this->returnValue('stub'))
         ;
-        $schemaLocator = new \Magento\Core\Model\Email\Template\Config\SchemaLocator($moduleReader);
+        $schemaLocator = new \Magento\Email\Model\Template\Config\SchemaLocator($moduleReader);
 
         $validationState = $this->getMock('Magento\Config\ValidationStateInterface');
         $validationState->expects($this->once())->method('isValidated')->will($this->returnValue(false));
@@ -72,7 +72,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
             'Magento\Module\Dir\ReverseResolver', array(), array(), '', false
         );
 
-        $this->_model = new \Magento\Core\Model\Email\Template\Config\Reader(
+        $this->_model = new \Magento\Email\Model\Template\Config\Reader(
             $fileResolver,
             $this->_converter,
             $schemaLocator,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/SchemaLocatorTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/SchemaLocatorTest.php
similarity index 87%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/SchemaLocatorTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/SchemaLocatorTest.php
index 39aa0ba8097..9610445afe4 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/SchemaLocatorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/SchemaLocatorTest.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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Config\SchemaLocator
+     * @var \Magento\Email\Model\Template\Config\SchemaLocator
      */
     protected $_model;
 
@@ -42,10 +42,10 @@ class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
         );
         $this->_moduleReader
             ->expects($this->once())
-            ->method('getModuleDir')->with('etc', 'Magento_Core')
+            ->method('getModuleDir')->with('etc', 'Magento_Email')
             ->will($this->returnValue('fixture_dir'))
         ;
-        $this->_model = new \Magento\Core\Model\Email\Template\Config\SchemaLocator($this->_moduleReader);
+        $this->_model = new \Magento\Email\Model\Template\Config\SchemaLocator($this->_moduleReader);
     }
 
     public function testGetSchema()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/XsdTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/XsdTest.php
similarity index 97%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/XsdTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/XsdTest.php
index 8b0836a86ea..63c8345ef12 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/XsdTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/XsdTest.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\Email\Template\Config;
+namespace Magento\Email\Model\Template\Config;
 
 class XsdTest extends \PHPUnit_Framework_TestCase
 {
@@ -36,7 +36,7 @@ class XsdTest extends \PHPUnit_Framework_TestCase
      */
     public function testIndividualXml($fixtureXml, array $expectedErrors)
     {
-        $schemaFile = BP . '/app/code/Magento/Core/etc/email_templates_file.xsd';
+        $schemaFile = BP . '/app/code/Magento/Email/etc/email_templates_file.xsd';
         $this->_testXmlAgainstXsd($fixtureXml, $schemaFile, $expectedErrors);
     }
 
@@ -108,7 +108,7 @@ class XsdTest extends \PHPUnit_Framework_TestCase
      */
     public function testMergedXml($fixtureXml, array $expectedErrors)
     {
-        $schemaFile = BP . '/app/code/Magento/Core/etc/email_templates.xsd';
+        $schemaFile = BP . '/app/code/Magento/Email/etc/email_templates.xsd';
         $this->_testXmlAgainstXsd($fixtureXml, $schemaFile, $expectedErrors);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/Fixture/ModuleOne/etc/email_templates_one.xml b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/Fixture/ModuleOne/etc/email_templates_one.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/Fixture/ModuleOne/etc/email_templates_one.xml
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/Fixture/ModuleOne/etc/email_templates_one.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/Fixture/ModuleTwo/etc/email_templates_two.xml b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/Fixture/ModuleTwo/etc/email_templates_two.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/Fixture/ModuleTwo/etc/email_templates_two.xml
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/Fixture/ModuleTwo/etc/email_templates_two.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/email_templates_merged.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/email_templates_merged.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/email_templates_merged.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/email_templates_merged.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/email_templates_merged.xml b/dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/email_templates_merged.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/_files/email_templates_merged.xml
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/Config/_files/email_templates_merged.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Email/Model/Template/ConfigTest.php
similarity index 86%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/ConfigTest.php
rename to dev/tests/unit/testsuite/Magento/Email/Model/Template/ConfigTest.php
index 0c254fbeefc..d78f6d7b2ce 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Email/Model/Template/ConfigTest.php
@@ -21,17 +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\Email\Template;
+namespace Magento\Email\Model\Template;
 
 class ConfigTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Email\Template\Config
+     * @var \Magento\Email\Model\Template\Config
      */
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\Email\Template\Config\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\Email\Model\Template\Config\Data|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_dataStorage;
 
@@ -43,17 +43,15 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_dataStorage = $this->getMock(
-            'Magento\Core\Model\Email\Template\Config\Data', array('get'), array(), '', false
+            'Magento\Email\Model\Template\Config\Data', array('get'), array(), '', false
         );
         $this->_dataStorage
             ->expects($this->any())
             ->method('get')
             ->will($this->returnValue(require __DIR__ . '/Config/_files/email_templates_merged.php'))
         ;
-        $this->_moduleReader = $this->getMock(
-            'Magento\Module\Dir\Reader', array('getModuleDir'), array(), '', false
-        );
-        $this->_model = new \Magento\Core\Model\Email\Template\Config($this->_dataStorage, $this->_moduleReader);
+        $this->_moduleReader = $this->getMock('Magento\Module\Dir\Reader', array('getModuleDir'), array(), '', false);
+        $this->_model = new \Magento\Email\Model\Template\Config($this->_dataStorage, $this->_moduleReader);
     }
 
     public function testGetAvailableTemplates()
@@ -118,14 +116,14 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     {
         $this->setExpectedException('UnexpectedValueException', $expectedException);
         $dataStorage = $this->getMock(
-            'Magento\Core\Model\Email\Template\Config\Data', array('get'), array(), '', false
+            'Magento\Email\Model\Template\Config\Data', array('get'), array(), '', false
         );
         $dataStorage
             ->expects($this->atLeastOnce())
             ->method('get')
             ->will($this->returnValue(array('fixture' => $fixtureFields)))
         ;
-        $model = new \Magento\Core\Model\Email\Template\Config($dataStorage, $this->_moduleReader);
+        $model = new \Magento\Email\Model\Template\Config($dataStorage, $this->_moduleReader);
         $model->$getterMethod('fixture');
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Encryption/UrlCoderTest.php b/dev/tests/unit/testsuite/Magento/Encryption/UrlCoderTest.php
new file mode 100644
index 00000000000..7c93be7bcfa
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Encryption/UrlCoderTest.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\Encryption;
+
+class UrlCoderTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Encryption\UrlCoder
+     */
+    protected $_urlCoder;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlMock;
+
+    /**
+     * @var string
+     */
+    protected $_url = 'http://example.com';
+
+    /**
+     * @var string
+     */
+    protected $_encodeUrl = 'aHR0cDovL2V4YW1wbGUuY29t';
+
+    protected function setUp()
+    {
+        $this->_urlMock = $this->getMock('Magento\UrlInterface', array(), array(), '', false);
+        $this->_urlCoder = new \Magento\Encryption\UrlCoder($this->_urlMock);
+    }
+
+    public function testDecode()
+    {
+        $this->_urlMock
+            ->expects($this->once())
+            ->method('sessionUrlVar')->with($this->_url)->will($this->returnValue('expected'));
+        $this->assertEquals('expected', $this->_urlCoder->decode($this->_encodeUrl));
+    }
+
+    public function testEncode()
+    {
+        $this->assertEquals($this->_encodeUrl, $this->_urlCoder->encode($this->_url));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/EscaperTest.php b/dev/tests/unit/testsuite/Magento/EscaperTest.php
index 95cdb821297..dfae8dec4f9 100644
--- a/dev/tests/unit/testsuite/Magento/EscaperTest.php
+++ b/dev/tests/unit/testsuite/Magento/EscaperTest.php
@@ -74,9 +74,10 @@ class EscaperTest extends \PHPUnit_Framework_TestCase
      */
     public function testEscapeUrl()
     {
-        $data = '<two>"three</two>';
-        $expected = '&lt;two&gt;&quot;three&lt;/two&gt;';
+        $data = 'http://example.com/search?term=this+%26+that&view=list';
+        $expected = 'http://example.com/search?term=this+%26+that&amp;view=list';
         $this->assertEquals($expected, $this->_escaper->escapeUrl($data));
+        $this->assertEquals($expected, $this->_escaper->escapeUrl($expected));
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Filter/StripTagsTest.php b/dev/tests/unit/testsuite/Magento/Filter/StripTagsTest.php
index 30f259b39d0..819acee6f28 100644
--- a/dev/tests/unit/testsuite/Magento/Filter/StripTagsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Filter/StripTagsTest.php
@@ -26,7 +26,6 @@ namespace Magento\Filter;
 class StripTagsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @covers \Magento\Filter\StripTags::_construct
      * @covers \Magento\Filter\StripTags::filter
      */
     public function testStripTags()
diff --git a/dev/tests/unit/testsuite/Magento/GoogleAdwords/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/GoogleAdwords/Helper/DataTest.php
index 28370734e4c..701bbf0c852 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleAdwords/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleAdwords/Helper/DataTest.php
@@ -59,7 +59,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $this->_registryMock = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
 
         $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
         $this->_helper = $objectManager->getObject('Magento\GoogleAdwords\Helper\Data', array(
             'config' => $this->_configMock,
             'storeConfig' => $this->_storeConfigMock,
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/DataTest.php
index 68a4a575441..f5e681e1d61 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/DataTest.php
@@ -53,7 +53,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
             false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
         $this->_helper = $objectManagerHelper->getObject('Magento\GoogleOptimizer\Helper\Data', array(
             'storeConfig' => $this->_storeConfigMock,
             'analyticsHelper' => $this->_googleAnalyticsHelperMock,
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/FormTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/FormTest.php
index 01b82b4aa82..fff6cf6c246 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/FormTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Helper/FormTest.php
@@ -52,7 +52,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
         $this->_fieldsetMock = $this->getMock('Magento\Data\Form\Element\Fieldset', array(), array(), '', false);
         $this->_experimentCodeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code',
             array('getExperimentScript', 'getCodeId'), array(), '', false);
-        $context = $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array(), array(), '', false);
         $data = array(
             'context' => $context
         );
diff --git a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
index 2184796f176..23f579bd305 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
@@ -43,7 +43,7 @@ class SiteVerificationTest extends \PHPUnit_Framework_TestCase
             ->method('escapeHtml')
             ->with('Valor & Honor')->will($this->returnValue('Valor &amp; Honor'));
 
-        $context = $objectHelper->getObject('Magento\Core\Block\Context', array(
+        $context = $objectHelper->getObject('Magento\View\Block\Context', array(
             'escaper' => $escaper
         ));
 
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Export/Entity/Eav/Customer/AddressTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Export/Entity/Eav/Customer/AddressTest.php
index a5972f243c1..9d9ebe7840f 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Export/Entity/Eav/Customer/AddressTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Export/Entity/Eav/Customer/AddressTest.php
@@ -240,8 +240,8 @@ class AddressTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Customer\Model\Config\Share', array(), array(), '', false),
             $this->getMock('Magento\Customer\Model\AddressFactory', array(), array(), '', false),
             $this->getMock('Magento\Customer\Model\Resource\Address\CollectionFactory', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Email\InfoFactory', array(), array(), '', false),
+            $this->getMock('Magento\Email\Model\Template\MailerFactory', array(), array(), '', false),
+            $this->getMock('Magento\Email\Model\InfoFactory', array(), array(), '', false),
             $this->getMock('Magento\Customer\Model\GroupFactory', array(), array(), '', false),
             $this->getMock('Magento\Customer\Model\AttributeFactory', array(), array(), '', false),
         );
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/CustomerCompositeTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/CustomerCompositeTest.php
index 9f935367a52..b9ad6307a75 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/CustomerCompositeTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/CustomerCompositeTest.php
@@ -114,7 +114,7 @@ class CustomerCompositeTest extends \PHPUnit_Framework_TestCase
         $translator->expects($this->any())
             ->method('isAllowed')
             ->will($this->returnValue(false));
-        $context = $this->getMock('Magento\Core\Helper\Context', array('getTranslator'), array(), '', false);
+        $context = $this->getMock('Magento\App\Helper\Context', array('getTranslator'), array(), '', false);
         $context->expects($this->any())->method('getTranslator')->will($this->returnValue($translator));
         $data = array(
             'translator' => $translator,
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/Eav/Customer/AddressTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/Eav/Customer/AddressTest.php
index 4534db5ea8a..1ec10a17795 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/Eav/Customer/AddressTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/Eav/Customer/AddressTest.php
@@ -297,8 +297,8 @@ class AddressTest extends \PHPUnit_Framework_TestCase
                 $this->getMock('Magento\Customer\Model\Resource\Address\CollectionFactory', array(), array(), '',
                     false
                 ),
-                $this->getMock('Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false),
-                $this->getMock('Magento\Core\Model\Email\InfoFactory', array(), array(), '', false),
+                $this->getMock('Magento\Email\Model\Template\MailerFactory', array(), array(), '', false),
+                $this->getMock('Magento\Email\Model\InfoFactory', array(), array(), '', false),
                 $this->getMock('Magento\Customer\Model\GroupFactory', array(), array(), '', false),
                 $this->getMock('Magento\Customer\Model\AttributeFactory', array(), array(), '', false),
             );
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/EavAbstractTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/EavAbstractTest.php
index 2799c09f9d2..354936ed32f 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/EavAbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/Import/Entity/EavAbstractTest.php
@@ -135,7 +135,7 @@ class EavAbstractTest extends \PHPUnit_Framework_TestCase
             'connection'                   => 'not_used',
             'json_helper'                  => 'not_used',
             'string_helper'                => new \Magento\Core\Helper\String(
-                $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
+                $this->getMock('Magento\App\Helper\Context', array(), array(), '', false, false),
                 $localeMock,
                 $string,
                 new \Magento\Stdlib\String($string)
diff --git a/dev/tests/unit/testsuite/Magento/Install/App/Action/Plugin/DirTest.php b/dev/tests/unit/testsuite/Magento/Install/App/Action/Plugin/DirTest.php
new file mode 100644
index 00000000000..f3f7285afec
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Install/App/Action/Plugin/DirTest.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\Install\App\Action\Plugin;
+
+class DirTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Install\App\Action\Plugin\Dir
+     */
+    protected $_plugin;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_dirMock;
+
+    protected function setUp()
+    {
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
+        $this->_plugin = new \Magento\Install\App\Action\Plugin\Dir(
+            $this->_appStateMock,
+            $this->_dirMock
+        );
+    }
+
+    public function testBeforeDispatchWhenAppIsInstalled()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(false));
+        $this->_dirMock
+            ->expects($this->once())
+            ->method('getDir')
+            ->with(\Magento\App\Dir::VAR_DIR)->will($this->returnValue('dir_name'));
+        $this->assertEquals(array(), $this->_plugin->beforeDispatch(array()));
+    }
+
+    public function testBeforeDispatchWhenAppIsNotInstalled()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_dirMock->expects($this->never())->method('getDir');
+        $this->assertEquals(array(), $this->_plugin->beforeDispatch(array()));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Install/Block/BeginTest.php b/dev/tests/unit/testsuite/Magento/Install/Block/BeginTest.php
index 8bc7fb9c0a7..cac7d3dce9a 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Block/BeginTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Block/BeginTest.php
@@ -33,22 +33,13 @@ namespace Magento\Install\Block;
 class BeginTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * Get block model
-     *
-     * @param \PHPUnit_Framework_MockObject_MockObject|\Magento\Filesystem $contextFileSystem
-     * @param string|null $fileName
-     * @return \Magento\Install\Block\Begin
+     * @var \Magento\TestFramework\Helper\ObjectManager
      */
-    protected function _getBlockModel($contextFileSystem, $fileName = null)
+    protected $_objectManager;
+
+    protected function setUp()
     {
-        $helper = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
-        $context = $this->getMock('Magento\Core\Block\Template\Context', array(), array(), '', false);
-        $context->expects($this->once())->method('getFileSystem')->will($this->returnValue($contextFileSystem));
-        $installer = $this->getMock('Magento\Install\Model\Installer', array(), array(), '', false);
-        $wizard = $this->getMock('Magento\Install\Model\Wizard', array(), array(), '', false);
-        $session = $this->getMock('Magento\Core\Model\Session\Generic', array(), array(), '', false);
-        $block = new \Magento\Install\Block\Begin($helper, $context, $installer, $wizard, $session, $fileName, array());
-        return $block;
+        $this->_objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
     }
 
     /**
@@ -65,7 +56,9 @@ class BeginTest extends \PHPUnit_Framework_TestCase
             ->with($this->equalTo(BP . DS . $fileName))
             ->will($this->returnValue($expectedTxt));
 
-        $block = $this->_getBlockModel($fileSystem, $fileName);
+        $block = $this->_objectManager->getObject('Magento\Install\Block\Begin',
+            array('filesystem' => $fileSystem, 'eulaFile' => $fileName));
+
         $this->assertEquals($expectedTxt, $block->getLicenseHtml());
     }
 
@@ -81,7 +74,8 @@ class BeginTest extends \PHPUnit_Framework_TestCase
         $fileSystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $fileSystem->expects($this->never())->method('read');
 
-        $block = $this->_getBlockModel($fileSystem, $fileName);
+        $block = $this->_objectManager->getObject('Magento\Install\Block\Begin',
+            array('filesystem' => $fileSystem, 'eulaFile' => $fileName));
         $this->assertEquals('', $block->getLicenseHtml());
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php b/dev/tests/unit/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
index 90d60d85135..d3bf14aa121 100644
--- a/dev/tests/unit/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php
@@ -269,9 +269,8 @@ class IntegrationTest extends \PHPUnit_Framework_TestCase
     protected function _createIntegrationController()
     {
         // Mock Layout passed into constructor
-        $layoutMock = $this->getMockBuilder('Magento\Core\Model\Layout')
-            ->disableOriginalConstructor()
-            ->getMock();
+        $viewMock = $this->getMock('Magento\App\ViewInterface');
+        $layoutMock = $this->getMock('Magento\View\LayoutInterface');
         $layoutMergeMock = $this->getMockBuilder('Magento\Core\Model\Layout\Merge')
             ->disableOriginalConstructor()
             ->getMock();
@@ -279,6 +278,7 @@ class IntegrationTest extends \PHPUnit_Framework_TestCase
         $testElement = new \Magento\Simplexml\Element('<test>test</test>');
         $layoutMock->expects($this->any())->method('getNode')->will($this->returnValue($testElement));
         // for _setActiveMenu
+        $viewMock->expects($this->any())->method('getLayout')->will($this->returnValue($layoutMock));
         $blockMock = $this->getMockBuilder('Magento\Backend\Block\Menu')
             ->disableOriginalConstructor()
             ->getMock();
@@ -290,7 +290,7 @@ class IntegrationTest extends \PHPUnit_Framework_TestCase
         $layoutMock->expects($this->any())->method('getMessagesBlock')->will($this->returnValue($blockMock));
         $layoutMock->expects($this->any())->method('getBlock')->will($this->returnValue($blockMock));
         $contextParameters = array(
-            'layout' => $layoutMock,
+            'view' => $viewMock,
             'objectManager' => $this->_mockObjectManager,
             'session' => $this->_mockBackendModSess,
             'translator' => $this->_mockTranslateModel,
@@ -300,7 +300,7 @@ class IntegrationTest extends \PHPUnit_Framework_TestCase
 
         $this->_mockBackendCntCtxt = $this->_objectManagerHelper
             ->getObject(
-                'Magento\Backend\Controller\Context',
+                'Magento\Backend\App\Action\Context',
                 $contextParameters
             );
         $subControllerParams = array(
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/ConverterTest.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/ConverterTest.php
new file mode 100644
index 00000000000..8e25700a6ee
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/ConverterTest.php
@@ -0,0 +1,50 @@
+<?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\Integration\Model\Config\Api;
+
+use \Magento\Integration\Model\Config\Api\Converter;
+
+/**
+ * Test for conversion of integration API XML config into array representation.
+ */
+class ConverterTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Converter
+     */
+    protected $_model;
+
+    public function setUp()
+    {
+        $this->_model = new Converter();
+    }
+
+    public function testConvert()
+    {
+        $inputData = new \DOMDocument();
+        $inputData->load(__DIR__ . '/_files/api.xml');
+        $expectedResult = require __DIR__ . '/_files/api.php';
+        $this->assertEquals($expectedResult, $this->_model->convert($inputData));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/XsdTest.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/XsdTest.php
new file mode 100644
index 00000000000..2540117b084
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/XsdTest.php
@@ -0,0 +1,291 @@
+<?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\Integration\Model\Config\Api;
+
+/**
+ * Test for validation rules implemented by XSD schema for API integration configuration.
+ */
+class XsdTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var string
+     */
+    protected $_schemaFile;
+
+    protected function setUp()
+    {
+        $this->_schemaFile = BP . '/app/code/Magento/Integration/etc/integration/api.xsd';
+    }
+
+    /**
+     * @param string $fixtureXml
+     * @param array $expectedErrors
+     * @dataProvider exemplarXmlDataProvider
+     */
+    public function testExemplarXml($fixtureXml, array $expectedErrors)
+    {
+        $messageFormat = '%message%';
+        $dom = new \Magento\Config\Dom($fixtureXml, array(), null, $messageFormat);
+        $actualResult = $dom->validate($this->_schemaFile, $actualErrors);
+        $this->assertEquals(empty($expectedErrors), $actualResult, "Validation result is invalid.");
+        $this->assertEquals($expectedErrors, $actualErrors, "Validation errors does not match.");
+    }
+
+    /**
+     * @return array
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     */
+    public function exemplarXmlDataProvider()
+    {
+        return array(
+            /** Valid configurations */
+            'valid' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array()
+            ),
+            'valid with several entities' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                    <integration id="TestIntegration2">
+                        <resources>
+                            <resource name="Magento_Catalog::product_read" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array()
+            ),
+
+            /** Missing required nodes */
+            'empty root node' => array(
+                '<integrations/>',
+                array("Element 'integrations': Missing child element(s). Expected is ( integration ).")
+            ),
+            'empty integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration" />
+                </integrations>',
+                array("Element 'integration': Missing child element(s). Expected is ( resources ).")
+            ),
+            'empty resources' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'resources': Missing child element(s). Expected is ( resource ).")
+            ),
+            'irrelevant root node' => array(
+                '<integration name="TestIntegration"/>',
+                array("Element 'integration': No matching global declaration available for the validation root.")
+            ),
+
+            /** Excessive nodes */
+            'irrelevant node in root' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                    <invalid/>
+                </integrations>',
+                array("Element 'invalid': This element is not expected. Expected is ( integration ).")
+            ),
+            'irrelevant node in integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                        <invalid/>
+                    </integration>
+                </integrations>',
+                array("Element 'invalid': This element is not expected.")
+            ),
+            'irrelevant node in resources' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        <invalid/>
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'invalid': This element is not expected. Expected is ( resource ).")
+            ),
+            'irrelevant node in resource' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online">
+                                <invalid/>
+                            </resource>
+                        </resources>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'resource': Element content is not allowed, "
+                        . "because the content type is a simple type definition."
+                )
+            ),
+
+            /** Excessive attributes */
+            'invalid attribute in root' => array(
+                '<integrations invalid="invalid">
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'integrations', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration1" invalid="invalid">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'integration', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in resources' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources invalid="invalid">
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'resources', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in resource' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" invalid="invalid" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'resource', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+
+            /** Missing or empty required attributes */
+            'integration without id' => array(
+                '<integrations>
+                    <integration>
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'integration': The attribute 'id' is required but missing.")
+            ),
+            'integration with empty id' => array(
+                '<integrations>
+                    <integration id="">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="Magento_Customer::online" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array
+                (
+                    "Element 'integration', attribute 'id': [facet 'minLength'] The value '' has a length of '0'; "
+                        . "this underruns the allowed minimum length of '2'.",
+                    "Element 'integration', attribute 'id': "
+                        . "'' is not a valid value of the atomic type 'integrationIdType'."
+                )
+            ),
+            'resource without name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array("Element 'resource': The attribute 'name' is required but missing.")
+            ),
+            'resource with empty name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::manage" />
+                            <resource name="" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'resource', attribute 'name': [facet 'pattern'] "
+                        . "The value '' is not accepted by the pattern '.+_.+::.+'.",
+                    "Element 'resource', attribute 'name': '' "
+                        . "is not a valid value of the atomic type 'resourceNameType'."
+                )
+            ),
+
+            /** Invalid values */
+            'resource with invalid name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <resources>
+                            <resource name="Magento_Customer::online" />
+                            <resource name="customer_manage" />
+                        </resources>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'resource', attribute 'name': [facet 'pattern'] "
+                        . "The value 'customer_manage' is not accepted by the pattern '.+_.+::.+'.",
+                    "Element 'resource', attribute 'name': 'customer_manage' "
+                        . "is not a valid value of the atomic type 'resourceNameType'."
+                )            ),
+        );
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.php
new file mode 100644
index 00000000000..4f82ce8be29
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.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)
+ */
+return array(
+    'TestIntegration1' => array(
+        'resources' => array(
+            'Magento_Customer::manage',
+            'Magento_Customer::online',
+            'Magento_Customer::order_statuses_read',
+            'Magento_SalesHistory::history'
+        )
+    ),
+    'TestIntegration2' => array(
+        'resources' => array(
+            'Magento_Catalog::product_read',
+        )
+    ),
+);
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.xml b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.xml
new file mode 100644
index 00000000000..bd3b83e6a4d
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/Api/_files/api.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)
+ */
+-->
+<integrations>
+    <integration id="TestIntegration1">
+        <!-- List of API resources required by the integration. These are resource ids defined
+         in etc/acl.xml of modules and subsequently mapped to web APIs in webapi.xml. -->
+        <resources>
+            <resource name="Magento_Customer::manage" />
+            <resource name="Magento_Customer::online" />
+            <resource name="Magento_Customer::order_statuses_read" />
+            <resource name="Magento_SalesHistory::history" />
+        </resources>
+    </integration>
+    <integration id="TestIntegration2">
+        <resources>
+            <resource name="Magento_Catalog::product_read" />
+        </resources>
+    </integration>
+</integrations>
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/ConverterTest.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/ConverterTest.php
new file mode 100644
index 00000000000..e67763ef773
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/ConverterTest.php
@@ -0,0 +1,50 @@
+<?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\Integration\Model\Config;
+
+use Magento\Integration\Model\Config\Converter;
+
+/**
+ * Test for conversion of integration XML config into array representation.
+ */
+class ConverterTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Converter
+     */
+    protected $_model;
+
+    public function setUp()
+    {
+        $this->_model = new Converter();
+    }
+
+    public function testConvert()
+    {
+        $inputData = new \DOMDocument();
+        $inputData->load(__DIR__ . '/_files/integration.xml');
+        $expectedResult = require __DIR__ . '/_files/integration.php';
+        $this->assertEquals($expectedResult, $this->_model->convert($inputData));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/XsdTest.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/XsdTest.php
new file mode 100644
index 00000000000..54997c2963e
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/XsdTest.php
@@ -0,0 +1,395 @@
+<?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\Integration\Model\Config;
+
+/**
+ * Test for validation rules implemented by XSD schema for integration configuration.
+ */
+class XsdTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var string
+     */
+    protected $_schemaFile;
+
+    protected function setUp()
+    {
+        $this->_schemaFile = BP . '/app/code/Magento/Integration/etc/integration/config.xsd';
+    }
+
+    /**
+     * @param string $fixtureXml
+     * @param array $expectedErrors
+     * @dataProvider exemplarXmlDataProvider
+     */
+    public function testExemplarXml($fixtureXml, array $expectedErrors)
+    {
+        $messageFormat = '%message%';
+        $dom = new \Magento\Config\Dom($fixtureXml, array(), null, $messageFormat);
+        $actualResult = $dom->validate($this->_schemaFile, $actualErrors);
+        $this->assertEquals(empty($expectedErrors), $actualResult, "Validation result is invalid.");
+        $this->assertEquals($expectedErrors, $actualErrors, "Validation errors does not match.");
+    }
+
+    /**
+     * @return array
+     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
+     */
+    public function exemplarXmlDataProvider()
+    {
+        return array(
+            /** Valid configurations */
+            'valid' => array(
+                '<integrations>
+                    <integration id="TestIntegration">
+                        <name>Test Integration</name>
+                        <email>test-integration@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>https://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array()
+            ),
+            'valid with several entities' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                    <integration id="TestIntegration2">
+                        <name>Test Integration 2</name>
+                        <email>test-integration2@magento.com</email>
+                        <authentication type="manual"/>
+                    </integration>
+                </integrations>',
+                array()
+            ),
+
+            /** Missing required elements */
+            'empty root node' => array(
+                '<integrations/>',
+                array("Element 'integrations': Missing child element(s). Expected is ( integration ).")
+            ),
+            'empty integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration" />
+                </integrations>',
+                array("Element 'integration': Missing child element(s). Expected is ( name ).")
+            ),
+            'integration without name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'email': This element is not expected. Expected is ( name ).")
+            ),
+            'integration without email' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'authentication': This element is not expected. Expected is ( email ).")
+            ),
+            'integration without authentication' => array(
+            '<integrations>
+                <integration id="TestIntegration1">
+                    <name>Test Integration 1</name>
+                    <email>test-integration1@magento.com</email>
+                </integration>
+            </integrations>',
+                array("Element 'integration': Missing child element(s). Expected is ( authentication ).")
+            ),
+
+            /** Empty nodes */
+            'empty name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name></name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'name': [facet 'minLength'] The value has a length of '0';"
+                        . " this underruns the allowed minimum length of '2'.",
+                    "Element 'name': '' is not a valid value of the atomic type 'integrationNameType'."
+                )
+            ),
+            'empty email' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email></email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'email': [facet 'pattern'] The value '' is not "
+                        . "accepted by the pattern '[^@]+@[^\.]+\..+'.",
+                    "Element 'email': '' is not a valid value of the atomic type 'emailType'."
+                )
+            ),
+            'authentication is empty' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="manual"/>
+                    </integration>
+                </integrations>',
+                array()
+            ),
+            'endpoint_url is empty' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url></endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array(
+                    "Element 'endpoint_url': [facet 'minLength'] The value has a length of '0'; this underruns"
+                    . " the allowed minimum length of '4'.",
+                    "Element 'endpoint_url': '' is not a valid value of the atomic type 'urlType'."
+                )
+            ),
+
+            /** Invalid structure */
+            'irrelevant root node' => array(
+                '<integration name="TestIntegration"/>',
+                array("Element 'integration': No matching global declaration available for the validation root.")
+            ),
+            'irrelevant node in root' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                    <invalid/>
+                </integrations>',
+                array("Element 'invalid': This element is not expected. Expected is ( integration ).")
+            ),
+            'irrelevant node in integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                        <invalid/>
+                    </integration>
+                </integrations>',
+                array("Element 'invalid': This element is not expected.")
+            ),
+            'irrelevant node in authentication' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                            <invalid/>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'invalid': This element is not expected.")
+            ),
+
+            /** Excessive attributes */
+            'invalid attribute in root' => array(
+                '<integrations invalid="invalid">
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'integrations', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in integration' => array(
+                '<integrations>
+                    <integration id="TestIntegration1" invalid="invalid">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'integration', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in name' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name invalid="invalid">Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'name', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in email' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email invalid="invalid">test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'email', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in authentication' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth" invalid="invalid">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'authentication', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+            'invalid attribute in endpoint_url' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url invalid="invalid">http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'endpoint_url', attribute 'invalid': The attribute 'invalid' is not allowed.")
+            ),
+
+            /** Missing or empty required attributes */
+            'integration without id' => array(
+                '<integrations>
+                    <integration>
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'integration': The attribute 'id' is required but missing.")
+            ),
+            'integration with empty id' => array(
+                '<integrations>
+                    <integration id="">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array
+                (
+                    "Element 'integration', attribute 'id': [facet 'minLength'] The value '' has a length of '0'; "
+                        . "this underruns the allowed minimum length of '2'.",
+                    "Element 'integration', attribute 'id': "
+                        . "'' is not a valid value of the atomic type 'integrationIdType'."
+                )
+            ),
+            'no authentication type' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication>
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'authentication': The attribute 'type' is required but missing.")
+            ),
+
+            /** Invalid values */
+            'invalid authentication type' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>test-integration1@magento.com</email>
+                        <authentication type="invalid">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array
+                (
+                    "Element 'authentication', attribute 'type': [facet 'enumeration'] The value 'invalid' is not "
+                        . "an element of the set {'oauth', 'manual'}.",
+                    "Element 'authentication', attribute 'type': 'invalid' "
+                        . "is not a valid value of the atomic type 'authenticationTypeType'."
+                )
+            ),
+            'invalid email' => array(
+                '<integrations>
+                    <integration id="TestIntegration1">
+                        <name>Test Integration 1</name>
+                        <email>invalid</email>
+                        <authentication type="oauth">
+                            <endpoint_url>http://endpoint.url</endpoint_url>
+                        </authentication>
+                    </integration>
+                </integrations>',
+                array("Element 'email': [facet 'pattern'] The value 'invalid' "
+                    . "is not accepted by the pattern '[^@]+@[^\.]+\..+'.",
+                    "Element 'email': 'invalid' is not a valid value of the atomic type 'emailType'."
+                )
+            ),
+        );
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.php b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.php
new file mode 100644
index 00000000000..88b4dfa40a9
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.php
@@ -0,0 +1,40 @@
+<?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)
+ */
+return array(
+    'TestIntegration1' => array(
+        'name' => 'Test Integration 1',
+        'email' => 'test-integration1@magento.com',
+        'authentication' => array(
+            'type' => 'oauth',
+            'endpoint_url' => 'http://endpoint.com'
+        )
+    ),
+    'TestIntegration2' => array(
+        'name' => 'Test Integration 2',
+        'email' => 'test-integration2@magento.com',
+        'authentication' => array(
+            'type' => 'manual'
+        )
+    ),
+);
diff --git a/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.xml b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.xml
new file mode 100644
index 00000000000..b88d4f43c4e
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Integration/Model/Config/_files/integration.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)
+ */
+-->
+<integrations>
+    <integration id="TestIntegration1">
+        <name>Test Integration 1</name>
+        <email>test-integration1@magento.com</email>
+        <authentication type="oauth">
+            <endpoint_url>http://endpoint.com</endpoint_url>
+        </authentication>
+    </integration>
+    <integration id="TestIntegration2">
+        <name>Test Integration 2</name>
+        <email>test-integration2@magento.com</email>
+        <authentication type="manual"/>
+    </integration>
+</integrations>
diff --git a/dev/tests/unit/testsuite/Magento/Interception/Config/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Interception/Config/ConfigTest.php
index 96bcf0dca81..86c468739fd 100644
--- a/dev/tests/unit/testsuite/Magento/Interception/Config/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Interception/Config/ConfigTest.php
@@ -67,7 +67,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             new \Magento\ObjectManager\Config\SchemaLocator(),
             $validationStateMock
         );
-        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeListInterface');
         $this->_configScopeMock->expects($this->any())
             ->method('getAllScopes')
             ->will($this->returnValue(array('global', 'backend', 'frontend')));
diff --git a/dev/tests/unit/testsuite/Magento/Interception/PluginList/PluginListTest.php b/dev/tests/unit/testsuite/Magento/Interception/PluginList/PluginListTest.php
index 33db981311e..204ad6cd46f 100644
--- a/dev/tests/unit/testsuite/Magento/Interception/PluginList/PluginListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Interception/PluginList/PluginListTest.php
@@ -67,10 +67,7 @@ class PluginListTest extends \PHPUnit_Framework_TestCase
             new \Magento\ObjectManager\Config\SchemaLocator(),
             $validationStateMock
         );
-        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
-        $this->_configScopeMock->expects($this->any())
-            ->method('getAllScopes')
-            ->will($this->returnValue(array('global', 'backend', 'frontend')));
+        $this->_configScopeMock = $this->getMock('\Magento\Config\ScopeInterface');
         $cacheMock = $this->getMock('Magento\Config\CacheInterface');
         // turn cache off
         $cacheMock->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Log/LoggerTest.php b/dev/tests/unit/testsuite/Magento/Log/LoggerTest.php
index a75703c0fdf..0e661d98e14 100644
--- a/dev/tests/unit/testsuite/Magento/Log/LoggerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Log/LoggerTest.php
@@ -97,7 +97,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Model\Logger::hasLog
+     * @covers \Magento\Logger::hasLog
      */
     public function testAddLogWithSpecificKey()
     {
diff --git a/dev/tests/unit/testsuite/Magento/Module/UpdaterTest.php b/dev/tests/unit/testsuite/Magento/Module/UpdaterTest.php
index c02d213931c..e91565eaf84 100644
--- a/dev/tests/unit/testsuite/Magento/Module/UpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Module/UpdaterTest.php
@@ -89,7 +89,7 @@ class UpdaterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\App\Updater::updateScheme
+     * @covers \Magento\Module\Updater::updateScheme
      */
     public function testUpdateSchemeWithUpdateSkip()
     {
@@ -104,7 +104,7 @@ class UpdaterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\App\Updater::updateScheme
+     * @covers \Magento\Module\Updater::updateScheme
      */
     public function testUpdateScheme()
     {
@@ -132,7 +132,7 @@ class UpdaterTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\App\Updater::updateData
+     * @covers \Magento\Module\Updater::updateData
      */
     public function testUpdateData()
     {
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 6e910bb119e..8dbcd39381d 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
@@ -51,7 +51,7 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
             ->method('checkDbUsage')
             ->will($this->returnValue(false));
 
-        $helperFactory = $this->getMock('Magento\Core\Model\Factory\Helper', array('get'), array(), '', false);
+        $helperFactory = $this->getMock('Magento\App\Helper\HelperFactory', array('get'), array(), '', false);
         $helperFactory->expects($this->once())
             ->method('get')
             ->will($this->returnValue($helper));
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 8a6e52d5731..3c65c60a9ac 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
@@ -25,11 +25,6 @@ namespace Magento\Page\Block\Link;
 
 class CurrentTest extends \PHPUnit_Framework_TestCase
 {
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_contextMock;
-
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
@@ -43,26 +38,19 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_coreHelperMock;
+    protected $_defaultPathMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\TestFramework\Helper\ObjectManager
      */
-    protected $_defaultPathMock;
+    protected $_objectManager;
 
     protected function setUp()
     {
+        $this->_objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_urlBuilderMock = $this->getMock('\Magento\UrlInterface');
         $this->_requestMock = $this->getMock('Magento\App\Request\Http', 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->_defaultPathMock = $this->getMock('\Magento\App\DefaultPathInterface');
-        $this->_contextMock->expects($this->any())
-            ->method('getUrlBuilder')
-            ->will($this->returnValue($this->_urlBuilderMock));
-        $this->_contextMock->expects($this->any())
-            ->method('getRequest')
-            ->will($this->returnValue($this->_requestMock));
     }
 
     public function testGetUrl()
@@ -75,10 +63,10 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
             ->with($path)
             ->will($this->returnValue($url));
 
-        $link = new \Magento\Page\Block\Link\Current(
-            $this->_coreHelperMock,
-            $this->_contextMock,
-            $this->_defaultPathMock
+        /** @var \Magento\Page\Block\Link\Current $link */
+        $link = $this->_objectManager->getObject(
+            '\Magento\Page\Block\Link\Current',
+            array('urlBuilder' => $this->_urlBuilderMock)
         );
 
         $link->setPath($path);
@@ -88,11 +76,8 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
 
     public function testIsCurrentIfIsset()
     {
-        $link = new \Magento\Page\Block\Link\Current(
-            $this->_coreHelperMock,
-            $this->_contextMock,
-            $this->_defaultPathMock
-        );
+        /** @var \Magento\Page\Block\Link\Current $link */
+        $link = $this->_objectManager->getObject('\Magento\Page\Block\Link\Current');
         $link->setCurrent(true);
         $this->assertTrue($link->IsCurrent());
     }
@@ -115,11 +100,14 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
             ->with('a/b')
             ->will($this->returnValue($url));
 
-        $link = new \Magento\Page\Block\Link\Current(
-            $this->_coreHelperMock,
-            $this->_contextMock,
-            $this->_defaultPathMock
-        );
+        $this->_requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue('b'));
+        /** @var \Magento\Page\Block\Link\Current $link */
+        $link = $this->_objectManager->getObject('\Magento\Page\Block\Link\Current',
+            array(
+                'urlBuilder' => $this->_urlBuilderMock,
+                'request' => $this->_requestMock,
+                'defaultPath' => $this->_defaultPathMock
+            ));
         $link->setPath($path);
         $this->assertTrue($link->isCurrent());
     }
@@ -129,11 +117,13 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
         $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->_defaultPathMock
-        );
+
+        /** @var \Magento\Page\Block\Link\Current $link */
+        $link = $this->_objectManager->getObject('\Magento\Page\Block\Link\Current',
+            array(
+                'urlBuilder' => $this->_urlBuilderMock,
+                'request' => $this->_requestMock
+            ));
         $this->assertFalse($link->isCurrent());
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/LinksTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/LinksTest.php
index 61f13ff6689..dc1a9e5d45c 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/LinksTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/LinksTest.php
@@ -33,15 +33,15 @@ class LinksTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Page\Block\Links */
     protected $_block;
 
-    /** @var \Magento\Core\Block\Template\Context */
+    /** @var \Magento\View\Block\Template\Context */
     protected $_context;
 
     protected function setUp()
     {
         $this->_objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $this->_context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
+        /** @var  \Magento\View\Block\Template\Context $context */
+        $this->_context = $this->_objectManagerHelper->getObject('Magento\View\Block\Template\Context');
 
         /** @var \Magento\Page\Block\Links $block */
         $this->_block = $this->_objectManagerHelper->getObject(
@@ -72,8 +72,8 @@ class LinksTest extends \PHPUnit_Framework_TestCase
         $this->_context->getLayout()->expects($this->once())->method('renderElement')->with($name)
             ->will($this->returnValue($blockHtml));
 
-        /** @var \Magento\Core\Block\AbstractBlock $link */
-        $link = $this->getMockBuilder('Magento\Core\Block\AbstractBlock')->disableOriginalConstructor()->getMock();
+        /** @var \Magento\View\Block\AbstractBlock $link */
+        $link = $this->getMockBuilder('Magento\View\Block\AbstractBlock')->disableOriginalConstructor()->getMock();
         $link->expects($this->once())
             ->method('getNameInLayout')
             ->will($this->returnValue($name));
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
index 49b89c97a3b..eddacc7c28c 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
@@ -39,16 +39,6 @@ class SwitchTest extends \PHPUnit_Framework_TestCase
      */
     protected $_storeManagerMock;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_coreHelperMock;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_contextMock;
-
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
@@ -57,18 +47,10 @@ class SwitchTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $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
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject(
+            'Magento\Page\Block\Switcher', array('storeManager' => $this->_storeManagerMock)
         );
     }
 
@@ -78,13 +60,10 @@ class SwitchTest extends \PHPUnit_Framework_TestCase
     public function testIsStoreInUrl($isUseStoreInUrl)
     {
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
+
         $storeMock->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue($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));
-
         $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/Block/Form/ContainerTest.php b/dev/tests/unit/testsuite/Magento/Payment/Block/Form/ContainerTest.php
index a87b9bd12b2..b712704096f 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Block/Form/ContainerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Block/Form/ContainerTest.php
@@ -38,8 +38,8 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testSetMethodFormTemplate()
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $childBlockA = $objectManagerHelper->getObject('Magento\Core\Block\Template');
-        $childBlockB = $objectManagerHelper->getObject('Magento\Core\Block\Template');
+        $childBlockA = $objectManagerHelper->getObject('Magento\View\Block\Template');
+        $childBlockB = $objectManagerHelper->getObject('Magento\View\Block\Template');
 
         $func = function ($blockName) use ($childBlockA, $childBlockB) {
             switch ($blockName) {
diff --git a/dev/tests/unit/testsuite/Magento/Payment/Block/Info/ContainerAbstractTest.php b/dev/tests/unit/testsuite/Magento/Payment/Block/Info/ContainerAbstractTest.php
index 39aae72d2a8..e4b5f3c8204 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Block/Info/ContainerAbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Block/Info/ContainerAbstractTest.php
@@ -48,7 +48,7 @@ class ContainerAbstractTest extends \PHPUnit_Framework_TestCase
             ->method('getPaymentInfo')
             ->will($this->returnValue($paymentInfo));
 
-        $childBlock = $objectManagerHelper->getObject('Magento\Core\Block\Template');
+        $childBlock = $objectManagerHelper->getObject('Magento\View\Block\Template');
         $block->expects($this->atLeastOnce())
             ->method('getChildBlock')
             ->with('payment.info.checkmo')
diff --git a/dev/tests/unit/testsuite/Magento/Review/Helper/Action/PagerTest.php b/dev/tests/unit/testsuite/Magento/Review/Helper/Action/PagerTest.php
index 33ca2da23cd..2f13b9467e2 100644
--- a/dev/tests/unit/testsuite/Magento/Review/Helper/Action/PagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Review/Helper/Action/PagerTest.php
@@ -50,7 +50,7 @@ class PagerTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(array(3,2,6,5)));
 
         $contextMock = $this->getMock(
-            'Magento\Core\Helper\Context', array('getTranslator', 'getModuleManager', 'getRequest'), array(), '', false
+            'Magento\App\Helper\Context', array('getTranslator', 'getModuleManager', 'getRequest'), array(), '', false
         );
         $this->_helper = new \Magento\Review\Helper\Action\Pager($sessionMock, $contextMock);
         $this->_helper->setStorageId('reviews');
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractItemsTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractItemsTest.php
index 41138a22f0a..7801ad18b4d 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractItemsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractItemsTest.php
@@ -39,25 +39,19 @@ class AbstractItemsTest extends \PHPUnit_Framework_TestCase
             ->with(null, 'column')
             ->will($this->returnValue(array('column_block-name')));
 
-        $context = $this->getMock('Magento\Backend\Block\Template\Context', array('getLayout'), array(), '', false);
-        $context->expects($this->any())
-            ->method('getLayout')
-            ->will($this->returnValue($layout));
-
-        $product = $this->getMock('\Magento\Catalog\Model\ProductFactory', array(), array(), '', false);
-        $coreData = $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false);
-        $registry = $this->getMock('\Magento\Core\Model\Registry', array(), array(), '', false);
-
-        $renderer = new \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer(
-            $product, $coreData, $context, $registry
-        );
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        /** @var \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer $renderer */
+        $renderer = $helper->getObject('Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer');
+        $renderer->setLayout($layout);
 
         $layout->expects($this->any())
             ->method('getBlock')
             ->with('column_block-name')
             ->will($this->returnValue($renderer));
 
-        $block = new \Magento\Sales\Block\Adminhtml\Items\AbstractItems($product, $coreData, $context, $registry);
+        /** @var \Magento\Sales\Block\Adminhtml\Items\AbstractItems $block */
+        $block = $helper->getObject('Magento\Sales\Block\Adminhtml\Items\AbstractItems');
+        $block->setLayout($layout);
 
         $this->assertSame($renderer, $block->getItemRenderer('some-type'));
         $this->assertSame($renderer, $renderer->getColumnRenderer('block-name'));
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
index 904541d250c..7338fc89d52 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Items/AbstractTest.php
@@ -35,7 +35,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
 
     public function testGetItemRenderer()
     {
-        $renderer = $this->getMock('Magento\Core\Block\AbstractBlock', array(), array(), '', false);
+        $renderer = $this->getMock('Magento\View\Block\AbstractBlock', array(), array(), '', false);
         $layout = $this->getMock('Magento\Core\Model\Layout', array(
             'getChildName', 'getBlock', 'getGroupChildNames'
         ), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Items/GridTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Items/GridTest.php
index e1ac1d24ec1..8cf7e95d063 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Items/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Adminhtml/Order/Create/Items/GridTest.php
@@ -37,16 +37,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $orderCreateMock = $this->getMock('Magento\Sales\Model\AdminOrder\Create', array(), array(), '', false);
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
-            ->disableOriginalConstructor()
-            ->setMethods(array('get'))
-            ->getMock();
-
-        $contextMock = $this->getMockBuilder('Magento\Backend\Block\Template\Context')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHelperFactory'))
-            ->getMock();
-        $contextMock->expects($this->any())->method('getHelperFactory')->will($this->returnValue($helperFactory));
 
         $taxData = $this->getMockBuilder('Magento\Tax\Helper\Data')
             ->disableOriginalConstructor()
@@ -85,17 +75,18 @@ class GridTest extends \PHPUnit_Framework_TestCase
 
         $taxConfig = $this->getMockBuilder('Magento\Tax\Model\Config')->disableOriginalConstructor()->getMock();
 
-        $this->_block = $this->getMockBuilder('Magento\Sales\Block\Adminhtml\Order\Create\Items\Grid')
-            ->setConstructorArgs(
-                array(
-                    $wishlistFactoryMock, $giftMessageSave, $taxConfig, $taxData,
-                    $sessionMock, $orderCreateMock, $coreData, $contextMock
-                )
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject('Magento\Sales\Block\Adminhtml\Order\Create\Items\Grid',
+            array(
+                'wishlistFactory' => $wishlistFactoryMock,
+                'giftMessageSave' => $giftMessageSave,
+                'taxConfig' => $taxConfig,
+                'taxData' => $taxData,
+                'sessionQuote' => $sessionMock,
+                'orderCreate' => $orderCreateMock,
+                'coreData' => $coreData
             )
-            ->setMethods(array('_getSession'))
-            ->getMock();
-
-        $this->_block->expects($this->any())->method('_getSession')->will($this->returnValue($sessionMock));
+        );
     }
 
     /**
@@ -162,10 +153,8 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $product->expects($this->once())
             ->method('getTierPrice')
             ->will($this->returnValue($tierPrices));
-        $item = $this->getMockBuilder('Magento\Sales\Model\Quote\Item')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getProduct', 'getProductType'))
-            ->getMock();
+        $item = $this->getMock('Magento\Sales\Model\Quote\Item',
+            array(), array('getProduct', 'getProductType'), '', false);
         $item->expects($this->once())
             ->method('getProduct')
             ->will($this->returnValue($product));
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Guest/LinkTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Guest/LinkTest.php
index 61852763b51..5988517e3a5 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Guest/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Guest/LinkTest.php
@@ -35,7 +35,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $context = $objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
+        $context = $objectManagerHelper->getObject('Magento\View\Block\Template\Context');
         $session = $this->getMockBuilder('Magento\Customer\Model\Session')
             ->disableOriginalConstructor()
             ->setMethods(array('isLoggedIn'))
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Items/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Items/AbstractTest.php
index 31a64fe7269..d3b8d4a6885 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Items/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Items/AbstractTest.php
@@ -35,7 +35,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
 
     public function testGetItemRenderer()
     {
-        $renderer = $this->getMock('Magento\Core\Block\AbstractBlock', array('setRenderedBlock'), array(), '', false);
+        $renderer = $this->getMock('Magento\View\Block\AbstractBlock', array('setRenderedBlock'), array(), '', false);
         $layout = $this->getMock('Magento\Core\Model\Layout', array(
             'getChildName', 'getBlock'
         ), 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 deee526c326..ba8e503405f 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
@@ -48,7 +48,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('getId'))
             ->getMock();
         $customer->expects($this->once())->method('getId')->will($this->returnValue(1));
-
         $registry = $this->getMockBuilder('Magento\Core\Model\Registry')
             ->disableOriginalConstructor()
             ->setMethods(array('registry'))
@@ -57,11 +56,9 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->method('registry')
             ->with('current_customer')
             ->will($this->returnValue($customer));
-
         $store = $this->getMockBuilder('Magento\Core\Model\Store')
             ->disableOriginalConstructor()
             ->getMock();
-
         $collectionElement = $this->getMockBuilder('Magento\Sales\Model\Recurring\Profile')
             ->disableOriginalConstructor()
             ->setMethods(array('setStore', 'setLocale', 'renderData', 'getReferenceId'))
@@ -73,7 +70,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(1));
         $collectionElement->expects($this->atLeastOnce())->method('renderData')
             ->will($this->returnValue(2));
-
         $collection = $this->getMockBuilder('Magento\Sales\Model\Resource\Recurring\Profile\Collection')
             ->disableOriginalConstructor()
             ->setMethods(array('addFieldToFilter', 'addFieldToSelect', 'setOrder'))
@@ -100,18 +96,21 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $storeManager->expects($this->once())->method('getStore')
             ->will($this->returnValue($store));
 
-        $context = $this->_getContext();
-
+        $locale = $this->getMockBuilder('\Magento\Core\Model\LocaleInterface')
+            ->disableOriginalConstructor()
+            ->setMethods(array('formatDate'))
+            ->getMockForAbstractClass();
+        $locale->expects($this->once())->method('formatDate')
+            ->will($this->returnValue('11-11-1999'));
         $block = $this->_objectManagerHelper->getObject(
             'Magento\Sales\Block\Recurring\Profile\Grid',
             array(
-                'context' => $context,
                 'profile' => $profile,
                 'registry' => $registry,
                 'storeManager' => $storeManager,
+                'locale' => $locale
             )
         );
-
         $pagerBlock = $this->getMockBuilder('Magento\Page\Block\Html\Pager')
             ->disableOriginalConstructor()
             ->setMethods(array('setCollection'))
@@ -152,26 +151,4 @@ class GridTest extends \PHPUnit_Framework_TestCase
 
         return $layout;
     }
-
-    /**
-     * Get context object
-     *
-     * @return \Magento\Core\Block\Template\Context
-     */
-    protected function _getContext()
-    {
-        $locale = $this->getMockBuilder('\Magento\Core\Model\LocaleInterface')
-            ->disableOriginalConstructor()
-            ->setMethods(array('formatDate'))
-            ->getMockForAbstractClass();
-        $locale->expects($this->once())->method('formatDate')
-            ->will($this->returnValue('11-11-1999'));
-
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
-            array('locale' => $locale)
-        );
-        return $context;
-    }
 }
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 2a78005ba63..cac8ad08258 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
@@ -43,28 +43,16 @@ class GridTest extends \PHPUnit_Framework_TestCase
 
     public function testPrepareLayout()
     {
-        $customer = $this->getMockBuilder('Magento\Customer\Model\Customer')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getId'))
-            ->getMock();
+        $customer = $this->getMock('Magento\Customer\Model\Customer', array(), array(), '', false);
         $customer->expects($this->once())->method('getId')->will($this->returnValue(1));
-
-        $store = $this->getMockBuilder('Magento\Core\Model\Store')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $collectionElement = $this->getMockBuilder('Magento\Sales\Model\Recurring\Profile')
-            ->disableOriginalConstructor()
-            ->setMethods(array('setLocale', 'getIncrementId'))
-            ->getMock();
+        $store = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
+        $args = array(
+            'getIncrementId', 'getCreatedAt', 'getCustomerName', 'getBaseGrandTotal', 'getStatusLabel', 'getId'
+        );
+        $collectionElement = $this->getMock('Magento\Sales\Model\Recurring\Profile', $args, array(), '', false);
         $collectionElement->expects($this->once())->method('getIncrementId')
             ->will($this->returnValue(1));
-
-        $collection = $this->getMockBuilder('Magento\Sales\Model\Resource\Order\Collection')
-            ->disableOriginalConstructor()
-            ->setMethods(array('addFieldToFilter', 'addFieldToSelect', 'setOrder', 'addRecurringProfilesFilter',
-                'getIterator'))
-            ->getMock();
+        $collection = $this->getMock('Magento\Sales\Model\Resource\Order\Collection', array(), array(), '', false);
         $collection->expects($this->any())->method('addFieldToFilter')
             ->will($this->returnValue($collection));
         $collection->expects($this->once())->method('addFieldToSelect')
@@ -75,16 +63,8 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($collection));
         $collection->expects($this->once())->method('getIterator')
             ->will($this->returnValue(new \ArrayIterator(array($collectionElement))));
-
-        $profile = $this->getMockBuilder('Magento\Sales\Model\Recurring\Profile')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getFieldLabel'))
-            ->getMock();
-
-        $registry = $this->getMockBuilder('Magento\Core\Model\Registry')
-            ->disableOriginalConstructor()
-            ->setMethods(array('registry'))
-            ->getMock();
+        $profile = $this->getMock('Magento\Sales\Model\Recurring\Profile', array(), array(), '', false);
+        $registry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
         $registry->expects($this->at(0))
             ->method('registry')
             ->with('current_recurring_profile')
@@ -93,27 +73,29 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ->method('registry')
             ->with('current_customer')
             ->will($this->returnValue($customer));
-
-        $storeManager = $this->getMockBuilder('Magento\Core\Model\StoreManager')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getStore'))
-            ->getMock();
+        $profile->expects($this->once())->method('setStore')->with($store)->will($this->returnValue($profile));
+        $profile->expects($this->once())->method('setLocale')->will($this->returnValue($profile));
+        $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface');
         $storeManager->expects($this->once())->method('getStore')
             ->will($this->returnValue($store));
-
-        $context = $this->_getContext();
-
+        $locale = $this->getMock('\Magento\Core\Model\LocaleInterface');
+        $locale->expects($this->once())->method('formatDate')
+            ->will($this->returnValue('11-11-1999'));
+        $helperFactory = $this->getMock('Magento\App\Helper\HelperFactory', array(), array(), '', false);
+        $helper = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $helperFactory->expects($this->any())->method('get')->will($this->returnValue($helper));
+        $helper->expects($this->once())->method('formatCurrency')
+            ->will($this->returnValue('10 USD'));
         $block = $this->_objectManagerHelper->getObject(
             'Magento\Sales\Block\Recurring\Profile\Related\Orders\Grid',
             array(
-                'profile' => $profile,
                 'registry' => $registry,
                 'storeManager' => $storeManager,
                 'collection' => $collection,
-                'context' => $context
+                'locale' => $locale,
+                'helperFactory' => $helperFactory
             )
         );
-
         $pagerBlock = $this->getMockBuilder('Magento\Page\Block\Html\Pager')
             ->disableOriginalConstructor()
             ->setMethods(array('setCollection'))
@@ -121,12 +103,14 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $pagerBlock->expects($this->once())->method('setCollection')
             ->with($collection)
             ->will($this->returnValue($pagerBlock));
-        $layout = $this->_getMockLayout();
+        $layout = $this->getMock('Magento\View\LayoutInterface');
         $layout->expects($this->once())->method('createBlock')
             ->will($this->returnValue($pagerBlock));
-
         $block->setLayout($layout);
 
+        /**
+         * @var \Magento\Sales\Block\Recurring\Profile\Related\Orders\Grid
+         */
         $this->assertNotEmpty($block->getGridColumns());
         $expectedResult = array(new \Magento\Object(array(
             'increment_id' => 1,
@@ -138,56 +122,4 @@ class GridTest extends \PHPUnit_Framework_TestCase
         )));
         $this->assertEquals($expectedResult, $block->getGridElements());
     }
-
-    /**
-     * Get layout mock
-     *
-     * @return \Magento\View\LayoutInterface
-     */
-    protected function _getMockLayout()
-    {
-        $layout = $this->getMockBuilder('Magento\View\LayoutInterface')
-            ->disableOriginalConstructor()
-            ->setMethods(array('createBlock', 'getChildName', 'setChild'))
-            ->getMockForAbstractClass();
-        return $layout;
-    }
-
-    /**
-     * Get context object
-     *
-     * @return \Magento\Core\Block\Template\Context
-     */
-    protected function _getContext()
-    {
-        $locale = $this->getMockBuilder('\Magento\Core\Model\LocaleInterface')
-            ->disableOriginalConstructor()
-            ->setMethods(array('formatDate'))
-            ->getMockForAbstractClass();
-        $locale->expects($this->once())->method('formatDate')
-            ->will($this->returnValue('11-11-1999'));
-
-        $helper = $this->getMockBuilder('Magento\Customer\Helper\Data')
-            ->disableOriginalConstructor()
-            ->setMethods(array('formatCurrency'))
-            ->getMock();
-        $helper->expects($this->once())->method('formatCurrency')
-            ->will($this->returnValue('10 USD'));
-
-        $helperFactory = $this->getMockBuilder('Magento\Core\Model\Factory\Helper')
-            ->disableOriginalConstructor()
-            ->setMethods(array('get'))
-            ->getMock();
-        $helperFactory->expects($this->any())->method('get')->will($this->returnValue($helper));
-
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject(
-            'Magento\Core\Block\Template\Context',
-            array(
-                'helperFactory' => $helperFactory,
-                'locale'        => $locale
-            )
-        );
-        return $context;
-    }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/View/AddressTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/View/AddressTest.php
index e05fed63c0d..03393dc30a8 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/View/AddressTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/View/AddressTest.php
@@ -97,7 +97,7 @@ class AddressTest extends \PHPUnit_Framework_TestCase
         $this->_profile->expects($this->once())->method('getInfoValue')->will($this->returnValue('1'));
         $this->_block->setAddressType('shipping');
 
-        $parentBlock = $this->getMockBuilder('Magento\Core\Block\Template')
+        $parentBlock = $this->getMockBuilder('Magento\View\Block\Template')
             ->disableOriginalConstructor()
             ->setMethods(array('unsetChild'))
             ->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php b/dev/tests/unit/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php
index 5f184065b13..6df67c45521 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php
@@ -75,7 +75,7 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
             'objectManager' => $this->_objectManager,
         );
 
-        $context = $helper->getObject('Magento\Backend\Controller\Context', $arguments);
+        $context = $helper->getObject('Magento\Backend\App\Action\Context', $arguments);
 
         $this->_controller = $helper->getObject('Magento\Sales\Controller\Adminhtml\Order\Creditmemo',
             array('context' => $context));
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Invoice/Total/ShippingTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Invoice/Total/ShippingTest.php
index cedb6667f8c..4362ee2283e 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Invoice/Total/ShippingTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Invoice/Total/ShippingTest.php
@@ -62,10 +62,10 @@ class ShippingTest extends \PHPUnit_Framework_TestCase
                 'Magento\Sales\Model\Resource\Order\Invoice\Comment\CollectionFactory', array(), array(), '', false
             ),
             'templateMailerFactory' => $this->getMock(
-                'Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false
+                'Magento\Email\Model\Template\MailerFactory', array(), array(), '', false
             ),
             'emailInfoFactory' => $this->getMock(
-                'Magento\Core\Model\Email\InfoFactory', array(), array(), '', false
+                'Magento\Email\Model\InfoFactory', array(), array(), '', false
             ),
         );
         foreach ($invoicesData as $oneInvoiceData) {
@@ -93,10 +93,10 @@ class ShippingTest extends \PHPUnit_Framework_TestCase
                 'Magento\Catalog\Model\ProductFactory', array(), array(), '', false
             ),
             'templateMailerFactory' => $this->getMock(
-                'Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false
+                'Magento\Email\Model\Template\MailerFactory', array(), array(), '', false
             ),
             'emailInfoFactory' => $this->getMock(
-                'Magento\Core\Model\Email\InfoFactory', array(), array(), '', false
+                'Magento\Email\Model\InfoFactory', array(), array(), '', false
             ),
             'orderItemCollFactory' => $this->getMock(
                 'Magento\Sales\Model\Resource\Order\Item\CollectionFactory', array(), array(), '', false
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/InvoiceTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/InvoiceTest.php
index 4773f9efc9d..9c2fa133eed 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/InvoiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/InvoiceTest.php
@@ -76,10 +76,10 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
                 'Magento\Sales\Model\Resource\Order\Invoice\Comment\CollectionFactory', array(), array(), '', false
             ),
             'templateMailerFactory' => $this->getMock(
-                'Magento\Core\Model\Email\Template\MailerFactory', array(), array(), '', false
+                'Magento\Email\Model\Template\MailerFactory', array(), array(), '', false
             ),
             'emailInfoFactory' => $this->getMock(
-                'Magento\Core\Model\Email\InfoFactory', array(), array(), '', false
+                'Magento\Email\Model\InfoFactory', array(), array(), '', false
             ),
         );
         $this->_model = $helperManager->getObject('Magento\Sales\Model\Order\Invoice', $arguments);
diff --git a/dev/tests/unit/testsuite/Magento/Stdlib/StringTest.php b/dev/tests/unit/testsuite/Magento/Stdlib/StringTest.php
index 72ccbd682bb..942e3b3a8d2 100644
--- a/dev/tests/unit/testsuite/Magento/Stdlib/StringTest.php
+++ b/dev/tests/unit/testsuite/Magento/Stdlib/StringTest.php
@@ -40,7 +40,6 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Stdlib\String::__construct
      * @covers \Magento\Stdlib\String::split
      */
     public function testStrSplit()
@@ -54,7 +53,6 @@ class StringTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Stdlib\String::__construct
      * @covers \Magento\Stdlib\String::splitInjection
      */
     public function testSplitInjection()
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/Code/Scanner/XmlInterceptorScannerTest.php b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/Code/Scanner/XmlInterceptorScannerTest.php
index 7b08ff4f302..b5fd0cecbf6 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/Code/Scanner/XmlInterceptorScannerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/Code/Scanner/XmlInterceptorScannerTest.php
@@ -56,7 +56,7 @@ class XmlInterceptorScannerTest extends \PHPUnit_Framework_TestCase
         $actual = $this->_model->collectEntities($this->_testFiles);
         $expected = array(
             'Magento\App\Cache\Interceptor',
-            'Magento\Core\Controller\Varien\Action\Context\Interceptor',
+            'Magento\App\Action\Context\Interceptor',
         );
         $this->assertEquals($expected, $actual);
     }
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/config.xml b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/config.xml
index bf3a181b3d5..6b6d4712548 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/config.xml
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/config.xml
@@ -33,7 +33,7 @@
                     </storeManager>
                 </parameters>
             </Node1>
-            <Node2 type ="Magento\Core\Controller\Varien\Action\Context">
+            <Node2 type ="Magento\App\Action\Context">
                 <plugins>
                     <first><instance>Magento\Core\Model\Action\Plugin</instance></first>
                     <second><instance>Custom_PageCache_Model_Action_Plugin</instance></second>
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/di/config.xml b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/di/config.xml
index 5f5c0af9d11..d843411d66b 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/di/config.xml
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/etc/di/config.xml
@@ -27,7 +27,7 @@
     <type name="Magento\App\Cache">
         <param name="storeManager"><instance type="customStoreManagerProxy" /></param>
     </type>
-    <type name="Magento\Core\Controller\Varien\Action\Context">
+    <type name="Magento\App\Action\Context">
         <param name="layoutFactory"><instance type="customLayoutFactory" /></param>
         <plugin name="first" type="Magento\Core\Model\Action\Plugin" />
         <plugin name="second" type="Custom_PageCache_Model_Action_Plugin" />
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/TabAbstractTest.php b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/TabAbstractTest.php
index 26bd23fb78c..16776965251 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/TabAbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/TabAbstractTest.php
@@ -39,10 +39,10 @@ class TabAbstractTest extends \PHPUnit_Framework_TestCase
         $this->_model = $this->getMockForAbstractClass(
             'Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\AbstractTab',
             array(
-                $this->getMock('Magento\Data\FormFactory', array(), array(), '', false),
-                $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
                 $this->getMock('Magento\Backend\Block\Template\Context', array(), array(), '', false),
+                $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
                 $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false),
+                $this->getMock('Magento\Data\FormFactory', array(), array(), '', false),
                 $this->getMock('Magento\ObjectManager', array(), array(), '', false)
             ),
             '',
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 b25c05790e7..ff39622f61f 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
@@ -54,21 +54,13 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $arguments = array(
-            'request' => $this->_request,
-            'objectManager' => $this->_objectManagerMock,
-
-        );
-        $context = $helper->getObject('Magento\Backend\Controller\Context', $arguments);
-        $coreRegistry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
-
-        $this->_model = $this->getMock('Magento\Theme\Controller\Adminhtml\System\Design\Theme',
-            array('_forward', '_title', 'loadLayout', 'renderLayout', '_redirect'),
-            array($context, $coreRegistry, null)
+        $this->_model = $helper->getObject('Magento\Theme\Controller\Adminhtml\System\Design\Theme',
+            array(
+                'request' => $this->_request,
+                'objectManager' => $this->_objectManagerMock,
+                'response' => $this->getMock('Magento\App\Response\Http', array(), array(), '', false)
+                )
         );
-        $this->_model->expects($this->any())->method('_title')->will($this->returnValue($this->_model));
-        $this->_model->expects($this->any())->method('loadLayout');
-        $this->_model->expects($this->any())->method('renderLayout');
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
index 970a78b9206..da659159619 100644
--- a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
+++ b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
@@ -40,7 +40,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Core\Helper\Data */
     protected $_coreData;
 
-    /** @var \Magento\Core\Model\Sender|PHPUnit_Framework_MockObject_MockObject */
+    /** @var \Magento\Email\Model\Sender|PHPUnit_Framework_MockObject_MockObject */
     protected $_senderMock;
 
     /** @var \Magento\Core\Model\Context|PHPUnit_Framework_MockObject_MockObject */
@@ -65,7 +65,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array())
             ->getMock();
-        $this->_senderMock = $this->getMockBuilder('Magento\Core\Model\Sender')
+        $this->_senderMock = $this->getMockBuilder('Magento\Email\Model\Sender')
             ->disableOriginalConstructor()
             ->setMethods(array('send'))
             ->getMock();
@@ -88,9 +88,9 @@ class UserTest extends \PHPUnit_Framework_TestCase
             array(), '', false);
         $roleFactoryMock = $this->getMock('Magento\User\Model\RoleFactory', array('create'),
             array(), '', false);
-        $emailFactoryMock = $this->getMock('Magento\Core\Model\Email\InfoFactory', array('create'),
+        $emailFactoryMock = $this->getMock('Magento\Email\Model\InfoFactory', array('create'),
             array(), '', false);
-        $mailerFactoryMock = $this->getMock('Magento\Core\Model\Email\Template\MailerFactory', array('create'),
+        $mailerFactoryMock = $this->getMock('Magento\Email\Model\Template\MailerFactory', array('create'),
             array(), '', false);
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Validator/Composite/VarienObjectTest.php b/dev/tests/unit/testsuite/Magento/Validator/Composite/VarienObjectTest.php
index bff69d06db1..50514941d84 100644
--- a/dev/tests/unit/testsuite/Magento/Validator/Composite/VarienObjectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Validator/Composite/VarienObjectTest.php
@@ -99,7 +99,7 @@ class VarienObjectTest extends \PHPUnit_Framework_TestCase
             count($expectedErrors), $actualMessages, 'Number of messages does not meet expectations.'
         );
         foreach ($expectedErrors as $errorIndex => $expectedErrorMessage) {
-            /** @var $actualMessage \Magento\Core\Model\Message\AbstractMessage */
+            /** @var $actualMessage \Magento\Message\AbstractMessage */
             $actualMessage = $actualMessages[$errorIndex];
             $this->assertEquals($expectedErrorMessage, $actualMessage);
         }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/unit/testsuite/Magento/View/Block/AbstractBlockTest.php
similarity index 91%
rename from dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
rename to dev/tests/unit/testsuite/Magento/View/Block/AbstractBlockTest.php
index 88c043bec55..91bf9816c48 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Block/AbstractBlockTest.php
@@ -25,7 +25,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Block;
+namespace Magento\View\Block;
 
 class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 {
@@ -37,8 +37,8 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetUiId($expectedResult, $nameInLayout, $methodArguments)
     {
-        /** @var $block \Magento\Core\Block\AbstractBlock|PHPUnit_Framework_MockObject_MockObject */
-        $block = $this->getMockForAbstractClass('Magento\Core\Block\AbstractBlock', array(), '', false);
+        /** @var $block \Magento\View\Block\AbstractBlock|PHPUnit_Framework_MockObject_MockObject */
+        $block = $this->getMockForAbstractClass('Magento\View\Block\AbstractBlock', array(), '', false);
         $block->setNameInLayout($nameInLayout);
 
         $this->assertEquals(
@@ -86,13 +86,13 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $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 */
+        /** @var $block \Magento\View\Block\AbstractBlock|PHPUnit_Framework_MockObject_MockObject */
         $params = array(
             'viewConfig' => $configManager,
         );
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $block = $this->getMockForAbstractClass('Magento\Core\Block\AbstractBlock',
-            $helper->getConstructArguments('Magento\Core\Block\AbstractBlock', $params),
+        $block = $this->getMockForAbstractClass('Magento\View\Block\AbstractBlock',
+            $helper->getConstructArguments('Magento\View\Block\AbstractBlock', $params),
             uniqid('Magento\\Core\\Block\\AbstractBlock\\')
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/unit/testsuite/Magento/View/Block/TemplateTest.php
similarity index 74%
rename from dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
rename to dev/tests/unit/testsuite/Magento/View/Block/TemplateTest.php
index 9fb63811033..3c7f25bdf37 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Block/TemplateTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Block;
+namespace Magento\View\Block;
 
 class TemplateTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Block\Template
+     * @var \Magento\View\Block\Template
      */
     protected $_block;
 
@@ -62,28 +62,24 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
 
         $this->_filesystem = $this->getMock('\Magento\Filesystem', array(), array(), '', false);
 
-        $this->_templateEngine = $this->getMock('\Magento\View\TemplateEngineInterface');
+        $this->_templateEngine =
+            $this->getMock('Magento\View\TemplateEnginePool', array('render', 'get'), array(), '', false);
 
-        $enginePool = $this->getMock('Magento\View\TemplateEngineFactory', array(), array(), '', false);
-        $enginePool->expects($this->any())
+        $this->_templateEngine->expects($this->any())
             ->method('get')
-            ->with('phtml')
             ->will($this->returnValue($this->_templateEngine));
 
         $appState = $this->getMock('Magento\App\State', array('getAreaCode'), array(), '', false);
         $appState->expects($this->any())->method('getAreaCode')->will($this->returnValue('frontend'));
-
-        $context = $this->getMock('Magento\Core\Block\Template\Context', array(), array(), '', false);
-        $context->expects($this->any())->method('getEngineFactory')->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));
-        $context->expects($this->any())->method('getAppState')->will($this->returnValue($appState));
-
-        $this->_block = new \Magento\Core\Block\Template(
-            $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false),
-            $context,
-            array('template' => 'template.phtml', 'module_name' => 'Fixture_Module')
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject('Magento\View\Block\Template', array(
+            'filesystem' => $this->_filesystem,
+            'enginePool' => $this->_templateEngine,
+            'viewFileSystem' => $this->_viewFileSystem,
+            'appState' => $appState,
+            'dirs' => $dirs,
+            'data' => array('template' => 'template.phtml', 'module_name' => 'Fixture_Module')
+            )
         );
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/FactoryTest.php b/dev/tests/unit/testsuite/Magento/View/Design/Theme/Domain/FactoryTest.php
similarity index 90%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/FactoryTest.php
rename to dev/tests/unit/testsuite/Magento/View/Design/Theme/Domain/FactoryTest.php
index b457e3307b7..aa728ddbe85 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Design/Theme/Domain/FactoryTest.php
@@ -28,12 +28,12 @@
 /**
  * Test theme domain model
  */
-namespace Magento\Core\Model\Theme\Domain;
+namespace Magento\View\Design\Theme\Domain;
 
 class FactoryTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @covers \Magento\Core\Model\Theme\Domain\Factory::create
+     * @covers \Magento\View\Design\Theme\Domain\Factory::create
      */
     public function testCreate()
     {
@@ -47,7 +47,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
         $objectManager = $this->getMock('Magento\ObjectManager', array(), array('create'), '', false);
         $objectManager->expects($this->once())
             ->method('create')
-            ->with('Magento\Core\Model\Theme\Domain\Virtual', array('theme' => $themeMock))
+            ->with('Magento\View\Design\Theme\Domain\VirtualInterface', array('theme' => $themeMock))
             ->will($this->returnValue($newThemeMock));
 
         $themeDomainFactory = new \Magento\View\Design\Theme\Domain\Factory($objectManager);
@@ -55,7 +55,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\Core\Model\Theme\Domain\Factory::create
+     * @covers \Magento\View\Design\Theme\Domain\Factory::create
      */
     public function testCreateWithWrongThemeType()
     {
diff --git a/dev/tests/unit/testsuite/Magento/View/Design/Theme/FlyweightFactoryTest.php b/dev/tests/unit/testsuite/Magento/View/Design/Theme/FlyweightFactoryTest.php
index b1af1fc37f4..71f70fa788a 100644
--- a/dev/tests/unit/testsuite/Magento/View/Design/Theme/FlyweightFactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Design/Theme/FlyweightFactoryTest.php
@@ -42,7 +42,7 @@ class FlyweightFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\View\Design\Theme\FlyweightFactory::createById
+     * @covers \Magento\View\Design\Theme\FlyweightFactory::create
      */
     public function testCreateById()
     {
@@ -65,7 +65,7 @@ class FlyweightFactoryTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @covers \Magento\View\Design\Theme\FlyweightFactory::createByPath
+     * @covers \Magento\View\Design\Theme\FlyweightFactory::create
      */
     public function testCreateByPath()
     {
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/UploaderTest.php b/dev/tests/unit/testsuite/Magento/View/Design/Theme/Image/UploaderTest.php
similarity index 97%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/UploaderTest.php
rename to dev/tests/unit/testsuite/Magento/View/Design/Theme/Image/UploaderTest.php
index 79b6bf623fc..9c44f576460 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/UploaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Design/Theme/Image/UploaderTest.php
@@ -28,7 +28,7 @@
 /**
  * Test for theme image uploader
  */
-namespace Magento\Core\Model\Theme\Image;
+namespace Magento\View\Design\Theme\Image;
 
 class UploaderTest extends \PHPUnit_Framework_TestCase
 {
@@ -136,7 +136,7 @@ class UploaderTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider uploadDataProvider
-     * @covers \Magento\Core\Model\Theme\Image\Uploader::uploadPreviewImage
+     * @covers \Magento\View\Design\Theme\Image\Uploader::uploadPreviewImage
      */
     public function testUploadPreviewImage($isUploaded, $isValid, $checkExtension, $save, $result, $exception)
     {
diff --git a/dev/tests/unit/testsuite/Magento/View/TemplateEngine/PhpTest.php b/dev/tests/unit/testsuite/Magento/View/TemplateEngine/PhpTest.php
index bccaf460e36..6a2811489f8 100644
--- a/dev/tests/unit/testsuite/Magento/View/TemplateEngine/PhpTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/TemplateEngine/PhpTest.php
@@ -46,7 +46,7 @@ class PhpTest extends \PHPUnit_Framework_TestCase
      */
     public function testRender()
     {
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
+        $blockMock = $this->getMockBuilder('Magento\View\Block\Template')
             ->setMethods(array('testMethod'))
             ->disableOriginalConstructor()->getMock();
 
@@ -75,7 +75,7 @@ class PhpTest extends \PHPUnit_Framework_TestCase
      */
     public function testRenderException()
     {
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
+        $blockMock = $this->getMockBuilder('Magento\View\Block\Template')
             ->setMethods(array('testMethod'))
             ->disableOriginalConstructor()->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/View/TemplateEngineFactoryTest.php b/dev/tests/unit/testsuite/Magento/View/TemplateEngineFactoryTest.php
index 089bc4eb9ee..635c14539bd 100644
--- a/dev/tests/unit/testsuite/Magento/View/TemplateEngineFactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/TemplateEngineFactoryTest.php
@@ -38,7 +38,9 @@ class TemplateEngineFactoryTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_factory = new TemplateEngineFactory($this->_objectManagerMock);
+        $this->_factory = new TemplateEngineFactory($this->_objectManagerMock, array(
+            'test' => 'Fixture\Module\Model\TemplateEngine',
+        ));
     }
 
     public function testCreateKnownEngine()
@@ -46,20 +48,35 @@ class TemplateEngineFactoryTest extends \PHPUnit_Framework_TestCase
         $engine = $this->getMock('Magento\View\TemplateEngineInterface');
         $this->_objectManagerMock
             ->expects($this->once())
-            ->method('get')
-            ->with('Magento\View\TemplateEngine\Php')
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
             ->will($this->returnValue($engine))
         ;
-        $this->assertSame($engine, $this->_factory->get('phtml'));
+        $this->assertSame($engine, $this->_factory->create('test'));
     }
 
     /**
      * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Unknown template engine type: non_existing
+     * @expectedExceptionMessage Unknown template engine type: 'non_existing'
      */
     public function testCreateUnknownEngine()
     {
-        $this->_objectManagerMock->expects($this->never())->method('get');
-        $this->_factory->get('non_existing');
+        $this->_objectManagerMock->expects($this->never())->method('create');
+        $this->_factory->create('non_existing');
+    }
+
+    /**
+     * @expectedException \UnexpectedValueException
+     * @expectedExceptionMessage Fixture\Module\Model\TemplateEngine has to implement the template engine interface
+     */
+    public function testCreateInvalidEngine()
+    {
+        $this->_objectManagerMock
+            ->expects($this->once())
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
+            ->will($this->returnValue(new \stdClass()))
+        ;
+        $this->_factory->create('test');
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/View/TemplateEnginePoolTest.php b/dev/tests/unit/testsuite/Magento/View/TemplateEnginePoolTest.php
new file mode 100644
index 00000000000..135052248c7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/View/TemplateEnginePoolTest.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\View;
+
+class TemplateEnginePoolTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var TemplateEnginePool
+     */
+    protected $_model;
+
+    /**
+     * @var\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_factory;
+
+    protected function setUp()
+    {
+        $this->_factory = $this->getMock('Magento\View\TemplateEngineFactory', array(), array(), '', false);
+        $this->_model = new TemplateEnginePool($this->_factory);
+    }
+
+    public function testGet()
+    {
+        $engine = $this->getMock('Magento\View\TemplateEngineInterface');
+        $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/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
index 456b1dfc755..b033f1f1057 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
@@ -92,9 +92,9 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     {
         $this->_block->setApiRole($apiRole);
 
-        $mainBlock = $this->_helper->getObject('Magento\Core\Block\Text');
-        $resourceBlock = $this->_helper->getObject('Magento\Core\Block\Text');
-        $userBlock = $this->_helper->getObject('Magento\Core\Block\Text');
+        $mainBlock = $this->_helper->getObject('Magento\View\Block\Text');
+        $resourceBlock = $this->_helper->getObject('Magento\View\Block\Text');
+        $userBlock = $this->_helper->getObject('Magento\View\Block\Text');
 
         $this->_layout->expects($this->any())
             ->method('getBlock')
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
index bb1c636824d..039b7243163 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/ActivateTest.php
@@ -44,23 +44,25 @@ class ActivateTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_urlBuilder = $this->getMock('Magento\Core\Model\Url', array('getUrl'), array(), '', false);
+        $this->_urlBuilder = $this->getMock('Magento\UrlInterface');
 
         /** @var  $coreData \Magento\Core\Helper\Data */
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
 
-        /** @var \Magento\Core\Block\Template\Context $context */
-        $context = $this->getMock('Magento\Backend\Block\Template\Context', array('getUrlBuilder'), array(), '', false);
-        $context->expects($this->once())
-            ->method('getUrlBuilder')
-            ->will($this->returnValue($this->_urlBuilder));
-
         $registry = $this->getMock('Magento\Core\Model\Registry', array('registry'), array(), '', false);
         $registry->expects($this->once())
             ->method('registry')
             ->with('current_subscription')
             ->will($this->returnValue($this->_subscription));
-        $this->_block = new \Magento\Webhook\Block\Adminhtml\Registration\Activate($coreData, $context, $registry);
+
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject('\Magento\Webhook\Block\Adminhtml\Registration\Activate',
+            array(
+                'coreData' => $coreData,
+                'registry' => $registry,
+                'urlBuilder' => $this->_urlBuilder
+            )
+        );
     }
 
     public function testGetAcceptUrl()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
index a1cfc0db90b..43ef524f09a 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/Form/ContainerTest.php
@@ -44,24 +44,25 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_urlBuilder = $this->getMock('Magento\Core\Model\Url', array('getUrl'), array(), '', false);
+        $this->_urlBuilder = $this->getMock('Magento\UrlInterface');
 
         /** @var  $coreData \Magento\Core\Helper\Data */
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
 
-        /** @var \Magento\Core\Block\Template\Context $context */
-        $context = $this->getMock('Magento\Backend\Block\Template\Context', array('getUrlBuilder'), array(), '', false);
-        $context->expects($this->once())
-            ->method('getUrlBuilder')
-            ->will($this->returnValue($this->_urlBuilder));
-
         $registry = $this->getMock('Magento\Core\Model\Registry', array('registry'), array(), '', false);
         $registry->expects($this->once())
             ->method('registry')
             ->with('current_subscription')
             ->will($this->returnValue($this->_subscription));
-        $this->_block = new \Magento\Webhook\Block\Adminhtml\Registration\Create\Form\Container(
-            $coreData, $context, $registry);
+
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject('\Magento\Webhook\Block\Adminhtml\Registration\Create\Form\Container',
+            array(
+                'coreData' => $coreData,
+                'registry' => $registry,
+                'urlBuilder' => $this->_urlBuilder
+            )
+        );
     }
 
     public function testGetAcceptUrl()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/FormTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/FormTest.php
index 58835ea62e9..43e6f92d7e8 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/FormTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/Create/FormTest.php
@@ -63,10 +63,10 @@ class FormTest extends \Magento\Test\Block\Adminhtml
         $this->_setStub($collectionMock, 'getSelect', $selectMock);
 
         $arguments = array(
+            $this->_context,
+            $this->_coreData,
             $this->_registry,
             $this->_formFactoryMock,
-            $this->_coreData,
-            $this->_context,
         );
 
         $methods = array(
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
index 9bb3522f6a4..e5c0a747112 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Registration/FailedTest.php
@@ -37,22 +37,14 @@ class FailedTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $urlBuilder = $this->getMock('Magento\Core\Model\Url', array('getUrl'), array(), '', false);
 
         /** @var  $coreData \Magento\Core\Helper\Data */
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
 
-        $context = $this->getMockBuilder('Magento\Backend\Block\Template\Context')
+        $this->_lastMessage = $this->getMockBuilder('Magento\Message\AbstractMessage')
             ->disableOriginalConstructor()
             ->getMock();
-        $context->expects($this->once())
-            ->method('getUrlBuilder')
-            ->will($this->returnValue($urlBuilder));
-
-        $this->_lastMessage = $this->getMockBuilder('Magento\Core\Model\Message\AbstractMessage')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $messages = $this->getMockBuilder('Magento\Core\Model\Message\Collection')
+        $messages = $this->getMockBuilder('Magento\Message\Collection')
             ->disableOriginalConstructor()
             ->getMock();
         $messages->expects($this->any())
@@ -64,7 +56,13 @@ class FailedTest extends \PHPUnit_Framework_TestCase
         $session->expects($this->once())
             ->method('getMessages')
             ->will($this->returnValue($messages));
-        $this->_block = new \Magento\Webhook\Block\Adminhtml\Registration\Failed($coreData, $session, $context);
+        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_block = $helper->getObject('\Magento\Webhook\Block\Adminhtml\Registration\Failed',
+            array(
+                'coreData' => $coreData,
+                'backendSession' => $session
+            )
+        );
     }
 
     public function testGetSessionError()
@@ -76,5 +74,4 @@ class FailedTest extends \PHPUnit_Framework_TestCase
 
         $this->assertEquals($errorMessage, $this->_block->getSessionError());
     }
-
 }
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/Edit/FormTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/Edit/FormTest.php
index 31b3dea7b7b..e6215d2369a 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/Edit/FormTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/Edit/FormTest.php
@@ -84,13 +84,13 @@ class FormTest extends \Magento\Test\Block\Adminhtml
 
         // Arguments passed to UUT's constructor
         $arguments = array(
+            $this->_context,
+            $this->_coreData,
+            $this->_registry,
+            $this->_formFactoryMock,
             $this->_formatMock,
             $this->_authenticationMock,
             $this->_hookMock,
-            $this->_registry,
-            $this->_formFactoryMock,
-            $this->_coreData,
-            $this->_context,
             array($collectionMock)
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
index dc446e866b3..7e464d6bcda 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
@@ -55,8 +55,8 @@ class EditTest extends \Magento\Test\Block\Adminhtml
             \Magento\Webhook\Block\Adminhtml\Subscription\Edit::REGISTRY_KEY_CURRENT_SUBSCRIPTION,
             $subscriptionData);
         $this->_block = new \Magento\Webhook\Block\Adminhtml\Subscription\Edit(
-            $this->_coreData,
             $this->_context,
+            $this->_coreData,
             $this->_registry
         );
         $this->assertEquals('Edit Subscription', $this->_block->getHeaderText());
@@ -70,8 +70,8 @@ class EditTest extends \Magento\Test\Block\Adminhtml
     {
         $this->_registry = new \Magento\Core\Model\Registry();
         $this->_block = new \Magento\Webhook\Block\Adminhtml\Subscription\Edit(
-            $this->_coreData,
             $this->_context,
+            $this->_coreData,
             $this->_registry
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/SubscriptionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/SubscriptionTest.php
index a7d0d86d087..d6c5cb6b813 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/SubscriptionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Block/Adminhtml/SubscriptionTest.php
@@ -29,12 +29,18 @@ namespace Magento\Webhook\Block\Adminhtml;
 
 class SubscriptionTest extends \Magento\Test\Block\Adminhtml
 {
+    /**
+     * @var \Magento\TestFramework\Helper\ObjectManager
+     */
+    protected $_objectManagerHelper;
+
     public function testConstruct()
     {
-        $block = new \Magento\Webhook\Block\Adminhtml\Subscription(
-            $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
-            $this->_context
-        );
+        $this->_objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $block = $this->_objectManagerHelper->getObject(
+            '\Magento\Webhook\Block\Adminhtml\Subscription', array());
+
+
         $this->assertEquals('Subscriptions', $block->getHeaderText());
         $this->assertEquals('Add Subscription', $block->getAddButtonLabel());
     }
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 dfc83f0f477..b776a6536f7 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
@@ -271,9 +271,6 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
                 array( 'name' => 'nameTest' )
             ));
 
-        // Use real translate model
-        $this->_mockTranslateModel = null;
-
         // verify success message
         $this->_mockBackendModSess->expects($this->once())->method('addSuccess')
             ->with($this->equalTo('The subscription \'nameTest\' has been activated.'));
@@ -326,8 +323,8 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $layoutMock->expects($this->any())->method('getUpdate')->will($this->returnValue($layoutMergeMock));
         $testElement = new \Magento\Simplexml\Element('<test>test</test>');
-        $layoutMock->expects($this->any())->method('getNode')->will($this->returnValue($testElement));
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\AbstractBlock')
+        $layoutMock->expects($this->never())->method('getNode')->will($this->returnValue($testElement));
+        $blockMock = $this->getMockBuilder('Magento\View\Block\AbstractBlock')
             ->disableOriginalConstructor()
             ->getMock();
         $layoutMock->expects($this->any())->method('getMessagesBlock')->will($this->returnValue($blockMock));
@@ -343,8 +340,7 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
         );
 
         $this->_mockBackendCntCtxt = $this->_objectManagerHelper
-            ->getObject('Magento\Backend\Controller\Context',
-                $contextParameters);
+            ->getObject('Magento\Backend\App\Action\Context', $contextParameters);
 
         $regControllerParams = array(
             'context' => $this->_mockBackendCntCtxt,
@@ -369,7 +365,6 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
             array('Magento\Core\Model\Config', $this->_mockConfig),
             array('Magento\Core\Model\Layout\Filter\Acl', $this->_mockLayoutFilter),
             array('Magento\Backend\Model\Session', $this->_mockBackendModSess),
-            array('Magento\Core\Model\Translate', $this->_mockTranslateModel),
             array('Magento\Config\ScopeInterface', $this->_mockConfigScope),
         );
         $this->_mockObjectManager->expects($this->any())
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 7330729fef1..cdc4b1b2d6a 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
@@ -166,9 +166,8 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
     {
         $exceptionMessage = 'An exception happened';
         // have load layout throw an exception
-        $this->_mockObjectManager->expects($this->at(0))
-            ->method('get')
-            ->with('Magento\Config\ScopeInterface')
+        $this->_mockRegistry->expects($this->any())
+            ->method('registry')
             ->will($this->throwException(new \Magento\Core\Exception($exceptionMessage)));
 
         // verify the error
@@ -545,9 +544,8 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
     protected function _createSubscriptionController()
     {
         // Mock Layout passed into constructor
-        $layoutMock = $this->getMockBuilder('Magento\Core\Model\Layout')
-            ->disableOriginalConstructor()
-            ->getMock();
+        $viewMock = $this->getMock('Magento\App\ViewInterface');
+        $layoutMock = $this->getMock('Magento\View\LayoutInterface');
         $layoutMergeMock = $this->getMockBuilder('Magento\Core\Model\Layout\Merge')
             ->disableOriginalConstructor()
             ->getMock();
@@ -556,6 +554,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $layoutMock->expects($this->any())->method('getNode')->will($this->returnValue($testElement));
 
         // for _setActiveMenu
+        $viewMock->expects($this->any())->method('getLayout')->will($this->returnValue($layoutMock));
         $blockMock = $this->getMockBuilder('Magento\Backend\Block\Menu')
             ->disableOriginalConstructor()
             ->getMock();
@@ -568,18 +567,20 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $layoutMock->expects($this->any())->method('getMessagesBlock')->will($this->returnValue($blockMock));
         $layoutMock->expects($this->any())->method('getBlock')->will($this->returnValue($blockMock));
 
+        $title = $this->getMock('Magento\App\Action\Title', array(), array(), '', false);
+        $title->expects($this->any())->method('add')->will($this->returnValue($title));
         $contextParameters = array(
-            'layout' => $layoutMock,
+            'view' => $viewMock,
             'objectManager' => $this->_mockObjectManager,
             'session' => $this->_mockBackendModSess,
             'translator' => $this->_mockTranslateModel,
             'request' => $this->_mockRequest,
             'response' => $this->_mockResponse,
+            'title' => $title
         );
 
         $this->_mockBackendCntCtxt = $this->_objectManagerHelper
-            ->getObject('Magento\Backend\Controller\Context',
-                $contextParameters);
+            ->getObject('Magento\Backend\App\Action\Context', $contextParameters);
 
         $subControllerParams = array(
             'context' => $this->_mockBackendCntCtxt,
diff --git a/dev/tests/unit/testsuite/Magento/Wishlist/Block/Item/ConfigureTest.php b/dev/tests/unit/testsuite/Magento/Wishlist/Block/Item/ConfigureTest.php
index 7e726ff22c0..25cbb1029f2 100644
--- a/dev/tests/unit/testsuite/Magento/Wishlist/Block/Item/ConfigureTest.php
+++ b/dev/tests/unit/testsuite/Magento/Wishlist/Block/Item/ConfigureTest.php
@@ -63,16 +63,17 @@ class ConfigureTest extends \PHPUnit_Framework_TestCase
         $this->_mockCoreData = $this->getMockBuilder('Magento\Core\Helper\Data')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->_mockContext = $this->getMockBuilder('Magento\Core\Block\Template\Context')
+        $this->_mockContext = $this->getMockBuilder('Magento\View\Block\Template\Context')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockRegistry = $this->getMockBuilder('Magento\Core\Model\Registry')
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_model = new \Magento\Wishlist\Block\Item\Configure($this->_mockWishlistData,
-            $this->_mockCoreData,
+        $this->_model = new \Magento\Wishlist\Block\Item\Configure(
             $this->_mockContext,
+            $this->_mockCoreData,
+            $this->_mockWishlistData,
             $this->_mockRegistry);
     }
 
diff --git a/dev/tools/Magento/Tools/Di/Code/Scanner/InheritanceInterceptorScanner.php b/dev/tools/Magento/Tools/Di/Code/Scanner/InheritanceInterceptorScanner.php
new file mode 100644
index 00000000000..5abb8d34a2b
--- /dev/null
+++ b/dev/tools/Magento/Tools/Di/Code/Scanner/InheritanceInterceptorScanner.php
@@ -0,0 +1,54 @@
+<?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\Tools\Di\Code\Scanner;
+
+class InheritanceInterceptorScanner implements ScannerInterface
+{
+    /**
+     * Get intercepted class names
+     *
+     * @param array $classes
+     * @param array $interceptedEntities
+     * @return array
+     */
+    public function collectEntities(array $classes, array $interceptedEntities = array())
+    {
+        $output = array();
+        foreach ($classes as $class) {
+            foreach ($interceptedEntities as $interceptorClass) {
+                $interceptedEntity = substr($interceptorClass, 0, -12);
+                if (is_subclass_of($class, $interceptedEntity)) {
+                    $reflectionClass = new \ReflectionClass($class);
+                    if (!$reflectionClass->isAbstract() && !$reflectionClass->isFinal()) {
+                        $output[] = $class . '\\Interceptor';
+                    }
+                }
+            }
+        }
+        $output = array_merge($interceptedEntities, $output);
+        $output = array_unique($output);
+        return $output;
+    }
+}
diff --git a/dev/tools/Magento/Tools/Di/Compiler/Directory.php b/dev/tools/Magento/Tools/Di/Compiler/Directory.php
index d97d3485c2f..099b31e51f1 100644
--- a/dev/tools/Magento/Tools/Di/Compiler/Directory.php
+++ b/dev/tools/Magento/Tools/Di/Compiler/Directory.php
@@ -52,12 +52,19 @@ class Directory
      */
     protected $_relations;
 
+    /**
+     * @var  \Magento\Code\Validator
+     */
+    protected $_validator;
+
     /**
      * @param Log $log
+     * @param \Magento\Code\Validator $validator
      */
-    public function __construct(Log $log)
+    public function __construct(Log $log, \Magento\Code\Validator $validator)
     {
         $this->_log = $log;
+        $this->_validator = $validator;
         set_error_handler(array($this, 'errorHandler'), E_STRICT);
     }
 
@@ -77,7 +84,6 @@ class Directory
      */
     public function compile($path)
     {
-        $validator = new \Magento\Code\Validator\ConstructorIntegrity();
         $rdi = new \RecursiveDirectoryIterator(realpath($path));
         $recursiveIterator = new \RecursiveIteratorIterator($rdi, 1);
         /** @var $item \SplFileInfo */
@@ -91,7 +97,7 @@ class Directory
                         require_once $item->getRealPath();
                     }
                     try {
-                        $validator->validate($className);
+                        $this->_validator->validate($className);
                         $signatureReader = new \Magento\Code\Reader\ClassReader();
                         $this->_definitions[$className] = $signatureReader->getConstructor($className);
                         $this->_relations[$className] = $signatureReader->getParents($className);
diff --git a/dev/tools/Magento/Tools/Di/Compiler/Log/Writer/Console.php b/dev/tools/Magento/Tools/Di/Compiler/Log/Writer/Console.php
index 3e3afc06830..3c37565c673 100644
--- a/dev/tools/Magento/Tools/Di/Compiler/Log/Writer/Console.php
+++ b/dev/tools/Magento/Tools/Di/Compiler/Log/Writer/Console.php
@@ -44,6 +44,7 @@ class Console implements WriterInterface
      */
     public function write(array $data)
     {
+        $errorsCount = 0;
         foreach ($data as $type => $classes) {
             if (!count($classes)) {
                 continue;
@@ -55,10 +56,17 @@ class Console implements WriterInterface
                     foreach ($messages as $message) {
                         if ($message) {
                             echo "\t\t - " . $message . "\n";
+                            if ($type != Log::GENERATION_SUCCESS) {
+                                $errorsCount++;
+                            }
                         }
                     }
                 }
             }
         }
+
+        if ($errorsCount) {
+            echo 'Total Errors Count: ' . $errorsCount . "\n";
+        }
     }
 }
diff --git a/dev/tools/Magento/Tools/Di/compiler.php b/dev/tools/Magento/Tools/Di/compiler.php
index 10b90276ada..a2d5a6d8a9f 100644
--- a/dev/tools/Magento/Tools/Di/compiler.php
+++ b/dev/tools/Magento/Tools/Di/compiler.php
@@ -70,6 +70,10 @@ try {
     $log = new Log($logWriter, $errorWriter);
     $serializer = ($opt->getOption('serializer') == 'binary') ? new Serializer\Igbinary() : new Serializer\Standard();
 
+    $validator = new \Magento\Code\Validator();
+    $validator->add(new \Magento\Code\Validator\ConstructorIntegrity());
+    $validator->add(new \Magento\Code\Validator\ContextAggregation());
+
     // 1 Code generation
     // 1.1 Code scan
     $directoryScanner = new Scanner\DirectoryScanner();
@@ -84,12 +88,13 @@ try {
     $entities = $scanner->collectEntities($files);
 
     $interceptorScanner = new Scanner\XmlInterceptorScanner();
-    $entities['di'] = array_merge($entities['di'], $interceptorScanner->collectEntities($files['di']));
+    $entities['interceptors'] = $interceptorScanner->collectEntities($files['di']);
 
     // 1.2 Generation of Factory and Additional Classes
     $generatorIo = new \Magento\Code\Generator\Io(null, null, $generationDir);
     $generator = new \Magento\Code\Generator(null, null, $generatorIo);
     foreach (array('php', 'additional') as $type) {
+        sort($entities[$type]);
         foreach ($entities[$type] as $entityName) {
             switch ($generator->generateClass($entityName)) {
                 case \Magento\Code\Generator::GENERATION_SUCCESS:
@@ -110,31 +115,37 @@ try {
 
     // 2. Compilation
     // 2.1 Code scan
-    $directoryCompiler = new Directory($log);
+    $directoryCompiler = new Directory($log, $validator);
     foreach ($compilationDirs as $path) {
         if (is_readable($path)) {
             $directoryCompiler->compile($path);
         }
     }
 
+    $inheritanceScanner = new Scanner\InheritanceInterceptorScanner();
+    $entities['interceptors'] = $inheritanceScanner->collectEntities(get_declared_classes(), $entities['interceptors']);
+
     // 2.1.1 Generation of Proxy and Interceptor Classes
-    foreach ($entities['di'] as $entityName) {
-        switch ($generator->generateClass($entityName)) {
-            case \Magento\Code\Generator::GENERATION_SUCCESS:
-                $log->add(Log::GENERATION_SUCCESS, $entityName);
-                break;
-
-            case \Magento\Code\Generator::GENERATION_ERROR:
-                $log->add(Log::GENERATION_ERROR, $entityName);
-                break;
-
-            case \Magento\Code\Generator::GENERATION_SKIP:
-            default:
-                //no log
-                break;
+    foreach (array('interceptors', 'di') as $type) {
+        foreach ($entities[$type] as $entityName) {
+            switch ($generator->generateClass($entityName)) {
+                case \Magento\Code\Generator::GENERATION_SUCCESS:
+                    $log->add(Log::GENERATION_SUCCESS, $entityName);
+                    break;
+
+                case \Magento\Code\Generator::GENERATION_ERROR:
+                    $log->add(Log::GENERATION_ERROR, $entityName);
+                    break;
+
+                case \Magento\Code\Generator::GENERATION_SKIP:
+                default:
+                    //no log
+                    break;
+            }
         }
     }
 
+
     //2.1.2 Compile definitions for Proxy/Interceptor classes
     $directoryCompiler->compile($generationDir);
 
diff --git a/dev/tools/Magento/Tools/Migration/Acl/log/AclXPathToAclId.log b/dev/tools/Magento/Tools/Migration/Acl/log/AclXPathToAclId.log
index 0e63dbfbe53..563cc95a6b8 100644
--- a/dev/tools/Magento/Tools/Migration/Acl/log/AclXPathToAclId.log
+++ b/dev/tools/Magento/Tools/Migration/Acl/log/AclXPathToAclId.log
@@ -1 +1 @@
-{"config\/acl\/resources\/admin\/cms\/magento_banner":"Magento_Banner::magento_banner","config\/acl\/resources\/admin\/catalog\/events":"Magento_CatalogEvent::events","config\/acl\/resources\/admin\/system\/config\/magento_catalogpermissions":"Magento_CatalogPermissions::magento_catalogpermissions","config\/acl\/resources\/admin\/catalog\/magento_catalogpermissions":"Magento_CatalogPermissions::catalog_magento_catalogpermissions","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout":"Magento_AdvancedCheckout::magento_advancedcheckout","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout\/view":"Magento_AdvancedCheckout::view","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout\/update":"Magento_AdvancedCheckout::update","config\/acl\/resources\/admin\/cms\/page\/save_revision":"Magento_VersionsCms::save_revision","config\/acl\/resources\/admin\/cms\/page\/delete_revision":"Magento_VersionsCms::delete_revision","config\/acl\/resources\/admin\/cms\/page\/publish_revision":"Magento_VersionsCms::publish_revision","config\/acl\/resources\/admin\/cms\/hierarchy":"Magento_VersionsCms::hierarchy","config\/acl\/resources\/admin\/customer\/customersegment":"Magento_CustomerSegment::customersegment","config\/acl\/resources\/admin\/report\/customers\/segment":"Magento_CustomerSegment::segment","config\/acl\/resources\/admin\/customer\/attributes":"Magento_CustomerCustomAttributes::attributes","config\/acl\/resources\/admin\/customer\/attributes\/customer_attributes":"Magento_CustomerCustomAttributes::customer_attributes","config\/acl\/resources\/admin\/customer\/attributes\/customer_address_attributes":"Magento_CustomerCustomAttributes::customer_address_attributes","config\/acl\/resources\/admin\/system\/config\/giftcardaccount":"Magento_GiftCardAccount::giftcardaccount","config\/acl\/resources\/admin\/customer\/giftcardaccount":"Magento_GiftCardAccount::customer_giftcardaccount","config\/acl\/resources\/admin\/system\/config\/giftcard":"Magento_GiftCard::giftcard","config\/acl\/resources\/admin\/system\/config\/magento_giftregistry":"Magento_GiftRegistry::magento_giftregistry","config\/acl\/resources\/admin\/customer\/magento_giftregistry":"Magento_GiftRegistry::customer_magento_giftregistry","config\/acl\/resources\/admin\/sales\/magento_giftwrapping":"Magento_GiftWrapping::magento_giftwrapping","config\/acl\/resources\/admin\/system\/convert\/enterprise_scheduled_operation":"Magento_ScheduledImportExport::enterprise_scheduled_operation","config\/acl\/resources\/admin\/customer\/magento_invitation":"Magento_Invitation::magento_invitation","config\/acl\/resources\/admin\/report\/magento_invitation":"Magento_Invitation::report_magento_invitation","config\/acl\/resources\/admin\/report\/magento_invitation\/general":"Magento_Invitation::general","config\/acl\/resources\/admin\/report\/magento_invitation\/customer":"Magento_Invitation::magento_invitation_customer","config\/acl\/resources\/admin\/report\/magento_invitation\/order":"Magento_Invitation::order","config\/acl\/resources\/admin\/system\/config\/magento_invitation":"Magento_Invitation::config_magento_invitation","config\/acl\/resources\/admin\/system\/config\/logging":"Magento_Logging::logging","config\/acl\/resources\/admin\/system\/magento_logging":"Magento_Logging::magento_logging","config\/acl\/resources\/admin\/system\/magento_logging\/events":"Magento_Logging::magento_logging_events","config\/acl\/resources\/admin\/system\/magento_logging\/backups":"Magento_Logging::backups","config\/acl\/resources\/admin\/system\/crypt_key":"Magento_Pci::crypt_key","config\/acl\/resources\/admin\/system\/acl\/locks":"Magento_Pci::locks","config\/acl\/resources\/admin\/catalog\/products\/read_product_price":"Magento_PricePermissions::read_product_price","config\/acl\/resources\/admin\/catalog\/products\/read_product_price\/edit_product_price":"Magento_PricePermissions::edit_product_price","config\/acl\/resources\/admin\/catalog\/products\/edit_product_status":"Magento_PricePermissions::edit_product_status","config\/acl\/resources\/admin\/promo\/catalog\/edit":"Magento_PromotionPermissions::edit","config\/acl\/resources\/admin\/promo\/quote\/edit":"Magento_PromotionPermissions::quote_edit","config\/acl\/resources\/admin\/promo\/magento_reminder\/edit":"Magento_PromotionPermissions::magento_reminder_edit","config\/acl\/resources\/admin\/promo\/magento_reminder":"Magento_Reminder::magento_reminder","config\/acl\/resources\/admin\/system\/config\/promo":"Magento_SalesRule::config_promo","config\/acl\/resources\/admin\/customer\/manage\/reward_balance":"Magento_Reward::reward_balance","config\/acl\/resources\/admin\/sales\/order\/actions\/create\/reward_spend":"Magento_Reward::reward_spend","config\/acl\/resources\/admin\/customer\/rates":"Magento_Reward::rates","config\/acl\/resources\/admin\/system\/config\/magento_reward":"Magento_Reward::magento_reward","config\/acl\/resources\/admin\/sales\/magento_rma":"Magento_Rma::magento_rma","config\/acl\/resources\/admin\/sales\/magento_rma\/rma_manage":"Magento_Rma::rma_manage","config\/acl\/resources\/admin\/sales\/magento_rma\/rma_attribute":"Magento_Rma::rma_attribute","config\/acl\/resources\/admin\/sales\/archive":"Magento_SalesArchive::archive","config\/acl\/resources\/admin\/sales\/archive\/orders":"Magento_SalesArchive::orders","config\/acl\/resources\/admin\/sales\/archive\/orders\/add":"Magento_SalesArchive::add","config\/acl\/resources\/admin\/sales\/archive\/orders\/remove":"Magento_SalesArchive::remove","config\/acl\/resources\/admin\/sales\/archive\/invoices":"Magento_SalesArchive::invoices","config\/acl\/resources\/admin\/sales\/archive\/shipments":"Magento_SalesArchive::shipments","config\/acl\/resources\/admin\/sales\/archive\/creditmemos":"Magento_SalesArchive::creditmemos","config\/acl\/resources\/admin\/catalog\/targetrule":"Magento_TargetRule::targetrule","config\/acl\/resources\/admin\/report\/customers\/wishlist":"Magento_MultipleWishlist::wishlist","config\/acl\/resources\/admin\/system\/adminnotification":"Magento_AdminNotification::adminnotification","config\/acl\/resources\/admin\/system\/adminnotification\/show_toolbar":"Magento_AdminNotification::show_toolbar","config\/acl\/resources\/admin\/system\/adminnotification\/show_list":"Magento_AdminNotification::show_list","config\/acl\/resources\/admin\/system\/adminnotification\/mark_as_read":"Magento_AdminNotification::mark_as_read","config\/acl\/resources\/admin\/system\/adminnotification\/remove":"Magento_AdminNotification::adminnotification_remove","config\/acl\/resources\/all":"Magento_Adminhtml::all","config\/acl\/resources\/admin":"Magento_Adminhtml::admin","config\/acl\/resources\/admin\/dashboard":"Magento_Adminhtml::dashboard","config\/acl\/resources\/admin\/system":"Magento_Adminhtml::system","config\/acl\/resources\/admin\/system\/store":"Magento_Adminhtml::store","config\/acl\/resources\/admin\/system\/design":"Magento_Adminhtml::design","config\/acl\/resources\/admin\/system\/design\/schedule":"Magento_Adminhtml::schedule","config\/acl\/resources\/admin\/system\/config":"Magento_Adminhtml::config","config\/acl\/resources\/admin\/system\/config\/general":"Magento_Adminhtml::config_general","config\/acl\/resources\/admin\/system\/config\/web":"Magento_Adminhtml::web","config\/acl\/resources\/admin\/system\/config\/design":"Magento_Adminhtml::config_design","config\/acl\/resources\/admin\/system\/config\/system":"Magento_Adminhtml::config_system","config\/acl\/resources\/admin\/system\/config\/advanced":"Magento_Adminhtml::advanced","config\/acl\/resources\/admin\/system\/config\/trans_email":"Magento_Adminhtml::trans_email","config\/acl\/resources\/admin\/system\/config\/dev":"Magento_Adminhtml::dev","config\/acl\/resources\/admin\/system\/config\/currency":"Magento_Adminhtml::currency","config\/acl\/resources\/admin\/system\/config\/sendfriend":"Magento_Adminhtml::sendfriend","config\/acl\/resources\/admin\/system\/config\/admin":"Magento_Adminhtml::config_admin","config\/acl\/resources\/admin\/system\/currency":"Magento_CurrencySymbol::system_currency","config\/acl\/resources\/admin\/system\/email_template":"Magento_Adminhtml::email_template","config\/acl\/resources\/admin\/system\/variable":"Magento_Adminhtml::variable","config\/acl\/resources\/admin\/system\/myaccount":"Magento_Adminhtml::myaccount","config\/acl\/resources\/admin\/system\/tools":"Magento_Adminhtml::tools","config\/acl\/resources\/admin\/system\/convert":"Magento_Adminhtml::convert","config\/acl\/resources\/admin\/system\/cache":"Magento_Adminhtml::cache","config\/acl\/resources\/admin\/system\/extensions":"Magento_Adminhtml::extensions","config\/acl\/resources\/admin\/system\/extensions\/local":"Magento_Adminhtml::local","config\/acl\/resources\/admin\/system\/extensions\/custom":"Magento_Adminhtml::custom","config\/acl\/resources\/admin\/global_search":"Magento_Adminhtml::global_search","config\/acl\/resources\/admin\/system\/tools\/backup":"Magento_Backup::backup","config\/acl\/resources\/admin\/system\/tools\/backup\/rollback":"Magento_Backup::rollback","config\/acl\/resources\/admin\/system\/config\/cataloginventory":"Magento_CatalogInventory::cataloginventory","config\/acl\/resources\/admin\/promo":"Magento_CatalogRule::promo","config\/acl\/resources\/admin\/promo\/catalog":"Magento_CatalogRule::promo_catalog","config\/acl\/resources\/admin\/catalog\/search":"Magento_CatalogSearch::search","config\/acl\/resources\/admin\/system\/config\/catalog":"Magento_Catalog::config_catalog","config\/acl\/resources\/admin\/catalog":"Magento_Catalog::catalog","config\/acl\/resources\/admin\/catalog\/attributes":"Magento_Catalog::catalog_attributes","config\/acl\/resources\/admin\/catalog\/attributes\/attributes":"Magento_Catalog::attributes_attributes","config\/acl\/resources\/admin\/catalog\/attributes\/sets":"Magento_Catalog::sets","config\/acl\/resources\/admin\/catalog\/categories":"Magento_Catalog::categories","config\/acl\/resources\/admin\/catalog\/products":"Magento_Catalog::products","config\/acl\/resources\/admin\/catalog\/update_attributes":"Magento_Catalog::update_attributes","config\/acl\/resources\/admin\/catalog\/urlrewrite":"Magento_Catalog::urlrewrite","config\/acl\/resources\/admin\/sales\/checkoutagreement":"Magento_Checkout::checkoutagreement","config\/acl\/resources\/admin\/system\/config\/checkout":"Magento_Checkout::checkout","config\/acl\/resources\/admin\/cms":"Magento_Cms::cms","config\/acl\/resources\/admin\/cms\/block":"Magento_Cms::block","config\/acl\/resources\/admin\/cms\/page":"Magento_Cms::page","config\/acl\/resources\/admin\/cms\/page\/save":"Magento_Cms::save","config\/acl\/resources\/admin\/cms\/page\/delete":"Magento_Cms::page_delete","config\/acl\/resources\/admin\/cms\/media_gallery":"Magento_Cms::media_gallery","config\/acl\/resources\/admin\/system\/config\/cms":"Magento_Cms::config_cms","config\/acl\/resources\/admin\/system\/config\/contacts":"Magento_Contacts::contacts","config\/acl\/resources\/admin\/system\/currency\/rates":"Magento_CurrencySymbol::currency_rates","config\/acl\/resources\/admin\/system\/currency\/symbols":"Magento_CurrencySymbol::symbols","config\/acl\/resources\/admin\/customer":"Magento_Customer::customer","config\/acl\/resources\/admin\/customer\/group":"Magento_Customer::group","config\/acl\/resources\/admin\/customer\/manage":"Magento_Customer::manage","config\/acl\/resources\/admin\/customer\/online":"Magento_Customer::online","config\/acl\/resources\/admin\/system\/config\/customer":"Magento_Customer::config_customer","config\/acl\/resources\/admin\/system\/design\/editor":"Magento_DesignEditor::editor","config\/acl\/resources\/admin\/system\/config\/downloadable":"Magento_Downloadable::downloadable","config\/acl\/resources\/admin\/system\/config\/google":"Magento_GoogleCheckout::google","config\/acl\/resources\/admin\/catalog\/googleshopping":"Magento_GoogleShopping::googleshopping","config\/acl\/resources\/admin\/catalog\/googleshopping\/types":"Magento_GoogleShopping::types","config\/acl\/resources\/admin\/catalog\/googleshopping\/items":"Magento_GoogleShopping::items","config\/acl\/resources\/admin\/system\/convert\/import":"Magento_ImportExport::import","config\/acl\/resources\/admin\/system\/convert\/export":"Magento_ImportExport::export","config\/acl\/resources\/admin\/system\/index":"Magento_Index::index","config\/acl\/resources\/admin\/system\/config\/newsletter":"Magento_Newsletter::newsletter","config\/acl\/resources\/admin\/newsletter":"Magento_Newsletter::admin_newsletter","config\/acl\/resources\/admin\/newsletter\/problem":"Magento_Newsletter::problem","config\/acl\/resources\/admin\/newsletter\/queue":"Magento_Newsletter::queue","config\/acl\/resources\/admin\/newsletter\/subscriber":"Magento_Newsletter::subscriber","config\/acl\/resources\/admin\/newsletter\/template":"Magento_Newsletter::template","config\/acl\/resources\/admin\/page_cache":"Magento_PageCache::page_cache","config\/acl\/resources\/admin\/system\/config\/payment":"Magento_Payment::payment","config\/acl\/resources\/admin\/system\/config\/payment_services":"Magento_Payment::payment_services","config\/acl\/resources\/admin\/system\/config\/paypal":"Magento_Paypal::paypal","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports":"Magento_Paypal::paypal_settlement_reports","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports\/view":"Magento_Paypal::paypal_settlement_reports_view","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports\/fetch":"Magento_Paypal::fetch","config\/acl\/resources\/admin\/system\/config\/persistent":"Magento_Persistent::persistent","config\/acl\/resources\/admin\/cms\/poll":"Magento_Poll::poll","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/ratings":"Magento_Rating::ratings","config\/acl\/resources\/admin\/report":"Magento_Reports::report","config\/acl\/resources\/admin\/report\/salesroot":"Magento_Reports::salesroot","config\/acl\/resources\/admin\/report\/salesroot\/sales":"Magento_Reports::salesroot_sales","config\/acl\/resources\/admin\/report\/salesroot\/tax":"Magento_Reports::tax","config\/acl\/resources\/admin\/report\/salesroot\/shipping":"Magento_Reports::shipping","config\/acl\/resources\/admin\/report\/salesroot\/invoiced":"Magento_Reports::invoiced","config\/acl\/resources\/admin\/report\/salesroot\/refunded":"Magento_Reports::refunded","config\/acl\/resources\/admin\/report\/salesroot\/coupons":"Magento_Reports::coupons","config\/acl\/resources\/admin\/report\/shopcart":"Magento_Reports::shopcart","config\/acl\/resources\/admin\/report\/shopcart\/product":"Magento_Reports::product","config\/acl\/resources\/admin\/report\/shopcart\/abandoned":"Magento_Reports::abandoned","config\/acl\/resources\/admin\/report\/products":"Magento_Reports::report_products","config\/acl\/resources\/admin\/report\/products\/bestsellers":"Magento_Reports::bestsellers","config\/acl\/resources\/admin\/report\/products\/sold":"Magento_Reports::sold","config\/acl\/resources\/admin\/report\/products\/viewed":"Magento_Reports::viewed","config\/acl\/resources\/admin\/report\/products\/lowstock":"Magento_Reports::lowstock","config\/acl\/resources\/admin\/report\/products\/downloads":"Magento_Reports::downloads","config\/acl\/resources\/admin\/report\/customers":"Magento_Reports::customers","config\/acl\/resources\/admin\/report\/customers\/accounts":"Magento_Reports::accounts","config\/acl\/resources\/admin\/report\/customers\/totals":"Magento_Reports::totals","config\/acl\/resources\/admin\/report\/customers\/orders":"Magento_Reports::customers_orders","config\/acl\/resources\/admin\/report\/review":"Magento_Reports::review","config\/acl\/resources\/admin\/report\/review\/customer":"Magento_Reports::review_customer","config\/acl\/resources\/admin\/report\/review\/product":"Magento_Reports::review_product","config\/acl\/resources\/admin\/report\/tags":"Magento_Reports::tags","config\/acl\/resources\/admin\/report\/tags\/customer":"Magento_Reports::tags_customer","config\/acl\/resources\/admin\/report\/tags\/popular":"Magento_Reports::popular","config\/acl\/resources\/admin\/report\/tags\/product":"Magento_Reports::tags_product","config\/acl\/resources\/admin\/report\/search":"Magento_Reports::report_search","config\/acl\/resources\/admin\/report\/statistics":"Magento_Reports::statistics","config\/acl\/resources\/admin\/system\/config\/reports":"Magento_Reports::reports","config\/acl\/resources\/admin\/catalog\/reviews_ratings":"Magento_Review::reviews_ratings","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews":"Magento_Review::reviews","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews\/all":"Magento_Review::reviews_all","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews\/pending":"Magento_Review::pending","config\/acl\/resources\/admin\/system\/config\/rss":"Magento_Rss::rss","config\/acl\/resources\/admin\/promo\/quote":"Magento_SalesRule::quote","config\/acl\/resources\/admin\/sales":"Magento_Sales::sales","config\/acl\/resources\/admin\/sales\/order":"Magento_Sales::sales_order","config\/acl\/resources\/admin\/sales\/order\/actions":"Magento_Sales::actions","config\/acl\/resources\/admin\/sales\/order\/actions\/create":"Magento_Sales::create","config\/acl\/resources\/admin\/sales\/order\/actions\/view":"Magento_Sales::actions_view","config\/acl\/resources\/admin\/sales\/order\/actions\/email":"Magento_Sales::email","config\/acl\/resources\/admin\/sales\/order\/actions\/reorder":"Magento_Sales::reorder","config\/acl\/resources\/admin\/sales\/order\/actions\/edit":"Magento_Sales::actions_edit","config\/acl\/resources\/admin\/sales\/order\/actions\/cancel":"Magento_Sales::cancel","config\/acl\/resources\/admin\/sales\/order\/actions\/review_payment":"Magento_Sales::review_payment","config\/acl\/resources\/admin\/sales\/order\/actions\/capture":"Magento_Sales::capture","config\/acl\/resources\/admin\/sales\/order\/actions\/invoice":"Magento_Sales::invoice","config\/acl\/resources\/admin\/sales\/order\/actions\/creditmemo":"Magento_Sales::creditmemo","config\/acl\/resources\/admin\/sales\/order\/actions\/hold":"Magento_Sales::hold","config\/acl\/resources\/admin\/sales\/order\/actions\/unhold":"Magento_Sales::unhold","config\/acl\/resources\/admin\/sales\/order\/actions\/ship":"Magento_Sales::ship","config\/acl\/resources\/admin\/sales\/order\/actions\/comment":"Magento_Sales::comment","config\/acl\/resources\/admin\/sales\/order\/actions\/emails":"Magento_Sales::emails","config\/acl\/resources\/admin\/sales\/invoice":"Magento_Sales::sales_invoice","config\/acl\/resources\/admin\/sales\/shipment":"Magento_Sales::shipment","config\/acl\/resources\/admin\/sales\/creditmemo":"Magento_Sales::sales_creditmemo","config\/acl\/resources\/admin\/sales\/transactions":"Magento_Sales::transactions","config\/acl\/resources\/admin\/sales\/transactions\/fetch":"Magento_Sales::transactions_fetch","config\/acl\/resources\/admin\/sales\/recurring_profile":"Magento_Sales::recurring_profile","config\/acl\/resources\/admin\/sales\/billing_agreement":"Magento_Sales::billing_agreement","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions":"Magento_Sales::billing_agreement_actions","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/view":"Magento_Sales::billing_agreement_actions_view","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/manage":"Magento_Sales::actions_manage","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/use":"Magento_Sales::use","config\/acl\/resources\/admin\/system\/order_statuses":"Magento_Sales::order_statuses","config\/acl\/resources\/admin\/system\/config\/sales":"Magento_Sales::config_sales","config\/acl\/resources\/admin\/system\/config\/sales_email":"Magento_Sales::sales_email","config\/acl\/resources\/admin\/system\/config\/sales_pdf":"Magento_Sales::sales_pdf","config\/acl\/resources\/admin\/system\/config\/shipping":"Magento_Shipping::config_shipping","config\/acl\/resources\/admin\/system\/config\/carriers":"Magento_Shipping::carriers","config\/acl\/resources\/admin\/catalog\/sitemap":"Magento_Sitemap::sitemap","config\/acl\/resources\/admin\/system\/config\/sitemap":"Magento_Sitemap::config_sitemap","config\/acl\/resources\/admin\/sales\/tax":"Magento_Tax::sales_tax","config\/acl\/resources\/admin\/sales\/tax\/classes_customer":"Magento_Tax::classes_customer","config\/acl\/resources\/admin\/sales\/tax\/classes_product":"Magento_Tax::classes_product","config\/acl\/resources\/admin\/sales\/tax\/import_export":"Magento_Tax::import_export","config\/acl\/resources\/admin\/sales\/tax\/rates":"Magento_Tax::tax_rates","config\/acl\/resources\/admin\/sales\/tax\/rules":"Magento_Tax::rules","config\/acl\/resources\/admin\/system\/config\/tax":"Magento_Tax::config_tax","config\/acl\/resources\/admin\/system\/acl":"Magento_User::acl","config\/acl\/resources\/admin\/system\/acl\/roles":"Magento_User::acl_roles","config\/acl\/resources\/admin\/system\/acl\/users":"Magento_User::acl_users","config\/acl\/resources\/admin\/cms\/widget_instance":"Magento_Widget::widget_instance","config\/acl\/resources\/admin\/system\/config\/wishlist":"Magento_Wishlist::config_wishlist"}
+{"config\/acl\/resources\/admin\/cms\/magento_banner":"Magento_Banner::magento_banner","config\/acl\/resources\/admin\/catalog\/events":"Magento_CatalogEvent::events","config\/acl\/resources\/admin\/system\/config\/magento_catalogpermissions":"Magento_CatalogPermissions::magento_catalogpermissions","config\/acl\/resources\/admin\/catalog\/magento_catalogpermissions":"Magento_CatalogPermissions::catalog_magento_catalogpermissions","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout":"Magento_AdvancedCheckout::magento_advancedcheckout","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout\/view":"Magento_AdvancedCheckout::view","config\/acl\/resources\/admin\/sales\/magento_advancedcheckout\/update":"Magento_AdvancedCheckout::update","config\/acl\/resources\/admin\/cms\/page\/save_revision":"Magento_VersionsCms::save_revision","config\/acl\/resources\/admin\/cms\/page\/delete_revision":"Magento_VersionsCms::delete_revision","config\/acl\/resources\/admin\/cms\/page\/publish_revision":"Magento_VersionsCms::publish_revision","config\/acl\/resources\/admin\/cms\/hierarchy":"Magento_VersionsCms::hierarchy","config\/acl\/resources\/admin\/customer\/customersegment":"Magento_CustomerSegment::customersegment","config\/acl\/resources\/admin\/report\/customers\/segment":"Magento_CustomerSegment::segment","config\/acl\/resources\/admin\/customer\/attributes":"Magento_CustomerCustomAttributes::attributes","config\/acl\/resources\/admin\/customer\/attributes\/customer_attributes":"Magento_CustomerCustomAttributes::customer_attributes","config\/acl\/resources\/admin\/customer\/attributes\/customer_address_attributes":"Magento_CustomerCustomAttributes::customer_address_attributes","config\/acl\/resources\/admin\/system\/config\/giftcardaccount":"Magento_GiftCardAccount::giftcardaccount","config\/acl\/resources\/admin\/customer\/giftcardaccount":"Magento_GiftCardAccount::customer_giftcardaccount","config\/acl\/resources\/admin\/system\/config\/giftcard":"Magento_GiftCard::giftcard","config\/acl\/resources\/admin\/system\/config\/magento_giftregistry":"Magento_GiftRegistry::magento_giftregistry","config\/acl\/resources\/admin\/customer\/magento_giftregistry":"Magento_GiftRegistry::customer_magento_giftregistry","config\/acl\/resources\/admin\/sales\/magento_giftwrapping":"Magento_GiftWrapping::magento_giftwrapping","config\/acl\/resources\/admin\/system\/convert\/enterprise_scheduled_operation":"Magento_ScheduledImportExport::enterprise_scheduled_operation","config\/acl\/resources\/admin\/customer\/magento_invitation":"Magento_Invitation::magento_invitation","config\/acl\/resources\/admin\/report\/magento_invitation":"Magento_Invitation::report_magento_invitation","config\/acl\/resources\/admin\/report\/magento_invitation\/general":"Magento_Invitation::general","config\/acl\/resources\/admin\/report\/magento_invitation\/customer":"Magento_Invitation::magento_invitation_customer","config\/acl\/resources\/admin\/report\/magento_invitation\/order":"Magento_Invitation::order","config\/acl\/resources\/admin\/system\/config\/magento_invitation":"Magento_Invitation::config_magento_invitation","config\/acl\/resources\/admin\/system\/config\/logging":"Magento_Logging::logging","config\/acl\/resources\/admin\/system\/magento_logging":"Magento_Logging::magento_logging","config\/acl\/resources\/admin\/system\/magento_logging\/events":"Magento_Logging::magento_logging_events","config\/acl\/resources\/admin\/system\/magento_logging\/backups":"Magento_Logging::backups","config\/acl\/resources\/admin\/system\/crypt_key":"Magento_Pci::crypt_key","config\/acl\/resources\/admin\/system\/acl\/locks":"Magento_Pci::locks","config\/acl\/resources\/admin\/catalog\/products\/read_product_price":"Magento_PricePermissions::read_product_price","config\/acl\/resources\/admin\/catalog\/products\/read_product_price\/edit_product_price":"Magento_PricePermissions::edit_product_price","config\/acl\/resources\/admin\/catalog\/products\/edit_product_status":"Magento_PricePermissions::edit_product_status","config\/acl\/resources\/admin\/promo\/catalog\/edit":"Magento_PromotionPermissions::edit","config\/acl\/resources\/admin\/promo\/quote\/edit":"Magento_PromotionPermissions::quote_edit","config\/acl\/resources\/admin\/promo\/magento_reminder\/edit":"Magento_PromotionPermissions::magento_reminder_edit","config\/acl\/resources\/admin\/promo\/magento_reminder":"Magento_Reminder::magento_reminder","config\/acl\/resources\/admin\/system\/config\/promo":"Magento_SalesRule::config_promo","config\/acl\/resources\/admin\/customer\/manage\/reward_balance":"Magento_Reward::reward_balance","config\/acl\/resources\/admin\/sales\/order\/actions\/create\/reward_spend":"Magento_Reward::reward_spend","config\/acl\/resources\/admin\/customer\/rates":"Magento_Reward::rates","config\/acl\/resources\/admin\/system\/config\/magento_reward":"Magento_Reward::magento_reward","config\/acl\/resources\/admin\/sales\/magento_rma":"Magento_Rma::magento_rma","config\/acl\/resources\/admin\/sales\/magento_rma\/rma_manage":"Magento_Rma::rma_manage","config\/acl\/resources\/admin\/sales\/magento_rma\/rma_attribute":"Magento_Rma::rma_attribute","config\/acl\/resources\/admin\/sales\/archive":"Magento_SalesArchive::archive","config\/acl\/resources\/admin\/sales\/archive\/orders":"Magento_SalesArchive::orders","config\/acl\/resources\/admin\/sales\/archive\/orders\/add":"Magento_SalesArchive::add","config\/acl\/resources\/admin\/sales\/archive\/orders\/remove":"Magento_SalesArchive::remove","config\/acl\/resources\/admin\/sales\/archive\/invoices":"Magento_SalesArchive::invoices","config\/acl\/resources\/admin\/sales\/archive\/shipments":"Magento_SalesArchive::shipments","config\/acl\/resources\/admin\/sales\/archive\/creditmemos":"Magento_SalesArchive::creditmemos","config\/acl\/resources\/admin\/catalog\/targetrule":"Magento_TargetRule::targetrule","config\/acl\/resources\/admin\/report\/customers\/wishlist":"Magento_MultipleWishlist::wishlist","config\/acl\/resources\/admin\/system\/adminnotification":"Magento_AdminNotification::adminnotification","config\/acl\/resources\/admin\/system\/adminnotification\/show_toolbar":"Magento_AdminNotification::show_toolbar","config\/acl\/resources\/admin\/system\/adminnotification\/show_list":"Magento_AdminNotification::show_list","config\/acl\/resources\/admin\/system\/adminnotification\/mark_as_read":"Magento_AdminNotification::mark_as_read","config\/acl\/resources\/admin\/system\/adminnotification\/remove":"Magento_AdminNotification::adminnotification_remove","config\/acl\/resources\/all":"Magento_Adminhtml::all","config\/acl\/resources\/admin":"Magento_Adminhtml::admin","config\/acl\/resources\/admin\/dashboard":"Magento_Adminhtml::dashboard","config\/acl\/resources\/admin\/system":"Magento_Adminhtml::system","config\/acl\/resources\/admin\/system\/store":"Magento_Adminhtml::store","config\/acl\/resources\/admin\/system\/design":"Magento_Adminhtml::design","config\/acl\/resources\/admin\/system\/design\/schedule":"Magento_Adminhtml::schedule","config\/acl\/resources\/admin\/system\/config":"Magento_Adminhtml::config","config\/acl\/resources\/admin\/system\/config\/general":"Magento_Adminhtml::config_general","config\/acl\/resources\/admin\/system\/config\/web":"Magento_Adminhtml::web","config\/acl\/resources\/admin\/system\/config\/design":"Magento_Adminhtml::config_design","config\/acl\/resources\/admin\/system\/config\/system":"Magento_Adminhtml::config_system","config\/acl\/resources\/admin\/system\/config\/advanced":"Magento_Adminhtml::advanced","config\/acl\/resources\/admin\/system\/config\/trans_email":"Magento_Adminhtml::trans_email","config\/acl\/resources\/admin\/system\/config\/dev":"Magento_Adminhtml::dev","config\/acl\/resources\/admin\/system\/config\/currency":"Magento_Adminhtml::currency","config\/acl\/resources\/admin\/system\/config\/sendfriend":"Magento_Adminhtml::sendfriend","config\/acl\/resources\/admin\/system\/config\/admin":"Magento_Adminhtml::config_admin","config\/acl\/resources\/admin\/system\/currency":"Magento_CurrencySymbol::system_currency","config\/acl\/resources\/admin\/system\/email_template":"Magento_Email::template","config\/acl\/resources\/admin\/system\/variable":"Magento_Adminhtml::variable","config\/acl\/resources\/admin\/system\/myaccount":"Magento_Adminhtml::myaccount","config\/acl\/resources\/admin\/system\/tools":"Magento_Adminhtml::tools","config\/acl\/resources\/admin\/system\/convert":"Magento_Adminhtml::convert","config\/acl\/resources\/admin\/system\/cache":"Magento_Adminhtml::cache","config\/acl\/resources\/admin\/system\/extensions":"Magento_Adminhtml::extensions","config\/acl\/resources\/admin\/system\/extensions\/local":"Magento_Adminhtml::local","config\/acl\/resources\/admin\/system\/extensions\/custom":"Magento_Adminhtml::custom","config\/acl\/resources\/admin\/global_search":"Magento_Adminhtml::global_search","config\/acl\/resources\/admin\/system\/tools\/backup":"Magento_Backup::backup","config\/acl\/resources\/admin\/system\/tools\/backup\/rollback":"Magento_Backup::rollback","config\/acl\/resources\/admin\/system\/config\/cataloginventory":"Magento_CatalogInventory::cataloginventory","config\/acl\/resources\/admin\/promo":"Magento_CatalogRule::promo","config\/acl\/resources\/admin\/promo\/catalog":"Magento_CatalogRule::promo_catalog","config\/acl\/resources\/admin\/catalog\/search":"Magento_CatalogSearch::search","config\/acl\/resources\/admin\/system\/config\/catalog":"Magento_Catalog::config_catalog","config\/acl\/resources\/admin\/catalog":"Magento_Catalog::catalog","config\/acl\/resources\/admin\/catalog\/attributes":"Magento_Catalog::catalog_attributes","config\/acl\/resources\/admin\/catalog\/attributes\/attributes":"Magento_Catalog::attributes_attributes","config\/acl\/resources\/admin\/catalog\/attributes\/sets":"Magento_Catalog::sets","config\/acl\/resources\/admin\/catalog\/categories":"Magento_Catalog::categories","config\/acl\/resources\/admin\/catalog\/products":"Magento_Catalog::products","config\/acl\/resources\/admin\/catalog\/update_attributes":"Magento_Catalog::update_attributes","config\/acl\/resources\/admin\/catalog\/urlrewrite":"Magento_Catalog::urlrewrite","config\/acl\/resources\/admin\/sales\/checkoutagreement":"Magento_Checkout::checkoutagreement","config\/acl\/resources\/admin\/system\/config\/checkout":"Magento_Checkout::checkout","config\/acl\/resources\/admin\/cms":"Magento_Cms::cms","config\/acl\/resources\/admin\/cms\/block":"Magento_Cms::block","config\/acl\/resources\/admin\/cms\/page":"Magento_Cms::page","config\/acl\/resources\/admin\/cms\/page\/save":"Magento_Cms::save","config\/acl\/resources\/admin\/cms\/page\/delete":"Magento_Cms::page_delete","config\/acl\/resources\/admin\/cms\/media_gallery":"Magento_Cms::media_gallery","config\/acl\/resources\/admin\/system\/config\/cms":"Magento_Cms::config_cms","config\/acl\/resources\/admin\/system\/config\/contacts":"Magento_Contacts::contacts","config\/acl\/resources\/admin\/system\/currency\/rates":"Magento_CurrencySymbol::currency_rates","config\/acl\/resources\/admin\/system\/currency\/symbols":"Magento_CurrencySymbol::symbols","config\/acl\/resources\/admin\/customer":"Magento_Customer::customer","config\/acl\/resources\/admin\/customer\/group":"Magento_Customer::group","config\/acl\/resources\/admin\/customer\/manage":"Magento_Customer::manage","config\/acl\/resources\/admin\/customer\/online":"Magento_Customer::online","config\/acl\/resources\/admin\/system\/config\/customer":"Magento_Customer::config_customer","config\/acl\/resources\/admin\/system\/design\/editor":"Magento_DesignEditor::editor","config\/acl\/resources\/admin\/system\/config\/downloadable":"Magento_Downloadable::downloadable","config\/acl\/resources\/admin\/system\/config\/google":"Magento_GoogleCheckout::google","config\/acl\/resources\/admin\/catalog\/googleshopping":"Magento_GoogleShopping::googleshopping","config\/acl\/resources\/admin\/catalog\/googleshopping\/types":"Magento_GoogleShopping::types","config\/acl\/resources\/admin\/catalog\/googleshopping\/items":"Magento_GoogleShopping::items","config\/acl\/resources\/admin\/system\/convert\/import":"Magento_ImportExport::import","config\/acl\/resources\/admin\/system\/convert\/export":"Magento_ImportExport::export","config\/acl\/resources\/admin\/system\/index":"Magento_Index::index","config\/acl\/resources\/admin\/system\/config\/newsletter":"Magento_Newsletter::newsletter","config\/acl\/resources\/admin\/newsletter":"Magento_Newsletter::admin_newsletter","config\/acl\/resources\/admin\/newsletter\/problem":"Magento_Newsletter::problem","config\/acl\/resources\/admin\/newsletter\/queue":"Magento_Newsletter::queue","config\/acl\/resources\/admin\/newsletter\/subscriber":"Magento_Newsletter::subscriber","config\/acl\/resources\/admin\/newsletter\/template":"Magento_Newsletter::template","config\/acl\/resources\/admin\/system\/config\/oauth":"Magento_Oauth::oauth","config\/acl\/resources\/admin\/page_cache":"Magento_PageCache::page_cache","config\/acl\/resources\/admin\/system\/config\/payment":"Magento_Payment::payment","config\/acl\/resources\/admin\/system\/config\/payment_services":"Magento_Payment::payment_services","config\/acl\/resources\/admin\/system\/config\/paypal":"Magento_Paypal::paypal","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports":"Magento_Paypal::paypal_settlement_reports","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports\/view":"Magento_Paypal::paypal_settlement_reports_view","config\/acl\/resources\/admin\/report\/salesroot\/paypal_settlement_reports\/fetch":"Magento_Paypal::fetch","config\/acl\/resources\/admin\/system\/config\/persistent":"Magento_Persistent::persistent","config\/acl\/resources\/admin\/cms\/poll":"Magento_Poll::poll","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/ratings":"Magento_Rating::ratings","config\/acl\/resources\/admin\/report":"Magento_Reports::report","config\/acl\/resources\/admin\/report\/salesroot":"Magento_Reports::salesroot","config\/acl\/resources\/admin\/report\/salesroot\/sales":"Magento_Reports::salesroot_sales","config\/acl\/resources\/admin\/report\/salesroot\/tax":"Magento_Reports::tax","config\/acl\/resources\/admin\/report\/salesroot\/shipping":"Magento_Reports::shipping","config\/acl\/resources\/admin\/report\/salesroot\/invoiced":"Magento_Reports::invoiced","config\/acl\/resources\/admin\/report\/salesroot\/refunded":"Magento_Reports::refunded","config\/acl\/resources\/admin\/report\/salesroot\/coupons":"Magento_Reports::coupons","config\/acl\/resources\/admin\/report\/shopcart":"Magento_Reports::shopcart","config\/acl\/resources\/admin\/report\/shopcart\/product":"Magento_Reports::product","config\/acl\/resources\/admin\/report\/shopcart\/abandoned":"Magento_Reports::abandoned","config\/acl\/resources\/admin\/report\/products":"Magento_Reports::report_products","config\/acl\/resources\/admin\/report\/products\/bestsellers":"Magento_Reports::bestsellers","config\/acl\/resources\/admin\/report\/products\/sold":"Magento_Reports::sold","config\/acl\/resources\/admin\/report\/products\/viewed":"Magento_Reports::viewed","config\/acl\/resources\/admin\/report\/products\/lowstock":"Magento_Reports::lowstock","config\/acl\/resources\/admin\/report\/products\/downloads":"Magento_Reports::downloads","config\/acl\/resources\/admin\/report\/customers":"Magento_Reports::customers","config\/acl\/resources\/admin\/report\/customers\/accounts":"Magento_Reports::accounts","config\/acl\/resources\/admin\/report\/customers\/totals":"Magento_Reports::totals","config\/acl\/resources\/admin\/report\/customers\/orders":"Magento_Reports::customers_orders","config\/acl\/resources\/admin\/report\/review":"Magento_Reports::review","config\/acl\/resources\/admin\/report\/review\/customer":"Magento_Reports::review_customer","config\/acl\/resources\/admin\/report\/review\/product":"Magento_Reports::review_product","config\/acl\/resources\/admin\/report\/tags":"Magento_Reports::tags","config\/acl\/resources\/admin\/report\/tags\/customer":"Magento_Reports::tags_customer","config\/acl\/resources\/admin\/report\/tags\/popular":"Magento_Reports::popular","config\/acl\/resources\/admin\/report\/tags\/product":"Magento_Reports::tags_product","config\/acl\/resources\/admin\/report\/search":"Magento_Reports::report_search","config\/acl\/resources\/admin\/report\/statistics":"Magento_Reports::statistics","config\/acl\/resources\/admin\/system\/config\/reports":"Magento_Reports::reports","config\/acl\/resources\/admin\/catalog\/reviews_ratings":"Magento_Review::reviews_ratings","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews":"Magento_Review::reviews","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews\/all":"Magento_Review::reviews_all","config\/acl\/resources\/admin\/catalog\/reviews_ratings\/reviews\/pending":"Magento_Review::pending","config\/acl\/resources\/admin\/system\/config\/rss":"Magento_Rss::rss","config\/acl\/resources\/admin\/promo\/quote":"Magento_SalesRule::quote","config\/acl\/resources\/admin\/sales":"Magento_Sales::sales","config\/acl\/resources\/admin\/sales\/order":"Magento_Sales::sales_order","config\/acl\/resources\/admin\/sales\/order\/actions":"Magento_Sales::actions","config\/acl\/resources\/admin\/sales\/order\/actions\/create":"Magento_Sales::create","config\/acl\/resources\/admin\/sales\/order\/actions\/view":"Magento_Sales::actions_view","config\/acl\/resources\/admin\/sales\/order\/actions\/email":"Magento_Sales::email","config\/acl\/resources\/admin\/sales\/order\/actions\/reorder":"Magento_Sales::reorder","config\/acl\/resources\/admin\/sales\/order\/actions\/edit":"Magento_Sales::actions_edit","config\/acl\/resources\/admin\/sales\/order\/actions\/cancel":"Magento_Sales::cancel","config\/acl\/resources\/admin\/sales\/order\/actions\/review_payment":"Magento_Sales::review_payment","config\/acl\/resources\/admin\/sales\/order\/actions\/capture":"Magento_Sales::capture","config\/acl\/resources\/admin\/sales\/order\/actions\/invoice":"Magento_Sales::invoice","config\/acl\/resources\/admin\/sales\/order\/actions\/creditmemo":"Magento_Sales::creditmemo","config\/acl\/resources\/admin\/sales\/order\/actions\/hold":"Magento_Sales::hold","config\/acl\/resources\/admin\/sales\/order\/actions\/unhold":"Magento_Sales::unhold","config\/acl\/resources\/admin\/sales\/order\/actions\/ship":"Magento_Sales::ship","config\/acl\/resources\/admin\/sales\/order\/actions\/comment":"Magento_Sales::comment","config\/acl\/resources\/admin\/sales\/order\/actions\/emails":"Magento_Sales::emails","config\/acl\/resources\/admin\/sales\/invoice":"Magento_Sales::sales_invoice","config\/acl\/resources\/admin\/sales\/shipment":"Magento_Sales::shipment","config\/acl\/resources\/admin\/sales\/creditmemo":"Magento_Sales::sales_creditmemo","config\/acl\/resources\/admin\/sales\/transactions":"Magento_Sales::transactions","config\/acl\/resources\/admin\/sales\/transactions\/fetch":"Magento_Sales::transactions_fetch","config\/acl\/resources\/admin\/sales\/recurring_profile":"Magento_Sales::recurring_profile","config\/acl\/resources\/admin\/sales\/billing_agreement":"Magento_Sales::billing_agreement","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions":"Magento_Sales::billing_agreement_actions","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/view":"Magento_Sales::billing_agreement_actions_view","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/manage":"Magento_Sales::actions_manage","config\/acl\/resources\/admin\/sales\/billing_agreement\/actions\/use":"Magento_Sales::use","config\/acl\/resources\/admin\/system\/order_statuses":"Magento_Sales::order_statuses","config\/acl\/resources\/admin\/system\/config\/sales":"Magento_Sales::config_sales","config\/acl\/resources\/admin\/system\/config\/sales_email":"Magento_Sales::sales_email","config\/acl\/resources\/admin\/system\/config\/sales_pdf":"Magento_Sales::sales_pdf","config\/acl\/resources\/admin\/system\/config\/shipping":"Magento_Shipping::config_shipping","config\/acl\/resources\/admin\/system\/config\/carriers":"Magento_Shipping::carriers","config\/acl\/resources\/admin\/catalog\/sitemap":"Magento_Sitemap::sitemap","config\/acl\/resources\/admin\/system\/config\/sitemap":"Magento_Sitemap::config_sitemap","config\/acl\/resources\/admin\/sales\/tax":"Magento_Tax::sales_tax","config\/acl\/resources\/admin\/sales\/tax\/classes_customer":"Magento_Tax::classes_customer","config\/acl\/resources\/admin\/sales\/tax\/classes_product":"Magento_Tax::classes_product","config\/acl\/resources\/admin\/sales\/tax\/import_export":"Magento_Tax::import_export","config\/acl\/resources\/admin\/sales\/tax\/rates":"Magento_Tax::tax_rates","config\/acl\/resources\/admin\/sales\/tax\/rules":"Magento_Tax::rules","config\/acl\/resources\/admin\/system\/config\/tax":"Magento_Tax::config_tax","config\/acl\/resources\/admin\/system\/acl":"Magento_User::acl","config\/acl\/resources\/admin\/system\/acl\/roles":"Magento_User::acl_roles","config\/acl\/resources\/admin\/system\/acl\/users":"Magento_User::acl_users","config\/acl\/resources\/admin\/cms\/widget_instance":"Magento_Widget::widget_instance","config\/acl\/resources\/admin\/system\/config\/wishlist":"Magento_Wishlist::config_wishlist"}
diff --git a/dev/tools/Magento/Tools/Migration/Acl/log/MenuIdToAclId.log b/dev/tools/Magento/Tools/Migration/Acl/log/MenuIdToAclId.log
index eae707e3a76..fa5d0b606e1 100644
--- a/dev/tools/Magento/Tools/Migration/Acl/log/MenuIdToAclId.log
+++ b/dev/tools/Magento/Tools/Migration/Acl/log/MenuIdToAclId.log
@@ -1 +1 @@
-{"Magento_Banner::cms_magento_banner":"Magento_Banner::magento_banner","Magento_CatalogEvent::catalog_magento_catalogevent":"Magento_Catalog::categories","Magento_CatalogEvent::catalog_magento_catalogevent_events":"Magento_CatalogEvent::events","Magento_VersionsCms::cms_enterprise_page":"Magento_Cms::page","Magento_VersionsCms::cms_enterprise_page_page":"Magento_Cms::page","Magento_VersionsCms::cms_enterprise_page_hierarchy":"Magento_VersionsCms::hierarchy","Magento_CustomerSegment::customer_customersegment":"Magento_CustomerSegment::customersegment","Magento_CustomerSegment::report_customers_segment":"Magento_CustomerSegment::segment","Magento_CustomerCustomAttributes::customer_attributes":"Magento_CustomerCustomAttributes::attributes","Magento_CustomerCustomAttributes::customer_attributes_customer_attributes":"Magento_CustomerCustomAttributes::customer_attributes","Magento_CustomerCustomAttributes::customer_attributes_customer_address_attributes":"Magento_CustomerCustomAttributes::customer_address_attributes","Magento_GiftCardAccount::customer_giftcardaccount":"Magento_GiftCardAccount::customer_giftcardaccount","Magento_GiftRegistry::customer_magento_giftregistry":"Magento_GiftRegistry::customer_magento_giftregistry","Magento_GiftWrapping::sales_magento_giftwrapping":"Magento_GiftWrapping::magento_giftwrapping","Magento_ScheduledImportExport::system_convert_enterprise_scheduled_operation":"Magento_ScheduledImportExport::enterprise_scheduled_operation","Magento_Invitation::customer_magento_invitation":"Magento_Invitation::magento_invitation","Magento_Invitation::report_magento_invitation":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_general":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_customer":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_order":"Magento_Invitation::report_magento_invitation","Magento_Logging::system_magento_logging":"Magento_Logging::magento_logging","Magento_Logging::system_magento_logging_events":"Magento_Logging::magento_logging_events","Magento_Logging::system_magento_logging_backups":"Magento_Logging::backups","Magento_Pci::system_crypt_key":"Magento_Pci::crypt_key","Magento_Pci::system_acl_locks":"Magento_Pci::locks","Magento_Reminder::promo_reminder":"Magento_Reminder::magento_reminder","Magento_Reward::customer_reward":"Magento_Reward::rates","Magento_Rma::sales_magento_rma":"Magento_Rma::magento_rma","Magento_Rma::sales_magento_rma_rma":"Magento_Rma::magento_rma","Magento_Rma::sales_magento_rma_rma_item_attribute":"Magento_Rma::magento_rma","Magento_SalesArchive::sales_archive":"Magento_SalesArchive::archive","Magento_SalesArchive::sales_archive_orders":"Magento_SalesArchive::orders","Magento_SalesArchive::sales_archive_invoices":"Magento_SalesArchive::invoices","Magento_SalesArchive::sales_archive_shipments":"Magento_SalesArchive::shipments","Magento_SalesArchive::sales_archive_creditmemos":"Magento_SalesArchive::creditmemos","Magento_TargetRule::catalog_targetrule":"Magento_TargetRule::targetrule","Magento_MultipleWishlist::report_customers_wishlist":"Magento_MultipleWishlist::wishlist","Magento_AdminNotification::system_adminnotification":"Magento_AdminNotification::adminnotification","Magento_Adminhtml::dashboard":"Magento_Adminhtml::dashboard","Magento_Adminhtml::system":"Magento_Adminhtml::system","Magento_Adminhtml::system_myaccount":"Magento_Adminhtml::myaccount","Magento_Adminhtml::system_tools":"Magento_Adminhtml::tools","Magento_Adminhtml::system_design":"Magento_Adminhtml::design","Magento_Adminhtml::system_design_schedule":"Magento_Adminhtml::schedule","Magento_Adminhtml::system_currency":"Magento_CurrencySymbol::system_currency","Magento_Adminhtml::system_email_template":"Magento_Adminhtml::email_template","Magento_Adminhtml::system_variable":"Magento_Adminhtml::variable","Magento_Adminhtml::system_cache":"Magento_Adminhtml::cache","Magento_Adminhtml::system_store":"Magento_Adminhtml::store","Magento_Adminhtml::system_config":"Magento_Adminhtml::config","Magento_Backup::system_tools_backup":"Magento_Backup::backup","Magento_CatalogRule::promo":"Magento_CatalogRule::promo","Magento_CatalogRule::promo_catalog":"Magento_CatalogRule::promo_catalog","Magento_CatalogSearch::catalog_search":"Magento_CatalogSearch::search","Magento_Catalog::catalog":"Magento_Catalog::catalog","Magento_Catalog::catalog_products":"Magento_Catalog::products","Magento_Catalog::catalog_categories":"Magento_Catalog::categories","Magento_Catalog::catalog_attributes":"Magento_Catalog::catalog_attributes","Magento_Catalog::catalog_attributes_attributes":"Magento_Catalog::attributes_attributes","Magento_Catalog::catalog_attributes_sets":"Magento_Catalog::sets","Magento_Catalog::catalog_urlrewrite":"Magento_Catalog::urlrewrite","Magento_Checkout::sales_checkoutagreement":"Magento_Checkout::checkoutagreement","Magento_Cms::cms":"Magento_Cms::cms","Magento_Cms::cms_page":"Magento_Cms::page","Magento_Cms::cms_block":"Magento_Cms::block","Magento_Connect::system_extensions":"Magento_Adminhtml::extensions","Magento_Connect::system_extensions_local":"Magento_Adminhtml::local","Magento_Connect::system_extensions_custom":"Magento_Adminhtml::custom","Magento_CurrencySymbol::system_currency_rates":"Magento_CurrencySymbol::currency_rates","Magento_CurrencySymbol::system_currency_symbols":"Magento_CurrencySymbol::symbols","Magento_Customer::customer":"Magento_Customer::customer","Magento_Customer::customer_manage":"Magento_Customer::manage","Magento_Customer::customer_group":"Magento_Customer::group","Magento_Customer::customer_online":"Magento_Customer::online","Magento_DesignEditor::system_design_editor":"Magento_DesignEditor::editor","Magento_Downloadable::report_products_downloads":"Magento_Reports::downloads","Magento_GoogleShopping::catalog_googleshopping":"Magento_GoogleShopping::googleshopping","Magento_GoogleShopping::catalog_googleshopping_types":"Magento_GoogleShopping::types","Magento_GoogleShopping::catalog_googleshopping_items":"Magento_GoogleShopping::items","Magento_ImportExport::system_convert_import":"Magento_ImportExport::import","Magento_ImportExport::system_convert_export":"Magento_ImportExport::export","Magento_Index::system_index":"Magento_Index::index","Magento_Newsletter::newsletter":"Magento_Newsletter::admin_newsletter","Magento_Newsletter::newsletter_template":"Magento_Newsletter::template","Magento_Newsletter::newsletter_queue":"Magento_Newsletter::queue","Magento_Newsletter::newsletter_subscriber":"Magento_Newsletter::subscriber","Magento_Newsletter::newsletter_problem":"Magento_Newsletter::problem","Magento_Paypal::report_salesroot_paypal_settlement_reports":"Magento_Paypal::paypal_settlement_reports","Magento_Poll::cms_poll":"Magento_Poll::poll","Magento_Reports::report":"Magento_Reports::report","Magento_Reports::report_salesroot":"Magento_Reports::salesroot","Magento_Reports::report_salesroot_sales":"Magento_Reports::salesroot_sales","Magento_Reports::report_salesroot_tax":"Magento_Reports::tax","Magento_Reports::report_salesroot_invoiced":"Magento_Reports::invoiced","Magento_Reports::report_salesroot_shipping":"Magento_Reports::shipping","Magento_Reports::report_salesroot_refunded":"Magento_Reports::refunded","Magento_Reports::report_salesroot_coupons":"Magento_Reports::coupons","Magento_Reports::report_shopcart":"Magento_Reports::shopcart","Magento_Reports::report_shopcart_product":"Magento_Reports::product","Magento_Reports::report_shopcart_abandoned":"Magento_Reports::abandoned","Magento_Reports::report_products":"Magento_Reports::report_products","Magento_Reports::report_products_bestsellers":"Magento_Reports::bestsellers","Magento_Reports::report_products_sold":"Magento_Reports::sold","Magento_Reports::report_products_viewed":"Magento_Reports::viewed","Magento_Reports::report_products_lowstock":"Magento_Reports::lowstock","Magento_Reports::report_customers":"Magento_Reports::customers","Magento_Reports::report_customers_accounts":"Magento_Reports::accounts","Magento_Reports::report_customers_totals":"Magento_Reports::totals","Magento_Reports::report_customers_orders":"Magento_Reports::customers_orders","Magento_Reports::report_search":"Magento_Reports::report_search","Magento_Reports::report_statistics":"Magento_Reports::statistics","Magento_Review::catalog_reviews_ratings":"Magento_Review::reviews_ratings","Magento_Review::catalog_reviews_ratings_reviews":"Magento_Review::reviews","Magento_Review::catalog_reviews_ratings_ratings":"Magento_Rating::ratings","Magento_Review::catalog_reviews_ratings_reviews_pending":"Magento_Review::pending","Magento_Review::catalog_reviews_ratings_reviews_all":"Magento_Review::reviews_all","Magento_Review::report_review":"Magento_Reports::review","Magento_Review::report_review_customer":"Magento_Reports::review_customer","Magento_Review::report_review_product":"Magento_Reports::review_product","Magento_SalesRule::promo_quote":"Magento_SalesRule::quote","Magento_Sales::sales":"Magento_Sales::sales","Magento_Sales::sales_order":"Magento_Sales::sales_order","Magento_Sales::sales_invoice":"Magento_Sales::sales_invoice","Magento_Sales::sales_shipment":"Magento_Sales::shipment","Magento_Sales::sales_creditmemo":"Magento_Sales::sales_creditmemo","Magento_Sales::sales_transactions":"Magento_Sales::transactions","Magento_Sales::sales_recurring_profile":"Magento_Sales::recurring_profile","Magento_Sales::sales_billing_agreement":"Magento_Sales::billing_agreement","Magento_Sales::system_order_statuses":"Magento_Sales::order_statuses","Magento_Sitemap::catalog_sitemap":"Magento_Sitemap::sitemap","Magento_Tax::sales_tax":"Magento_Tax::sales_tax","Magento_Tax::sales_tax_rules":"Magento_Tax::rules","Magento_Tax::sales_tax_rates":"Magento_Tax::tax_rates","Magento_Tax::sales_tax_import_export":"Magento_Tax::import_export","Magento_Tax::sales_tax_classes_customer":"Magento_Tax::classes_customer","Magento_Tax::sales_tax_classes_product":"Magento_Tax::classes_product","Magento_User::system_acl":"Magento_User::acl","Magento_User::system_acl_users":"Magento_User::acl_users","Magento_User::system_acl_roles":"Magento_User::acl_roles","Magento_Widget::cms_widget_instance":"Magento_Widget::widget_instance"}
+{"Magento_Banner::cms_magento_banner":"Magento_Banner::magento_banner","Magento_CatalogEvent::catalog_magento_catalogevent":"Magento_Catalog::categories","Magento_CatalogEvent::catalog_magento_catalogevent_events":"Magento_CatalogEvent::events","Magento_VersionsCms::cms_enterprise_page":"Magento_Cms::page","Magento_VersionsCms::cms_enterprise_page_page":"Magento_Cms::page","Magento_VersionsCms::cms_enterprise_page_hierarchy":"Magento_VersionsCms::hierarchy","Magento_CustomerSegment::customer_customersegment":"Magento_CustomerSegment::customersegment","Magento_CustomerSegment::report_customers_segment":"Magento_CustomerSegment::segment","Magento_CustomerCustomAttributes::customer_attributes":"Magento_CustomerCustomAttributes::attributes","Magento_CustomerCustomAttributes::customer_attributes_customer_attributes":"Magento_CustomerCustomAttributes::customer_attributes","Magento_CustomerCustomAttributes::customer_attributes_customer_address_attributes":"Magento_CustomerCustomAttributes::customer_address_attributes","Magento_GiftCardAccount::customer_giftcardaccount":"Magento_GiftCardAccount::customer_giftcardaccount","Magento_GiftRegistry::customer_magento_giftregistry":"Magento_GiftRegistry::customer_magento_giftregistry","Magento_GiftWrapping::sales_magento_giftwrapping":"Magento_GiftWrapping::magento_giftwrapping","Magento_ScheduledImportExport::system_convert_enterprise_scheduled_operation":"Magento_ScheduledImportExport::enterprise_scheduled_operation","Magento_Invitation::customer_magento_invitation":"Magento_Invitation::magento_invitation","Magento_Invitation::report_magento_invitation":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_general":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_customer":"Magento_Invitation::report_magento_invitation","Magento_Invitation::report_magento_invitation_order":"Magento_Invitation::report_magento_invitation","Magento_Logging::system_magento_logging":"Magento_Logging::magento_logging","Magento_Logging::system_magento_logging_events":"Magento_Logging::magento_logging_events","Magento_Logging::system_magento_logging_backups":"Magento_Logging::backups","Magento_Pci::system_crypt_key":"Magento_Pci::crypt_key","Magento_Pci::system_acl_locks":"Magento_Pci::locks","Magento_Reminder::promo_reminder":"Magento_Reminder::magento_reminder","Magento_Reward::customer_reward":"Magento_Reward::rates","Magento_Rma::sales_magento_rma":"Magento_Rma::magento_rma","Magento_Rma::sales_magento_rma_rma":"Magento_Rma::magento_rma","Magento_Rma::sales_magento_rma_rma_item_attribute":"Magento_Rma::magento_rma","Magento_SalesArchive::sales_archive":"Magento_SalesArchive::archive","Magento_SalesArchive::sales_archive_orders":"Magento_SalesArchive::orders","Magento_SalesArchive::sales_archive_invoices":"Magento_SalesArchive::invoices","Magento_SalesArchive::sales_archive_shipments":"Magento_SalesArchive::shipments","Magento_SalesArchive::sales_archive_creditmemos":"Magento_SalesArchive::creditmemos","Magento_TargetRule::catalog_targetrule":"Magento_TargetRule::targetrule","Magento_MultipleWishlist::report_customers_wishlist":"Magento_MultipleWishlist::wishlist","Magento_AdminNotification::system_adminnotification":"Magento_AdminNotification::adminnotification","Magento_Adminhtml::dashboard":"Magento_Adminhtml::dashboard","Magento_Adminhtml::system":"Magento_Adminhtml::system","Magento_Adminhtml::system_myaccount":"Magento_Adminhtml::myaccount","Magento_Adminhtml::system_tools":"Magento_Adminhtml::tools","Magento_Adminhtml::system_design":"Magento_Adminhtml::design","Magento_Adminhtml::system_design_schedule":"Magento_Adminhtml::schedule","Magento_Adminhtml::system_currency":"Magento_CurrencySymbol::system_currency","Magento_Adminhtml::system_email_template":"Magento_Email::template","Magento_Adminhtml::system_variable":"Magento_Adminhtml::variable","Magento_Adminhtml::system_cache":"Magento_Adminhtml::cache","Magento_Adminhtml::system_store":"Magento_Adminhtml::store","Magento_Adminhtml::system_config":"Magento_Adminhtml::config","Magento_Backup::system_tools_backup":"Magento_Backup::backup","Magento_CatalogRule::promo":"Magento_CatalogRule::promo","Magento_CatalogRule::promo_catalog":"Magento_CatalogRule::promo_catalog","Magento_CatalogSearch::catalog_search":"Magento_CatalogSearch::search","Magento_Catalog::catalog":"Magento_Catalog::catalog","Magento_Catalog::catalog_products":"Magento_Catalog::products","Magento_Catalog::catalog_categories":"Magento_Catalog::categories","Magento_Catalog::catalog_attributes":"Magento_Catalog::catalog_attributes","Magento_Catalog::catalog_attributes_attributes":"Magento_Catalog::attributes_attributes","Magento_Catalog::catalog_attributes_sets":"Magento_Catalog::sets","Magento_Catalog::catalog_urlrewrite":"Magento_Catalog::urlrewrite","Magento_Checkout::sales_checkoutagreement":"Magento_Checkout::checkoutagreement","Magento_Cms::cms":"Magento_Cms::cms","Magento_Cms::cms_page":"Magento_Cms::page","Magento_Cms::cms_block":"Magento_Cms::block","Magento_Connect::system_extensions":"Magento_Adminhtml::extensions","Magento_Connect::system_extensions_local":"Magento_Adminhtml::local","Magento_Connect::system_extensions_custom":"Magento_Adminhtml::custom","Magento_CurrencySymbol::system_currency_rates":"Magento_CurrencySymbol::currency_rates","Magento_CurrencySymbol::system_currency_symbols":"Magento_CurrencySymbol::symbols","Magento_Customer::customer":"Magento_Customer::customer","Magento_Customer::customer_manage":"Magento_Customer::manage","Magento_Customer::customer_group":"Magento_Customer::group","Magento_Customer::customer_online":"Magento_Customer::online","Magento_DesignEditor::system_design_editor":"Magento_DesignEditor::editor","Magento_Downloadable::report_products_downloads":"Magento_Reports::downloads","Magento_GoogleShopping::catalog_googleshopping":"Magento_GoogleShopping::googleshopping","Magento_GoogleShopping::catalog_googleshopping_types":"Magento_GoogleShopping::types","Magento_GoogleShopping::catalog_googleshopping_items":"Magento_GoogleShopping::items","Magento_ImportExport::system_convert_import":"Magento_ImportExport::import","Magento_ImportExport::system_convert_export":"Magento_ImportExport::export","Magento_Index::system_index":"Magento_Index::index","Magento_Newsletter::newsletter":"Magento_Newsletter::admin_newsletter","Magento_Newsletter::newsletter_template":"Magento_Newsletter::template","Magento_Newsletter::newsletter_queue":"Magento_Newsletter::queue","Magento_Newsletter::newsletter_subscriber":"Magento_Newsletter::subscriber","Magento_Newsletter::newsletter_problem":"Magento_Newsletter::problem","Magento_Paypal::report_salesroot_paypal_settlement_reports":"Magento_Paypal::paypal_settlement_reports","Magento_Poll::cms_poll":"Magento_Poll::poll","Magento_Reports::report":"Magento_Reports::report","Magento_Reports::report_salesroot":"Magento_Reports::salesroot","Magento_Reports::report_salesroot_sales":"Magento_Reports::salesroot_sales","Magento_Reports::report_salesroot_tax":"Magento_Reports::tax","Magento_Reports::report_salesroot_invoiced":"Magento_Reports::invoiced","Magento_Reports::report_salesroot_shipping":"Magento_Reports::shipping","Magento_Reports::report_salesroot_refunded":"Magento_Reports::refunded","Magento_Reports::report_salesroot_coupons":"Magento_Reports::coupons","Magento_Reports::report_shopcart":"Magento_Reports::shopcart","Magento_Reports::report_shopcart_product":"Magento_Reports::product","Magento_Reports::report_shopcart_abandoned":"Magento_Reports::abandoned","Magento_Reports::report_products":"Magento_Reports::report_products","Magento_Reports::report_products_bestsellers":"Magento_Reports::bestsellers","Magento_Reports::report_products_sold":"Magento_Reports::sold","Magento_Reports::report_products_viewed":"Magento_Reports::viewed","Magento_Reports::report_products_lowstock":"Magento_Reports::lowstock","Magento_Reports::report_customers":"Magento_Reports::customers","Magento_Reports::report_customers_accounts":"Magento_Reports::accounts","Magento_Reports::report_customers_totals":"Magento_Reports::totals","Magento_Reports::report_customers_orders":"Magento_Reports::customers_orders","Magento_Reports::report_search":"Magento_Reports::report_search","Magento_Reports::report_statistics":"Magento_Reports::statistics","Magento_Review::catalog_reviews_ratings":"Magento_Review::reviews_ratings","Magento_Review::catalog_reviews_ratings_reviews":"Magento_Review::reviews","Magento_Review::catalog_reviews_ratings_ratings":"Magento_Rating::ratings","Magento_Review::catalog_reviews_ratings_reviews_pending":"Magento_Review::pending","Magento_Review::catalog_reviews_ratings_reviews_all":"Magento_Review::reviews_all","Magento_Review::report_review":"Magento_Reports::review","Magento_Review::report_review_customer":"Magento_Reports::review_customer","Magento_Review::report_review_product":"Magento_Reports::review_product","Magento_SalesRule::promo_quote":"Magento_SalesRule::quote","Magento_Sales::sales":"Magento_Sales::sales","Magento_Sales::sales_order":"Magento_Sales::sales_order","Magento_Sales::sales_invoice":"Magento_Sales::sales_invoice","Magento_Sales::sales_shipment":"Magento_Sales::shipment","Magento_Sales::sales_creditmemo":"Magento_Sales::sales_creditmemo","Magento_Sales::sales_transactions":"Magento_Sales::transactions","Magento_Sales::sales_recurring_profile":"Magento_Sales::recurring_profile","Magento_Sales::sales_billing_agreement":"Magento_Sales::billing_agreement","Magento_Sales::system_order_statuses":"Magento_Sales::order_statuses","Magento_Sitemap::catalog_sitemap":"Magento_Sitemap::sitemap","Magento_Tax::sales_tax":"Magento_Tax::sales_tax","Magento_Tax::sales_tax_rules":"Magento_Tax::rules","Magento_Tax::sales_tax_rates":"Magento_Tax::tax_rates","Magento_Tax::sales_tax_import_export":"Magento_Tax::import_export","Magento_Tax::sales_tax_classes_customer":"Magento_Tax::classes_customer","Magento_Tax::sales_tax_classes_product":"Magento_Tax::classes_product","Magento_User::system_acl":"Magento_User::acl","Magento_User::system_acl_users":"Magento_User::acl_users","Magento_User::system_acl_roles":"Magento_User::acl_roles","Magento_Widget::cms_widget_instance":"Magento_Widget::widget_instance"}
diff --git a/lib/Magento/App/Action/AbstractAction.php b/lib/Magento/App/Action/AbstractAction.php
index 001ce4812ac..1c031251cc3 100644
--- a/lib/Magento/App/Action/AbstractAction.php
+++ b/lib/Magento/App/Action/AbstractAction.php
@@ -66,23 +66,6 @@ abstract class AbstractAction implements \Magento\App\ActionInterface
      */
     public function getResponse()
     {
-        if (!$this->_response->getHeader('X-Frame-Options')) {
-            $this->_response->setHeader('X-Frame-Options', 'SAMEORIGIN');
-        }
         return $this->_response;
     }
-
-    /**
-     * Retrieve full bane of current action current controller and
-     * current module
-     *
-     * @param   string $delimiter
-     * @return  string
-     */
-    public function getFullActionName($delimiter = '_')
-    {
-        return $this->getRequest()->getRequestedRouteName() . $delimiter .
-            $this->getRequest()->getRequestedControllerName() . $delimiter .
-            $this->getRequest()->getRequestedActionName();
-    }
 }
diff --git a/lib/Magento/App/Action/Action.php b/lib/Magento/App/Action/Action.php
new file mode 100644
index 00000000000..223d3aed31f
--- /dev/null
+++ b/lib/Magento/App/Action/Action.php
@@ -0,0 +1,173 @@
+<?php
+/**
+ * Default implementation of application action controller
+ *
+ * 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;
+
+use Magento\App\RequestInterface;
+
+class Action extends \Magento\App\Action\AbstractAction
+{
+    const FLAG_NO_DISPATCH              = 'no-dispatch';
+    const FLAG_NO_POST_DISPATCH         = 'no-postDispatch';
+    const FLAG_NO_DISPATCH_BLOCK_EVENT  = 'no-beforeGenerateLayoutBlocksDispatch';
+
+    const PARAM_NAME_BASE64_URL         = 'r64';
+    const PARAM_NAME_URL_ENCODED        = 'uenc';
+
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * Namespace for session.
+     * Should be defined for proper working session.
+     *
+     * @var string
+     */
+    protected $_sessionNamespace;
+
+    /**
+     * @var \Magento\Event\ManagerInterface
+     */
+    protected $_eventManager;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @var \Magento\App\Response\RedirectInterface
+     */
+    protected $_redirect;
+
+    /**
+     * @var \Magento\App\ViewInterface
+     */
+    protected $_view;
+
+    /**
+     * @var \Magento\UrlInterface
+     */
+    protected $_url;
+
+    /**
+     * @param Context $context
+     */
+    public function __construct(\Magento\App\Action\Context $context)
+    {
+        parent::__construct($context->getRequest(), $context->getResponse());
+        $this->_objectManager     = $context->getObjectManager();
+        $this->_eventManager      = $context->getEventManager();
+        $this->_url               = $context->getUrl();
+        $this->_actionFlag        = $context->getActionFlag();
+        $this->_redirect          = $context->getRedirect();
+        $this->_view              = $context->getView();
+    }
+
+    /**
+     * @param RequestInterface $request
+     * @return mixed
+     * @throws NotFoundException
+     */
+    public function dispatch(RequestInterface $request)
+    {
+        $this->_request = $request;
+        $profilerKey = 'CONTROLLER_ACTION:' . $request->getFullActionName();
+        $eventParameters = array('controller_action' => $this, 'request' => $request);
+        $this->_eventManager->dispatch('controller_action_predispatch', $eventParameters);
+        $this->_eventManager->dispatch('controller_action_predispatch_' . $request->getRouteName(), $eventParameters);
+        $this->_eventManager->dispatch(
+            'controller_action_predispatch_' . $request->getFullActionName(),
+            $eventParameters
+        );
+        \Magento\Profiler::start($profilerKey);
+
+        if ($request->isDispatched() && !$this->_actionFlag->get('', self::FLAG_NO_DISPATCH)) {
+            \Magento\Profiler::start('action_body');
+            $actionMethodName = $request->getActionName() . 'Action';
+            $this->$actionMethodName();
+            \Magento\Profiler::start('postdispatch');
+            if (!$this->_actionFlag->get('', \Magento\App\Action\Action::FLAG_NO_POST_DISPATCH)) {
+                $this->_eventManager->dispatch(
+                    'controller_action_postdispatch_' . $request->getFullActionName(),
+                    $eventParameters
+                );
+                $this->_eventManager->dispatch(
+                    'controller_action_postdispatch_' . $request->getRouteName(), $eventParameters
+                );
+                $this->_eventManager->dispatch('controller_action_postdispatch', $eventParameters);
+            }
+            \Magento\Profiler::stop('postdispatch');
+            \Magento\Profiler::stop('action_body');
+        }
+        \Magento\Profiler::stop($profilerKey);
+    }
+
+    /**
+     * Throw control to different action (control and module if was specified).
+     *
+     * @param string $action
+     * @param string|null $controller
+     * @param string|null $module
+     * @param array|null $params
+     */
+    protected function _forward($action, $controller = null, $module = null, array $params = null)
+    {
+        $request = $this->getRequest();
+
+        $request->initForward();
+
+        if (isset($params)) {
+            $request->setParams($params);
+        }
+
+        if (isset($controller)) {
+            $request->setControllerName($controller);
+
+            // Module should only be reset if controller has been specified
+            if (isset($module)) {
+                $request->setModuleName($module);
+            }
+        }
+
+        $request->setActionName($action);
+        $request->setDispatched(false);
+    }
+
+    /**
+     * Set redirect into response
+     *
+     * @param   string $path
+     * @param   array $arguments
+     * @return  \Magento\App\ActionInterface
+     */
+    protected function _redirect($path, $arguments = array())
+    {
+        $this->_redirect->redirect($this->getResponse(), $path, $arguments);
+        return $this;
+    }
+}
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Context.php b/lib/Magento/App/Action/Context.php
similarity index 61%
rename from app/code/Magento/Core/Controller/Varien/Action/Context.php
rename to lib/Magento/App/Action/Context.php
index 3243698fbf7..4a5e065d015 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Context.php
+++ b/lib/Magento/App/Action/Context.php
@@ -18,12 +18,10 @@
  * 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\Action;
+namespace Magento\App\Action;
 
 class Context implements \Magento\ObjectManager\ContextInterface
 {
@@ -43,121 +41,121 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_objectManager;
 
     /**
-     * @var \Magento\App\FrontController
+     * @var \Magento\Event\ManagerInterface
      */
-    protected $_frontController = null;
+    protected $_eventManager;
 
     /**
-     * @var \Magento\View\LayoutInterface
+     * @var \Magento\UrlInterface
      */
-    protected $_layout;
+    protected $_url;
 
     /**
-     * @var \Magento\Event\ManagerInterface
+     * @var \Magento\App\Response\RedirectInterface
      */
-    protected $_eventManager;
+    protected $_redirect;
 
     /**
-     * @var \Magento\Logger
+     * @var \Magento\App\ActionFlag
      */
-    protected $_logger;
+    protected $_actionFlag;
 
     /**
-     * @var \Magento\HTTP\Authentication
+     * @var \Magento\App\ViewInterface
      */
-    protected $authentication;
+    protected $_view;
 
     /**
-     * @param \Magento\Logger $logger
      * @param \Magento\App\RequestInterface $request
      * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\App\FrontController $frontController
-     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Event\ManagerInterface $eventManager
-     * @param \Magento\HTTP\Authentication $authentication
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\Response\RedirectInterface $redirect
+     * @param \Magento\App\ActionFlag $actionFlag
+     * @param \Magento\App\ViewInterface $view
      */
     public function __construct(
-        \Magento\Logger $logger,
         \Magento\App\RequestInterface $request,
         \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\App\FrontController $frontController,
-        \Magento\View\LayoutInterface $layout,
         \Magento\Event\ManagerInterface $eventManager,
-        \Magento\HTTP\Authentication $authentication
+        \Magento\UrlInterface $url,
+        \Magento\App\Response\RedirectInterface $redirect,
+        \Magento\App\ActionFlag $actionFlag,
+        \Magento\App\ViewInterface $view
     ) {
-        $this->_request           = $request;
-        $this->_response          = $response;
-        $this->_objectManager     = $objectManager;
-        $this->_frontController   = $frontController;
-        $this->_layout            = $layout;
-        $this->_eventManager      = $eventManager;
-        $this->_logger            = $logger;
-        $this->authentication     = $authentication;
+        $this->_request = $request;
+        $this->_response = $response;
+        $this->_objectManager = $objectManager;
+        $this->_eventManager = $eventManager;
+        $this->_url = $url;
+        $this->_redirect = $redirect;
+        $this->_actionFlag = $actionFlag;
+        $this->_view = $view;
     }
 
     /**
-     * @return \Magento\App\FrontController
+     * @return \Magento\App\ActionFlag
      */
-    public function getFrontController()
+    public function getActionFlag()
     {
-        return $this->_frontController;
+        return $this->_actionFlag;
     }
 
     /**
-     * @return \Magento\View\LayoutInterface
+     * @return \Magento\Event\ManagerInterface
      */
-    public function getLayout()
+    public function getEventManager()
     {
-        return $this->_layout;
+        return $this->_eventManager;
     }
 
     /**
-     * @return \Magento\ObjectManager
+     * @return \Magento\App\ViewInterface
      */
-    public function getObjectManager()
+    public function getView()
     {
-        return $this->_objectManager;
+        return $this->_view;
     }
 
     /**
-     * @return \Magento\App\RequestInterface
+     * @return \Magento\ObjectManager
      */
-    public function getRequest()
+    public function getObjectManager()
     {
-        return $this->_request;
+        return $this->_objectManager;
     }
 
     /**
-     * @return \Magento\App\ResponseInterface
+     * @return \Magento\App\Response\RedirectInterface
      */
-    public function getResponse()
+    public function getRedirect()
     {
-        return $this->_response;
+        return $this->_redirect;
     }
 
     /**
-     * @return \Magento\Event\ManagerInterface
+     * @return \Magento\App\RequestInterface
      */
-    public function getEventManager()
+    public function getRequest()
     {
-        return $this->_eventManager;
+        return $this->_request;
     }
 
     /**
-     * @return \Magento\Logger
+     * @return \Magento\App\ResponseInterface
      */
-    public function getLogger()
+    public function getResponse()
     {
-        return $this->_logger;
+        return $this->_response;
     }
 
     /**
-     * @return \Magento\HTTP\Authentication
+     * @return \Magento\UrlInterface
      */
-    public function getAuthentication()
+    public function getUrl()
     {
-        return $this->authentication;
+        return $this->_url;
     }
 }
diff --git a/lib/Magento/App/Action/Exception.php b/lib/Magento/App/Action/Exception.php
index d555c7b9126..7e2a90d49fc 100644
--- a/lib/Magento/App/Action/Exception.php
+++ b/lib/Magento/App/Action/Exception.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Controller exception that can fork different actions, cause forward or redirect
+ * Generic application action exception
  *
  * Magento
  *
@@ -25,88 +25,6 @@
  */
 namespace Magento\App\Action;
 
-/**
- * @SuppressWarnings(PHPMD.LongVariable)
- */
 class Exception extends \Exception
 {
-    const RESULT_FORWARD  = '_forward';
-    const RESULT_REDIRECT = '_redirect';
-
-    protected $_resultCallback       = null;
-    protected $_resultCallbackParams = array();
-    protected $_defaultActionName    = 'noroute';
-    protected $_flags                = array();
-
-    /**
-     * Prepare data for forwarding action
-     *
-     * @param string $actionName
-     * @param string $controllerName
-     * @param string $moduleName
-     * @param array $params
-     * @return \Magento\App\Action\Exception
-     */
-    public function prepareForward(
-        $actionName = null, $controllerName = null, $moduleName = null, array $params = array()
-    ) {
-        $this->_resultCallback = self::RESULT_FORWARD;
-        if (null === $actionName) {
-            $actionName = $this->_defaultActionName;
-        }
-        $this->_resultCallbackParams = array($actionName, $controllerName, $moduleName, $params);
-        return $this;
-    }
-
-    /**
-     * Prepare data for running a custom action
-     *
-     * @param string $actionName
-     * @return \Magento\App\Action\Exception
-     */
-    public function prepareFork($actionName = null)
-    {
-        if (null === $actionName) {
-            $actionName = $this->_defaultActionName;
-        }
-        $this->_resultCallback = $actionName;
-        return $this;
-    }
-
-    /**
-     * Prepare a flag data
-     *
-     * @param string $action
-     * @param string $flag
-     * @param bool $value
-     * @return \Magento\App\Action\Exception
-     */
-    public function prepareFlag($action, $flag, $value)
-    {
-        $this->_flags[] = array($action, $flag, $value);
-        return $this;
-    }
-
-    /**
-     * Return all set flags
-     *
-     * @return array
-     */
-    public function getResultFlags()
-    {
-        return $this->_flags;
-    }
-
-    /**
-     * Return results as callback for a controller
-     *
-     * @return array
-     */
-    public function getResultCallback()
-    {
-        if (null === $this->_resultCallback) {
-            $this->prepareFork();
-        }
-        return array($this->_resultCallback, $this->_resultCallbackParams);
-    }
 }
diff --git a/lib/Magento/App/Action/Forward.php b/lib/Magento/App/Action/Forward.php
index c4b87142764..84e9961dedb 100644
--- a/lib/Magento/App/Action/Forward.php
+++ b/lib/Magento/App/Action/Forward.php
@@ -25,16 +25,17 @@
  */
 namespace Magento\App\Action;
 
+use Magento\App\RequestInterface;
+
 class Forward extends AbstractAction
 {
     /**
-     * Dispatch controller action
-     *
-     * @param string $action action name
+     * @param RequestInterface $request
+     * @return mixed|void
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function dispatch($action)
+    public function dispatch(RequestInterface $request)
     {
-        $this->_request->setDispatched(false);
+        $request->setDispatched(false);
     }
 }
diff --git a/lib/Magento/App/Action/NotFoundException.php b/lib/Magento/App/Action/NotFoundException.php
new file mode 100644
index 00000000000..ba2cd8f001d
--- /dev/null
+++ b/lib/Magento/App/Action/NotFoundException.php
@@ -0,0 +1,32 @@
+<?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 NotFoundException extends \Exception
+{
+
+} 
\ No newline at end of file
diff --git a/lib/Magento/App/Action/Redirect.php b/lib/Magento/App/Action/Redirect.php
index 635b9e38f98..c62b2df69b3 100644
--- a/lib/Magento/App/Action/Redirect.php
+++ b/lib/Magento/App/Action/Redirect.php
@@ -25,15 +25,16 @@
  */
 namespace Magento\App\Action;
 
+use \Magento\App\RequestInterface;
+
 class Redirect extends AbstractAction
 {
     /**
-     * Dispatch controller action
-     *
-     * @param string $action action name
+     * @param RequestInterface $request
+     * @return mixed|void
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function dispatch($action)
+    public function dispatch(RequestInterface $request)
     {
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/IndexTest.php b/lib/Magento/App/Action/Title.php
similarity index 60%
rename from dev/tests/integration/testsuite/Magento/Adminhtml/Controller/IndexTest.php
rename to lib/Magento/App/Action/Title.php
index b4896cd9466..eeeee22ea27 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/IndexTest.php
+++ b/lib/Magento/App/Action/Title.php
@@ -1,5 +1,6 @@
 <?php
 /**
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,30 +19,42 @@
  * 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_Adminhtml
- * @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\Action;
 
-namespace Magento\Adminhtml\Controller;
-
-/**
- * @magentoAppArea adminhtml
- */
-class IndexTest extends \Magento\Backend\Utility\Controller
+class Title
 {
     /**
-     * @covers \Magento\Adminhtml\Controller\Index::globalSearchAction
+     * Title parts to be rendered in the page head title
+     *
+     * @var array
      */
-    public function testGlobalSearchAction()
+    protected $_titles = array();
+
+    /**
+     * @param string $text
+     * @param bool $prepend
+     * @return Title
+     */
+    public function add($text, $prepend = false)
     {
-        $this->getRequest()->setParam('isAjax', 'true');
-        $this->getRequest()->setPost('query', 'dummy');
-        $this->dispatch('backend/admin/index/globalSearch');
+        if ($prepend) {
+            array_unshift($this->_titles, $text);
+        } else {
+            $this->_titles[] = $text;
+        }
+        return $this;
+    }
 
-        $actual = $this->getResponse()->getBody();
-        $this->assertEquals(array(), json_decode($actual));
+    /**
+     * Get titles
+     *
+     * @return array
+     */
+    public function get()
+    {
+        return $this->_titles;
     }
 }
diff --git a/lib/Magento/App/ActionFactory.php b/lib/Magento/App/ActionFactory.php
index ef56443fbe9..e13241421a7 100644
--- a/lib/Magento/App/ActionFactory.php
+++ b/lib/Magento/App/ActionFactory.php
@@ -47,7 +47,7 @@ class ActionFactory
      */
     public function createController($controllerName, array $arguments = array())
     {
-        $context = $this->_objectManager->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
+        $context = $this->_objectManager->create('Magento\App\Action\Context', $arguments);
         $arguments['context'] = $context;
         return $this->_objectManager->create($controllerName, $arguments);
     }
diff --git a/lib/Magento/App/ActionFlag.php b/lib/Magento/App/ActionFlag.php
new file mode 100644
index 00000000000..3e10cb16fc2
--- /dev/null
+++ b/lib/Magento/App/ActionFlag.php
@@ -0,0 +1,96 @@
+<?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 ActionFlag
+{
+    /**
+     * @var RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var array
+     */
+    protected $_flags = array();
+
+    /**
+     * @param RequestInterface $request
+     */
+    public function __construct(\Magento\App\RequestInterface $request)
+    {
+        $this->_request = $request;
+    }
+
+    /**
+     * Setting flag value
+     *
+     * @param   string $action
+     * @param   string $flag
+     * @param   string $value
+     */
+    public function set($action, $flag, $value)
+    {
+        if ('' === $action) {
+            $action = $this->_request->getActionName();
+        }
+        $this->_flags[$this->_getControllerKey()][$action][$flag] = $value;
+    }
+
+    /**
+     * Retrieve flag value
+     *
+     * @param   string $action
+     * @param   string $flag
+     * @return  bool
+     *
+     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
+     */
+    public function get($action, $flag = '')
+    {
+        if ('' === $action) {
+            $action = $this->_request->getActionName();
+        }
+        if ('' === $flag) {
+            return isset($this->_flags[$this->_getControllerKey()])
+                ? $this->_flags[$this->_getControllerKey()]
+                : array();
+        } elseif (isset($this->_flags[$this->_getControllerKey()][$action][$flag])) {
+            return $this->_flags[$this->_getControllerKey()][$action][$flag];
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Get controller key
+     *
+     * @return string
+     */
+    protected function _getControllerKey()
+    {
+        return $this->_request->getRequestedRouteName() . '_' . $this->_request->getRequestedControllerName();
+    }
+} 
\ No newline at end of file
diff --git a/lib/Magento/App/ActionInterface.php b/lib/Magento/App/ActionInterface.php
index 2c3205128d4..f4d93567282 100644
--- a/lib/Magento/App/ActionInterface.php
+++ b/lib/Magento/App/ActionInterface.php
@@ -28,11 +28,8 @@ namespace Magento\App;
 interface ActionInterface
 {
     /**
-     * Dispatch controller action
-     *
-     * @abstract
-     * @param string $action action name
-     * @return void
+     * @param RequestInterface $request
+     * @return mixed
      */
-    public function dispatch($action);
+    public function dispatch(RequestInterface $request);
 }
diff --git a/lib/Magento/App/EntryPoint/EntryPoint.php b/lib/Magento/App/EntryPoint/EntryPoint.php
index 163829840ee..9ad442fc72a 100644
--- a/lib/Magento/App/EntryPoint/EntryPoint.php
+++ b/lib/Magento/App/EntryPoint/EntryPoint.php
@@ -92,7 +92,7 @@ class EntryPoint implements EntryPointInterface
                     if (!$this->_locator) {
                         throw new \DomainException();
                     }
-                    $this->_locator->get('Magento\Core\Model\Logger')->logException($exception);
+                    $this->_locator->get('Magento\Logger')->logException($exception);
                 } catch (\Exception $e) {
                     $message .= "Could not write error message to log. Please use developer mode to see the message.\n";
                 }
diff --git a/lib/Magento/App/FrontController.php b/lib/Magento/App/FrontController.php
index bd2847d5f23..d2ad0effdaf 100644
--- a/lib/Magento/App/FrontController.php
+++ b/lib/Magento/App/FrontController.php
@@ -27,99 +27,50 @@ namespace Magento\App;
 
 class FrontController implements FrontControllerInterface
 {
-    /**
-     * @var array
-     */
-    protected $_defaults = array();
-
     /**
      * @var \Magento\App\RouterInterface[]
      */
     protected $_routerList;
 
-    /**
-     * @var \Magento\App\RequestInterface
-     */
-    protected $_request;
-
     /**
      * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
-    /**
-     * @var ActionInterface
-     */
-    protected $_action;
-
     /**
      * @param \Magento\App\ResponseInterface $response
      * @param RouterList $routerList
-     * @param array $data
-     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function __construct(
-        \Magento\App\ResponseInterface $response,
-        RouterList $routerList,
-        array $data = array()
-    ) {
+    public function __construct(ResponseInterface $response, RouterList $routerList)
+    {
         $this->_routerList = $routerList;
         $this->_response = $response;
     }
 
     /**
-     * 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
+     * Perform action and generate response
      *
-     * @param ActionInterface $action
-     */
-    public function setAction(ActionInterface $action)
-    {
-        $this->_action = $action;
-    }
-
-    /**
-     * @return ActionInterface
-     */
-    public function getAction()
-    {
-        return $this->_action;
-    }
-
-    /**
      * @param RequestInterface $request
      * @return ResponseInterface
      * @throws \LogicException
      */
     public function dispatch(RequestInterface $request)
     {
-        $this->_request = $request;
         \Magento\Profiler::start('routers_match');
         $routingCycleCounter = 0;
         while (!$request->isDispatched() && $routingCycleCounter++ < 100) {
             foreach ($this->_routerList as $router) {
-                $controllerInstance = $router->match($this->getRequest());
-                if ($controllerInstance) {
-                    $controllerInstance->dispatch($request->getActionName());
+                try {
+                    $actionInstance = $router->match($request);
+                    if ($actionInstance) {
+                        $request->setDispatched(true);
+                        $actionInstance->dispatch($request);
+                        break;
+                    }
+                } catch (Action\NotFoundException $e) {
+                    $request->initForward();
+                    $request->setActionName('noroute');
+                    $request->setDispatched(false);
                     break;
                 }
             }
@@ -128,6 +79,6 @@ class FrontController implements FrontControllerInterface
         if ($routingCycleCounter > 100) {
             throw new \LogicException('Front controller reached 100 router match iterations');
         }
-        return $this->getResponse();
+        return $this->_response;
     }
 }
diff --git a/lib/Magento/App/FrontController/Plugin/Clickjacking.php b/lib/Magento/App/FrontController/Plugin/Clickjacking.php
new file mode 100644
index 00000000000..e429e5bc25f
--- /dev/null
+++ b/lib/Magento/App/FrontController/Plugin/Clickjacking.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Clickjacking protection plugin
+ *
+ * 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\FrontController\Plugin;
+
+class Clickjacking
+{
+    /**
+     * Process response
+     *
+     * @param \Magento\App\ResponseInterface $response
+     * @return \Magento\App\ResponseInterface
+     */
+    public function afterDispatch(\Magento\App\ResponseInterface $response)
+    {
+        if (!$response->getHeader('X-Frame-Options')) {
+            $response->setHeader('X-Frame-Options', 'SAMEORIGIN');
+        }
+        return $response;
+    }
+}
diff --git a/app/code/Magento/Core/Helper/AbstractHelper.php b/lib/Magento/App/Helper/AbstractHelper.php
similarity index 79%
rename from app/code/Magento/Core/Helper/AbstractHelper.php
rename to lib/Magento/App/Helper/AbstractHelper.php
index d4bf3321ff0..bb85ac61301 100644
--- a/app/code/Magento/Core/Helper/AbstractHelper.php
+++ b/lib/Magento/App/Helper/AbstractHelper.php
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Helper;
+namespace Magento\App\Helper;
 
 /**
  * Abstract helper
@@ -50,7 +50,7 @@ abstract class AbstractHelper
     /**
      * Translator model
      *
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\TranslateInterface
      */
     protected $_translator;
 
@@ -80,9 +80,21 @@ abstract class AbstractHelper
     protected $_httpHeader;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
+     * Event manager
+     *
+     * @var \Magento\Event\ManagerInterface
+     */
+    protected $_eventManager;
+
+    /**
+     * @var \Magento\HTTP\PhpEnvironment\RemoteAddress
      */
-    public function __construct(\Magento\Core\Helper\Context $context)
+    protected $_remoteAddress;
+
+    /**
+     * @param \Magento\App\Helper\Context $context
+     */
+    public function __construct(\Magento\App\Helper\Context $context)
     {
         $this->_translator = $context->getTranslator();
         $this->_moduleManager = $context->getModuleManager();
@@ -91,6 +103,9 @@ abstract class AbstractHelper
         $this->_app = $context->getApp();
         $this->_urlBuilder = $context->getUrlBuilder();
         $this->_httpHeader = $context->getHttpHeader();
+        $this->_eventManager = $context->getEventManager();
+        $this->_remoteAddress = $context->getRemoteAddress();
+        $this->_cacheConfig = $context->getCacheConfig();
     }
 
     /**
@@ -103,56 +118,6 @@ abstract class AbstractHelper
         return $this->_request;
     }
 
-    /**
-     * Loading cache data
-     *
-     * @param   string $cacheId
-     * @return  mixed
-     */
-    protected function _loadCache($cacheId)
-    {
-        return $this->_app->loadCache($cacheId);
-    }
-
-    /**
-     * Saving cache
-     *
-     * @param mixed $data
-     * @param string $cacheId
-     * @param array $tags
-     * @param bool $lifeTime
-     * @return \Magento\Core\Helper\AbstractHelper
-     */
-    protected function _saveCache($data, $cacheId, $tags = array(), $lifeTime = false)
-    {
-        $this->_app->saveCache($data, $cacheId, $tags, $lifeTime);
-        return $this;
-    }
-
-    /**
-     * Removing cache
-     *
-     * @param   string $cacheId
-     * @return  \Magento\Core\Helper\AbstractHelper
-     */
-    protected function _removeCache($cacheId)
-    {
-        $this->_app->removeCache($cacheId);
-        return $this;
-    }
-
-    /**
-     * Cleaning cache
-     *
-     * @param   array $tags
-     * @return  \Magento\Core\Helper\AbstractHelper
-     */
-    protected function _cleanCache($tags=array())
-    {
-        $this->_app->cleanCache($tags);
-        return $this;
-    }
-
     /**
      * Retrieve helper module name
      *
diff --git a/app/code/Magento/Core/Helper/Context.php b/lib/Magento/App/Helper/Context.php
similarity index 94%
rename from app/code/Magento/Core/Helper/Context.php
rename to lib/Magento/App/Helper/Context.php
index 2bf88939763..06d758c91ff 100644
--- a/app/code/Magento/Core/Helper/Context.php
+++ b/lib/Magento/App/Helper/Context.php
@@ -23,12 +23,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\Helper;
+namespace Magento\App\Helper;
 
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\TranslateInterface
      */
     protected $_translator;
 
@@ -79,7 +79,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Logger $logger
-     * @param \Magento\Core\Model\Translate $translator
+     * @param \Magento\TranslateInterface $translator
      * @param \Magento\Module\Manager $moduleManager
      * @param \Magento\App\RequestInterface $httpRequest
      * @param \Magento\Cache\ConfigInterface $cacheConfig
@@ -88,10 +88,12 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\HTTP\Header $httpHeader
      * @param \Magento\HTTP\PhpEnvironment\RemoteAddress $remoteAddress
+     *
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\Logger $logger,
-        \Magento\Core\Model\Translate $translator,
+        \Magento\TranslateInterface $translator,
         \Magento\Module\Manager $moduleManager,
         \Magento\App\RequestInterface $httpRequest,
         \Magento\Cache\ConfigInterface $cacheConfig,
@@ -114,7 +116,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Translate
+     * @return \Magento\TranslateInterface
      */
     public function getTranslator()
     {
diff --git a/app/code/Magento/Core/Model/Factory/Helper.php b/lib/Magento/App/Helper/HelperFactory.php
similarity index 88%
rename from app/code/Magento/Core/Model/Factory/Helper.php
rename to lib/Magento/App/Helper/HelperFactory.php
index d8d98b7af59..c78e8cd452c 100644
--- a/app/code/Magento/Core/Model/Factory/Helper.php
+++ b/lib/Magento/App/Helper/HelperFactory.php
@@ -18,8 +18,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)
  */
@@ -27,9 +25,9 @@
 /**
  * Helper factory model. Used to get helper objects
  */
-namespace Magento\Core\Model\Factory;
+namespace Magento\App\Helper;
 
-class Helper
+class HelperFactory
 {
     /**
      * @var \Magento\ObjectManager
@@ -49,7 +47,7 @@ class Helper
      *
      * @param string $className
      * @param array $arguments
-     * @return \Magento\Core\Helper\AbstractHelper
+     * @return \Magento\App\Helper\AbstractHelper
      * @throws \LogicException
      */
     public function get($className, array $arguments = array())
@@ -62,9 +60,9 @@ class Helper
 
         $helper = $this->_objectManager->get($className, $arguments);
 
-        if (false === ($helper instanceof \Magento\Core\Helper\AbstractHelper)) {
+        if (false === ($helper instanceof \Magento\App\Helper\AbstractHelper)) {
             throw new \LogicException(
-                $className . ' doesn\'t extends Magento\App\Helper'
+                $className . ' doesn\'t extends Magento\App\Helper\AbstractHelper'
             );
         }
 
diff --git a/lib/Magento/App/Http.php b/lib/Magento/App/Http.php
index 14c3ec801ae..62574c60d20 100644
--- a/lib/Magento/App/Http.php
+++ b/lib/Magento/App/Http.php
@@ -142,7 +142,8 @@ class Http implements \Magento\AppInterface
                     require_once ($this->_dir->getDir(Dir::PUB) . DS . 'errors' . DS . 'report.php');
                 }
             } catch (\Exception $exception) {
-                header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
+                $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP 1.1';
+                header($protocol . ' 500 Internal Server Error', true, 500);
                 print "Unknown error happened.";
             }
             return -1;
diff --git a/lib/Magento/App/ObjectManagerFactory.php b/lib/Magento/App/ObjectManagerFactory.php
index 8ac370c8441..f8173c767d5 100644
--- a/lib/Magento/App/ObjectManagerFactory.php
+++ b/lib/Magento/App/ObjectManagerFactory.php
@@ -134,14 +134,8 @@ class ObjectManagerFactory
                 : null,
         ));
 
-        $pluginList = $locator->create('Magento\Interception\PluginList\PluginList', array(
-            'relations' => $relations,
-            'definitions' => $definitionFactory->createPluginDefinition(),
-            'omConfig' => $diConfig,
-            'classDefinitions' => $definitions instanceof \Magento\ObjectManager\Definition\Compiled
-                ? $definitions
-                : null,
-        ));
+        $pluginList = $this->_createPluginList($locator, $relations, $definitionFactory, $diConfig, $definitions);
+
         $factory = $locator->create('Magento\Interception\FactoryDecorator', array(
             'factory' => $factory,
             'config' => $interceptionConfig,
@@ -170,4 +164,31 @@ class ObjectManagerFactory
         }
         return $configData;
     }
+
+    /**
+     * Crete plugin list object
+     *
+     * @param \Magento\ObjectManager $locator
+     * @param \Magento\ObjectManager\Relations $relations
+     * @param \Magento\ObjectManager\DefinitionFactory $definitionFactory
+     * @param \Magento\ObjectManager\Config\Config $diConfig
+     * @param \Magento\ObjectManager\Definition $definitions
+     * @return \Magento\Interception\PluginList\PluginList
+     */
+    protected function _createPluginList(
+        \Magento\ObjectManager $locator,
+        \Magento\ObjectManager\Relations $relations,
+        \Magento\ObjectManager\DefinitionFactory $definitionFactory,
+        \Magento\ObjectManager\Config\Config $diConfig,
+        \Magento\ObjectManager\Definition $definitions
+    ) {
+        return $locator->create('Magento\Interception\PluginList\PluginList', array(
+            'relations' => $relations,
+            'definitions' => $definitionFactory->createPluginDefinition(),
+            'omConfig' => $diConfig,
+            'classDefinitions' => $definitions instanceof \Magento\ObjectManager\Definition\Compiled
+                    ? $definitions
+                    : null,
+        ));
+    }
 }
\ No newline at end of file
diff --git a/lib/Magento/App/Request/Http.php b/lib/Magento/App/Request/Http.php
index 819b1bc4b21..59d99a944d7 100644
--- a/lib/Magento/App/Request/Http.php
+++ b/lib/Magento/App/Request/Http.php
@@ -78,15 +78,15 @@ class Http extends \Zend_Controller_Request_Http implements \Magento\App\Request
 
     /**
      * @param \Magento\App\Route\ConfigInterface $routeConfig
+     * @param \Magento\App\Request\PathInfoProcessorInterface $pathInfoProcessor
      * @param string $uri
      * @param array $directFrontNames
-     * @param PathInfoProcessorInterface $pathInfoProcessor
      */
     public function __construct(
         \Magento\App\Route\ConfigInterface $routeConfig,
+        \Magento\App\Request\PathInfoProcessorInterface $pathInfoProcessor,
         $uri = null,
-        $directFrontNames = array(),
-        \Magento\App\Request\PathInfoProcessorInterface $pathInfoProcessor = null
+        $directFrontNames = array()
     ) {
         $this->_routeConfig = $routeConfig;
         $this->_directFrontNames = $directFrontNames;
@@ -138,9 +138,7 @@ class Http extends \Zend_Controller_Request_Http implements \Magento\App\Request
                 $pathInfo = $requestUri;
             }
 
-            if ($this->_pathInfoProcessor) {
-                $pathInfo = $this->_pathInfoProcessor->process($this, $pathInfo);
-            }
+            $pathInfo = $this->_pathInfoProcessor->process($this, $pathInfo);
 
             $this->_originalPathInfo = (string)$pathInfo;
 
@@ -548,4 +546,17 @@ class Http extends \Zend_Controller_Request_Http implements \Magento\App\Request
         }
         return 'http://localhost/';
     }
+
+    /**
+     * Retrieve full action name
+     *
+     * @param string $delimiter
+     * @return mixed|string
+     */
+    public function getFullActionName($delimiter = '_')
+    {
+        return $this->getRequestedRouteName() . $delimiter .
+            $this->getRequestedControllerName() . $delimiter .
+            $this->getRequestedActionName();
+    }
 }
diff --git a/lib/Magento/App/Response/Http/FileFactory.php b/lib/Magento/App/Response/Http/FileFactory.php
new file mode 100644
index 00000000000..a565e3c78c0
--- /dev/null
+++ b/lib/Magento/App/Response/Http/FileFactory.php
@@ -0,0 +1,116 @@
+<?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\Response\Http;
+
+class FileFactory
+{
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \Magento\Filesystem
+     */
+    protected $_filesystem;
+
+    /**
+     * @param \Magento\App\ResponseFactory $responseFactory
+     * @param \Magento\Filesystem $filesystem
+     */
+    public function __construct(\Magento\App\ResponseFactory $responseFactory, \Magento\Filesystem $filesystem)
+    {
+        $this->_responseFactory = $responseFactory;
+        $this->_filesystem = $filesystem;
+    }
+
+    /**
+     * Declare headers and content file in response for file download
+     *
+     * @param string $fileName
+     * @param string|array $content set to null to avoid starting output, $contentLength should be set explicitly in
+     *                              that case
+     * @param string $contentType
+     * @param int $contentLength    explicit content length, if strlen($content) isn't applicable
+     * @throws \Exception
+     * @throws \InvalidArgumentException
+     * @return \Magento\App\ActionInterface
+     *
+     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
+     * @SuppressWarnings(PHPMD.NPathComplexity)
+     * @SuppressWarnings(PHPMD.ExitExpression)
+     */
+    public function create($fileName, $content, $contentType = 'application/octet-stream', $contentLength = null)
+    {
+        $filesystem = $this->_filesystem;
+        $isFile = false;
+        $file   = null;
+        if (is_array($content)) {
+            if (!isset($content['type']) || !isset($content['value'])) {
+                throw new \InvalidArgumentException("Invalid arguments. Keys 'type' and 'value' are required.");
+            }
+            if ($content['type'] == 'filename') {
+                $isFile         = true;
+                $file           = $content['value'];
+                $contentLength  = $filesystem->getFileSize($file);
+            }
+        }
+
+        $response = $this->_responseFactory->create();
+        $response->setHttpResponseCode(200)
+            ->setHeader('Pragma', 'public', true)
+            ->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)
+            ->setHeader('Content-type', $contentType, true)
+            ->setHeader('Content-Length', is_null($contentLength) ? strlen($content) : $contentLength, true)
+            ->setHeader('Content-Disposition', 'attachment; filename="'.$fileName.'"', true)
+            ->setHeader('Last-Modified', date('r'), true);
+
+        if (!is_null($content)) {
+            if ($isFile) {
+                $response->clearBody();
+                $response->sendHeaders();
+
+                if (!$filesystem->isFile($file)) {
+                    throw new \Exception(__('File not found'));
+                }
+                $stream = $filesystem->createAndOpenStream($file, 'r');
+                while ($buffer = $stream->read(1024)) {
+                    print $buffer;
+                }
+                flush();
+                $stream->close();
+                if (!empty($content['rm'])) {
+                    $filesystem->delete($file);
+                }
+
+                exit(0);
+            } else {
+                $response->setBody($content);
+            }
+        }
+        return $response;
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/App/Response/RedirectInterface.php b/lib/Magento/App/Response/RedirectInterface.php
new file mode 100644
index 00000000000..54313698079
--- /dev/null
+++ b/lib/Magento/App/Response/RedirectInterface.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Response redirect 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\App\Response;
+
+interface RedirectInterface
+{
+    const PARAM_NAME_REFERER_URL        = 'referer_url';
+    const PARAM_NAME_ERROR_URL          = 'error_url';
+    const PARAM_NAME_SUCCESS_URL        = 'success_url';
+
+    /**
+     * Identify referer url via all accepted methods (HTTP_REFERER, regular or base64-encoded request param)
+     *
+     * @return string
+     */
+    public function getRefererUrl();
+
+    /**
+     * Set referer url for redirect in response
+     *
+     * @param   string $defaultUrl
+     * @return  string
+     */
+    public function getRedirectUrl($defaultUrl = null);
+
+    /**
+     * Redirect to error page
+     *
+     * @param string $defaultUrl
+     * @return  string
+     */
+    public function error($defaultUrl);
+
+    /**
+     * Redirect to success page
+     *
+     * @param string $defaultUrl
+     * @return string
+     */
+    public function success($defaultUrl);
+
+    /**
+     * Set redirect into response
+     *
+     * @param \Magento\App\ResponseInterface $response
+     * @param string $path
+     * @param array $arguments
+     */
+    public function redirect(\Magento\App\ResponseInterface $response, $path, $arguments = array());
+}
diff --git a/lib/Magento/App/View.php b/lib/Magento/App/View.php
new file mode 100644
index 00000000000..ee34303f2ea
--- /dev/null
+++ b/lib/Magento/App/View.php
@@ -0,0 +1,302 @@
+<?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 View implements ViewInterface
+{
+    /**
+     * @var \Magento\View\LayoutInterface
+     */
+    protected $_layout;
+
+    /**
+     * @var \Magento\Config\ScopeInterface
+     */
+    protected $_configScope;
+
+    /**
+     * @var \Magento\Event\ManagerInterface
+     */
+    protected $_eventManager;
+
+    /**
+     * @var \Magento\TranslateInterface
+     */
+    protected $_translator;
+
+    /**
+     * @var \Magento\App\ActionFlag
+     */
+    protected $_actionFlag;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var bool
+     */
+    protected $_isLayoutLoaded = false;
+
+    /**
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
+     * @param \Magento\Config\ScopeInterface $configScope
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\TranslateInterface $translator
+     * @param \Magento\App\ActionFlag $actionFlag
+     */
+    public function __construct(
+        \Magento\View\LayoutInterface $layout,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
+        \Magento\Config\ScopeInterface $configScope,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\TranslateInterface $translator,
+        \Magento\App\ActionFlag $actionFlag
+    ) {
+        $this->_layout = $layout;
+        $this->_request = $request;
+        $this->_response = $response;
+        $this->_configScope = $configScope;
+        $this->_eventManager = $eventManager;
+        $this->_translator = $translator;
+        $this->_actionFlag = $actionFlag;
+    }
+
+    /**
+     * Retrieve current layout object
+     *
+     * @return \Magento\View\LayoutInterface
+     */
+    public function getLayout()
+    {
+        $this->_layout->setArea($this->_configScope->getCurrentScope());
+        return $this->_layout;
+    }
+
+    /**
+     * Load layout by handles(s)
+     *
+     * @param   string|null|bool $handles
+     * @param   bool $generateBlocks
+     * @param   bool $generateXml
+     * @return  $this
+     * @throws  \RuntimeException
+     */
+    public function loadLayout($handles = null, $generateBlocks = true, $generateXml = true)
+    {
+        if ($this->_isLayoutLoaded) {
+            throw new \RuntimeException('Layout must be loaded only once.');
+        }
+        // if handles were specified in arguments load them first
+        if (false !== $handles && '' !== $handles) {
+            $this->getLayout()->getUpdate()->addHandle($handles ? $handles : 'default');
+        }
+
+        // add default layout handles for this action
+        $this->addActionLayoutHandles();
+
+        $this->loadLayoutUpdates();
+
+        if (!$generateXml) {
+            return $this;
+        }
+        $this->generateLayoutXml();
+
+        if (!$generateBlocks) {
+            return $this;
+        }
+        $this->generateLayoutBlocks();
+        $this->_isLayoutLoaded = true;
+
+        return $this;
+    }
+
+    /**
+     * Retrieve the default layout handle name for the current action
+     *
+     * @return string
+     */
+    public function getDefaultLayoutHandle()
+    {
+        return strtolower($this->_request->getFullActionName());
+    }
+
+    /**
+     * Add layout handle by full controller action name
+     *
+     * @return \Magento\App\ActionInterface
+     */
+    public function addActionLayoutHandles()
+    {
+        if (!$this->addPageLayoutHandles()) {
+            $this->getLayout()->getUpdate()->addHandle($this->getDefaultLayoutHandle());
+        }
+        return $this;
+    }
+
+    /**
+     * Add layout updates handles associated with the action page
+     *
+     * @param array $parameters page parameters
+     * @return bool
+     */
+    public function addPageLayoutHandles(array $parameters = array())
+    {
+        $handle = $this->getDefaultLayoutHandle();
+        $pageHandles = array($handle);
+        foreach ($parameters as $key => $value) {
+            $pageHandles[] = $handle . '_' . $key . '_' . $value;
+        }
+        // Do not sort array going into add page handles. Ensure default layout handle is added first.
+        return $this->getLayout()->getUpdate()->addPageHandles($pageHandles);
+    }
+
+    /**
+     * Load layout updates
+     *
+     * @return \Magento\App\View
+     */
+    public function loadLayoutUpdates()
+    {
+        \Magento\Profiler::start('LAYOUT');
+
+        // dispatch event for adding handles to layout update
+        $this->_eventManager->dispatch(
+            'controller_action_layout_load_before',
+            array('full_action_name' => $this->_request->getFullActionName(), 'layout' => $this->getLayout())
+        );
+
+        // load layout updates by specified handles
+        \Magento\Profiler::start('layout_load');
+        $this->getLayout()->getUpdate()->load();
+        \Magento\Profiler::stop('layout_load');
+
+        \Magento\Profiler::stop('LAYOUT');
+        return $this;
+    }
+
+    /**
+     * Generate layout xml
+     *
+     * @return \Magento\App\View
+     */
+    public function generateLayoutXml()
+    {
+        \Magento\Profiler::start('LAYOUT');
+        // generate xml from collected text updates
+        \Magento\Profiler::start('layout_generate_xml');
+        $this->getLayout()->generateXml();
+        \Magento\Profiler::stop('layout_generate_xml');
+
+        \Magento\Profiler::stop('LAYOUT');
+        return $this;
+    }
+
+    /**
+     * Generate layout blocks
+     *
+     * @return \Magento\App\View
+     */
+    public function generateLayoutBlocks()
+    {
+        \Magento\Profiler::start('LAYOUT');
+
+        // dispatch event for adding xml layout elements
+        if (!$this->_actionFlag->get('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT)) {
+            $this->_eventManager->dispatch(
+                'controller_action_layout_generate_blocks_before',
+                array('full_action_name' => $this->_request->getFullActionName(), 'layout' => $this->getLayout())
+            );
+        }
+
+        // generate blocks from xml layout
+        \Magento\Profiler::start('layout_generate_blocks');
+        $this->getLayout()->generateElements();
+        \Magento\Profiler::stop('layout_generate_blocks');
+
+        if (!$this->_actionFlag->get('', \Magento\App\Action\Action::FLAG_NO_DISPATCH_BLOCK_EVENT)) {
+            $this->_eventManager->dispatch(
+                'controller_action_layout_generate_blocks_after',
+                array('full_action_name' => $this->_request->getFullActionName(), 'layout' => $this->getLayout())
+            );
+        }
+
+        \Magento\Profiler::stop('LAYOUT');
+        return $this;
+    }
+
+    /**
+     * Rendering layout
+     *
+     * @param   string $output
+     * @return  \Magento\App\View
+     */
+    public function renderLayout($output = '')
+    {
+        if ($this->_actionFlag->get('', 'no-renderLayout')) {
+            return $this;
+        }
+
+        \Magento\Profiler::start('LAYOUT');
+
+        \Magento\Profiler::start('layout_render');
+
+        if ('' !== $output) {
+            $this->getLayout()->addOutputElement($output);
+        }
+
+        $this->_eventManager->dispatch('controller_action_layout_render_before');
+        $this->_eventManager->dispatch(
+            'controller_action_layout_render_before_' . $this->_request->getFullActionName()
+        );
+
+        $output = $this->getLayout()->getOutput();
+        $this->_translator->processResponseBody($output);
+        $this->_response->appendBody($output);
+        \Magento\Profiler::stop('layout_render');
+
+        \Magento\Profiler::stop('LAYOUT');
+        return $this;
+    }
+
+    /**
+     * Set isLayoutLoaded flag
+     *
+     * @param bool $value
+     */
+    public function setIsLayoutLoaded($value)
+    {
+        $this->_isLayoutLoaded = $value;
+    }
+}
diff --git a/lib/Magento/App/ViewInterface.php b/lib/Magento/App/ViewInterface.php
new file mode 100644
index 00000000000..13e34c61c62
--- /dev/null
+++ b/lib/Magento/App/ViewInterface.php
@@ -0,0 +1,104 @@
+<?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;
+
+interface ViewInterface
+{
+    /**
+     * Load layout updates
+     *
+     * @return ViewInterface
+     */
+    public function loadLayoutUpdates();
+
+    /**
+     * Rendering layout
+     *
+     * @param   string $output
+     * @return  ViewInterface
+     */
+    public function renderLayout($output = '');
+
+    /**
+     * Retrieve the default layout handle name for the current action
+     *
+     * @return string
+     */
+    public function getDefaultLayoutHandle();
+
+    /**
+     * Load layout by handles(s)
+     *
+     * @param   string|null|bool $handles
+     * @param   bool $generateBlocks
+     * @param   bool $generateXml
+     * @return  ViewInterface
+     * @throws  \RuntimeException
+     */
+    public function loadLayout($handles = null, $generateBlocks = true, $generateXml = true);
+
+    /**
+     * Generate layout xml
+     *
+     * @return ViewInterface
+     */
+    public function generateLayoutXml();
+
+    /**
+     * Add layout updates handles associated with the action page
+     *
+     * @param array $parameters page parameters
+     * @return bool
+     */
+    public function addPageLayoutHandles(array $parameters = array());
+
+    /**
+     * Generate layout blocks
+     *
+     * @return ViewInterface
+     */
+    public function generateLayoutBlocks();
+
+    /**
+     * Retrieve current layout object
+     *
+     * @return \Magento\View\LayoutInterface
+     */
+    public function getLayout();
+
+    /**
+     * Add layout handle by full controller action name
+     *
+     * @return ViewInterface
+     */
+    public function addActionLayoutHandles();
+
+    /**
+     * Set isLayoutLoaded flag
+     *
+     * @param bool $value
+     */
+    public function setIsLayoutLoaded($value);
+
+}
\ No newline at end of file
diff --git a/lib/Magento/Code/Reader/ArgumentsReader.php b/lib/Magento/Code/Reader/ArgumentsReader.php
new file mode 100644
index 00000000000..751ddd2eeb9
--- /dev/null
+++ b/lib/Magento/Code/Reader/ArgumentsReader.php
@@ -0,0 +1,185 @@
+<?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\Code\Reader;
+
+class ArgumentsReader
+{
+    const NO_DEFAULT_VALUE = 'NO-DEFAULT';
+
+    /**
+     * Get class constructor
+     *
+     * @param \ReflectionClass $class
+     * @param bool $groupByPosition
+     * @param bool $inherited
+     * @return array
+     */
+    public function getConstructorArguments(\ReflectionClass $class, $groupByPosition = false, $inherited = false)
+    {
+        $output = array();
+        /**
+         * Skip native PHP types, classes without constructor
+         */
+        if (!$class->getFileName() || false == $class->hasMethod('__construct')
+            || (!$inherited && $class->getConstructor()->class != $class->getName())
+        ) {
+            return $output;
+        }
+
+        foreach ($class->getConstructor()->getParameters() as $parameter) {
+            $name = $parameter->getName();
+            $position = $parameter->getPosition();
+            $parameterClass = $parameter->getClass();
+            $type = $parameterClass ?  '\\' . $parameterClass->getName() : ($parameter->isArray() ? 'array' : null);
+            $index = $groupByPosition ? $position : $name;
+            $default = null;
+            if ($parameter->isOptional()) {
+                if ($parameter->isDefaultValueAvailable()) {
+                    $value = $parameter->getDefaultValue();
+                    if ($parameter->isDefaultValueConstant()) {
+                        $const = $parameter->getDefaultValueConstantName();
+                        $default = strpos($const, 'self::') === 0 ? $const : '\\' . $const;
+                    } elseif (true == is_array($value)) {
+                        $default = $this->_varExportMin($value);
+                    } elseif (true == is_int($value)) {
+                        $default = $value;
+                    } else {
+                        $default = is_null($parameter->getDefaultValue())
+                            ? 'null'
+                            : "'" . $parameter->getDefaultValue() . "'";
+                    }
+                } elseif ($parameter->allowsNull()) {
+                    $default = 'null';
+                }
+            }
+
+
+            $output[$index] = array(
+                'name' => $name,
+                'position' => $position,
+                'type' => $type,
+                'isOptional' => $parameter->isOptional(),
+                'default' => $default,
+            );
+        }
+        return $output;
+    }
+
+    /**
+     * Get arguments of parent __construct call
+     *
+     * @param \ReflectionClass $class
+     * @param array $classArguments
+     * @return array|null
+     */
+    public function getParentCall(\ReflectionClass $class, array $classArguments)
+    {
+        $trimFunction = function (&$value) {
+            $value = trim($value, PHP_EOL . ' $');
+        };
+
+        $method = $class->getMethod('__construct');
+        $start = $method->getStartLine();
+        $end = $method->getEndLine();
+        $length = $end - $start;
+
+        $source = file($class->getFileName());
+        $content = implode('', array_slice($source, $start, $length));
+        $pattern = '/parent::__construct\(([a-zA-Z0-9_$, ' . PHP_EOL . ']*)\);/';
+
+        if (!preg_match($pattern, $content, $matches)) {
+            return null;
+        }
+
+        $arguments = $matches[1];
+        if (!trim($arguments)) {
+            return null;
+        }
+
+        $arguments = explode(',', $arguments);
+        array_walk($arguments, $trimFunction);
+
+        $output = array();
+        foreach ($arguments as $argumentPosition => $argumentName) {
+            $type = isset($classArguments[$argumentName]) ? $classArguments[$argumentName]['type'] : null;
+            $output[$argumentPosition] = array(
+                'name' => $argumentName,
+                'position' => $argumentPosition,
+                'type' => $type,
+            );
+        }
+        return $output;
+    }
+
+    /**
+     * Check argument type compatibility
+     *
+     * @param string $requiredType
+     * @param string $actualType
+     * @return bool
+     */
+    public function isCompatibleType($requiredType, $actualType)
+    {
+        /** Types are compatible if type names are equal */
+        if ($requiredType === $actualType) {
+            return true;
+        }
+
+        /** Types are 'semi-compatible' if one of them are undefined */
+        if ($requiredType === null || $actualType === null) {
+            return true;
+        }
+
+        /**
+         * Special case for scalar arguments
+         * Array type is compatible with array or null type. Both of these types are checked above
+         */
+        if ($requiredType === 'array' || $actualType === 'array') {
+            return false;
+        }
+
+        return is_subclass_of($actualType, $requiredType);
+    }
+
+    /**
+     * Export variable value
+     *
+     * @param mixed $var
+     * @return mixed|string
+     */
+    protected function _varExportMin($var)
+    {
+        if (is_array($var)) {
+            $toImplode = array();
+            foreach ($var as $key => $value) {
+                $toImplode[] = var_export($key, true) . ' => ' . $this->_varExportMin($value);
+            }
+            $code = 'array('.implode(', ', $toImplode).')';
+            return $code;
+        } else {
+            return var_export($var, true);
+        }
+    }
+} 
\ No newline at end of file
diff --git a/lib/Magento/Code/Validator.php b/lib/Magento/Code/Validator.php
new file mode 100644
index 00000000000..d1614b6f968
--- /dev/null
+++ b/lib/Magento/Code/Validator.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\Code;
+
+class Validator implements ValidatorInterface
+{
+    /**
+     * @var ValidatorInterface[]
+     */
+    protected $_validators = array();
+
+    /**
+     * Add validator
+     *
+     * @param ValidatorInterface $validator
+     */
+    public function add(ValidatorInterface $validator)
+    {
+        $this->_validators[] = $validator;
+    }
+
+    /**
+     * Validate class
+     *
+     * @param string $className
+     * @return bool
+     * @throws \Magento\Code\ValidationException
+     */
+    public function validate($className)
+    {
+        foreach ($this->_validators as $validator) {
+            $validator->validate($className);
+        }
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/Code/Validator/ArgumentSequence.php b/lib/Magento/Code/Validator/ArgumentSequence.php
new file mode 100644
index 00000000000..a572b5e4146
--- /dev/null
+++ b/lib/Magento/Code/Validator/ArgumentSequence.php
@@ -0,0 +1,382 @@
+<?php
+/**
+ * Class constructor validator. Validates arguments sequence
+ *
+ * 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\Code\Validator;
+use Magento\Code\ValidatorInterface;
+use Magento\Code\ValidationException;
+
+class ArgumentSequence implements ValidatorInterface
+{
+    const TYPE_OBJECT = 'object';
+    const TYPE_SCALAR = 'scalar';
+
+    const REQUIRED = 'required';
+    const OPTIONAL = 'optional';
+
+    /**
+     * @var \Magento\Code\Reader\ArgumentsReader
+     */
+    protected $_argumentsReader;
+
+    /**
+     * List of allowed type to validate
+     * @var array
+     */
+    protected $_allowedTypes = array('\Magento\App\Action\Action', '\Magento\View\Element\BlockInterface');
+
+    /**
+     * @var array
+     */
+    protected $_cache;
+
+    /**
+     * @param \Magento\Code\Reader\ArgumentsReader $argumentsReader
+     */
+    public function __construct(\Magento\Code\Reader\ArgumentsReader $argumentsReader = null)
+    {
+        $this->_argumentsReader = $argumentsReader ?: new \Magento\Code\Reader\ArgumentsReader();
+    }
+
+    /**
+     * Validate class
+     *
+     * @param string $className
+     * @return bool
+     * @throws ValidationException
+     */
+    public function validate($className)
+    {
+        /** Temporary solution. Need to be removed since all AC of MAGETWO-14343 will be covered */
+        if (!$this->_isAllowedType($className)) {
+            return true;
+        }
+
+        $class = new \ReflectionClass($className);
+        $classArguments = $this->_argumentsReader->getConstructorArguments($class);
+
+        if ($this->_isContextOnly($classArguments)) {
+            return true;
+        }
+
+        $parent = $class->getParentClass();
+        $parentArguments = array();
+        if ($parent) {
+            $parentClass = $parent->getName();
+            if (0 !== strpos($parentClass, '\\')) {
+                $parentClass = '\\' . $parentClass;
+            }
+
+            if (isset($this->_cache[$parentClass])) {
+                $parentArguments = $this->_cache[$parentClass];
+            } else {
+                $parentArguments = $this->_argumentsReader->getConstructorArguments($parent, false, true);
+            }
+        }
+
+        $requiredSequence = $this->_buildsSequence($classArguments, $parentArguments);
+        $this->_cache[$className] = $requiredSequence;
+
+        if (false == $this->_checkArgumentSequence($classArguments, $requiredSequence)) {
+            throw new ValidationException(
+                'Incorrect argument sequence in class ' . $className . ' in ' . $class->getFileName() . PHP_EOL
+                . 'Required: $' . implode(', $', array_keys($requiredSequence)) . PHP_EOL
+                . 'Actual  : $' . implode(', $', array_keys($classArguments)) . PHP_EOL
+            );
+        }
+
+        return true;
+    }
+
+    /**
+     * Check whether type can be validated
+     *
+     * @param string $className
+     * @return bool
+     */
+    protected function _isAllowedType($className)
+    {
+        foreach ($this->_allowedTypes as $type) {
+            if (is_subclass_of($className, $type)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Check argument sequence
+     *
+     * @param array $actualSequence
+     * @param array $requiredSequence
+     * @return bool
+     */
+    protected function _checkArgumentSequence(array $actualSequence, array $requiredSequence)
+    {
+        $actual = array_keys($actualSequence);
+        $required = array_keys($requiredSequence);
+        return $actual === $required;
+    }
+
+    /**
+     * Build argument required sequence
+     *
+     * @param array $classArguments
+     * @param array $parentArguments
+     * @return array
+     */
+    protected function _buildsSequence(array $classArguments, array $parentArguments = array())
+    {
+        if (empty($classArguments)) {
+            return $classArguments;
+        }
+
+        $classArgumentList = $this->_sortArguments($classArguments);
+        $parentArgumentList = $this->_sortArguments($parentArguments);
+
+        $requiredToOptionalObject = array();
+        $requiredToOptionalScalar = array();
+        $output = array();
+
+        /**
+         * Argument Sequence Matrix
+         *      1        2       3
+         * 1. P.R.O    C.O.O   C.R.O
+         * 2. P.R.S    C.O.S   C.R.S
+         * 3. P.O.O    C.R.O   C.O.O
+         * 4. P.O.S    C.R.S   C.O.S
+         *
+         * where code X.Y.Z
+         * X - parent (P)   / child (C)
+         * Y - required (R) / optional (O)
+         * Z - object (O)   / scalar (S)
+         */
+
+        // 1. Parent Required Object Arguments
+        foreach ($parentArgumentList[self::REQUIRED][self::TYPE_OBJECT] as $name => $argument) {
+            if (isset($classArgumentList[self::OPTIONAL][self::TYPE_OBJECT][$name])) {
+                // 1.2
+                $requiredToOptionalObject[$name] = $classArgumentList[self::OPTIONAL][self::TYPE_OBJECT][$name];
+            } elseif (isset($classArgumentList[self::REQUIRED][self::TYPE_OBJECT][$name])) {
+                // 1.3
+                $output[$name] = $classArgumentList[self::REQUIRED][self::TYPE_OBJECT][$name];
+            } else {
+                // 1.1
+                $output[$name] = $argument;
+            }
+        }
+
+        // 2. Parent Required Scalar Arguments
+        foreach ($parentArgumentList[self::REQUIRED][self::TYPE_SCALAR] as $name => $argument) {
+            if (isset($classArgumentList[self::OPTIONAL][self::TYPE_SCALAR][$name])) {
+                // 2.2
+                $requiredToOptionalScalar[$name] = $classArgumentList[self::OPTIONAL][self::TYPE_SCALAR][$name];
+            } elseif (isset($classArgumentList[self::REQUIRED][self::TYPE_SCALAR][$name])) {
+                // 2.3
+                $output[$name] = $classArgumentList[self::REQUIRED][self::TYPE_SCALAR][$name];
+            } else {
+                // 2.1
+                $output[$name] = $argument;
+            }
+        }
+
+        // 1.3 Child Required Object Arguments
+        foreach ($classArgumentList[self::REQUIRED][self::TYPE_OBJECT] as $name => $argument) {
+            if (!isset($output[$name])) {
+                $output[$name] = $argument;
+            }
+        }
+
+        // 2.3 Child Required Scalar Arguments
+        foreach ($classArgumentList[self::REQUIRED][self::TYPE_SCALAR] as $name => $argument) {
+            if (!isset($output[$name])) {
+                $output[$name] = $argument;
+            }
+        }
+
+        // 1.2 Optional Object. Parent Required Object Arguments that become Optional in Child Class
+        foreach ($requiredToOptionalObject as $name => $argument) {
+            $output[$name] = $argument;
+        }
+
+        // 2.2 Optional Scalar. Parent Required Scalar Arguments that become Optional in Child Class
+        foreach ($requiredToOptionalScalar as $name => $argument) {
+            $output[$name] = $argument;
+        }
+
+        // 3. Parent Optional Object Arguments
+        foreach ($parentArgumentList[self::OPTIONAL][self::TYPE_OBJECT] as $name => $argument) {
+            if (isset($classArgumentList[self::OPTIONAL][self::TYPE_OBJECT][$name])) {
+                // 3.3 Use Child Optional Object
+                $output[$name] = $classArgumentList[self::OPTIONAL][self::TYPE_OBJECT][$name];
+            } elseif (!isset($output[$name])) {
+                // 3.2 Check whether this argument wasn't processed in Step 1.2 or 1.3
+                $output[$name] = $argument;
+            } else {
+                // 3.1 Use Parent Optional Object Argument
+                $output[$name] = $argument;
+            }
+        }
+
+        // 4. Parent Optional Scalar Arguments
+        foreach ($parentArgumentList[self::OPTIONAL][self::TYPE_SCALAR] as $name => $argument) {
+            if (isset($classArgumentList[self::OPTIONAL][self::TYPE_SCALAR][$name])) {
+                // 4.3 Use Child Optional Scalar
+                $output[$name] = $classArgumentList[self::OPTIONAL][self::TYPE_SCALAR][$name];
+            } elseif (!isset($output[$name])) {
+                // 4.2 Check whether this argument wasn't processed in Step 2.2 or 2.3
+                $output[$name] = $argument;
+            } else {
+                // 4.1 Use Parent Optional Scalar Argument
+                $output[$name] = $argument;
+            }
+        }
+
+        // 3.3 Child Optional Object Arguments
+        foreach ($classArgumentList[self::OPTIONAL][self::TYPE_OBJECT] as $name => $argument) {
+            if (!isset($output[$name])) {
+                $output[$name] = $argument;
+            }
+        }
+
+        // 4.3 Child Optional Scalar Arguments
+        foreach ($classArgumentList[self::OPTIONAL][self::TYPE_SCALAR] as $name => $argument) {
+            if (!isset($output[$name])) {
+                $output[$name] = $argument;
+            }
+        }
+
+        return $output;
+    }
+
+    /**
+     * Sort arguments
+     *
+     * @param array $arguments
+     * @return array
+     */
+    protected function _sortArguments($arguments)
+    {
+        $requiredObject = array();
+        $requiredScalar = array();
+        $optionalObject = array();
+        $optionalScalar = array();
+
+        foreach ($arguments as $argument) {
+            if ($argument['type'] && $argument['type'] != 'array') {
+                if ($argument['isOptional']) {
+                    $optionalObject[$argument['name']] = $argument;
+                } else {
+                    $requiredObject[$argument['name']] = $argument;
+                }
+            } else {
+                if ($argument['isOptional']) {
+                    $optionalScalar[$argument['name']] = $argument;
+                } else {
+                    $requiredScalar[$argument['name']] = $argument;
+                }
+            }
+        }
+
+        $requiredObject = $this->_sortObjectType($requiredObject);
+        $optionalScalar = $this->_sortScalarType($optionalScalar);
+
+        return array(
+            self::REQUIRED => array(
+                self::TYPE_OBJECT => $requiredObject,
+                self::TYPE_SCALAR => $requiredScalar
+            ),
+            self::OPTIONAL => array(
+                self::TYPE_OBJECT => $optionalObject,
+                self::TYPE_SCALAR => $optionalScalar
+            ),
+        );
+    }
+
+    /**
+     * Sort arguments by context object
+     *
+     * @param array $argumentList
+     * @return array
+     */
+    protected function _sortObjectType(array $argumentList)
+    {
+        $context = array();
+        foreach ($argumentList as $name => $argument) {
+            if ($this->_isContextType($argument['type'])) {
+                $context[$name] = $argument;
+                unset($argumentList[$name]);
+                break;
+            }
+        }
+        return array_merge($context, $argumentList);
+    }
+
+    /**
+     * Sort arguments by arguments name
+     *
+     * @param array $argumentList
+     * @return array
+     */
+    protected function _sortScalarType(array $argumentList)
+    {
+        $data = array();
+        foreach ($argumentList as $name => $argument) {
+            if ($argument['name'] == 'data') {
+                $data[$name] = $argument;
+                unset($argumentList[$name]);
+                break;
+            }
+        }
+        return array_merge($data, $argumentList);
+    }
+
+    /**
+     * Check whether arguments list contains an only context argument
+     *
+     * @param array $arguments
+     * @return bool
+     */
+    protected function _isContextOnly(array $arguments)
+    {
+        if (count($arguments) !== 1) {
+            return false;
+        }
+        $argument = current($arguments);
+        return $argument['type'] && $this->_isContextType($argument['type']);
+    }
+
+    /**
+     * Check whether type is context object
+     *
+     * @param string $type
+     * @return bool
+     */
+    protected function _isContextType($type)
+    {
+        return is_subclass_of($type, '\Magento\ObjectManager\ContextInterface');
+    }
+}
diff --git a/lib/Magento/Code/Validator/ConstructorIntegrity.php b/lib/Magento/Code/Validator/ConstructorIntegrity.php
index 4fb80e59f24..b75e6d20cde 100644
--- a/lib/Magento/Code/Validator/ConstructorIntegrity.php
+++ b/lib/Magento/Code/Validator/ConstructorIntegrity.php
@@ -26,12 +26,27 @@
 
 namespace Magento\Code\Validator;
 
-class ConstructorIntegrity
+use Magento\Code\ValidatorInterface;
+
+class ConstructorIntegrity implements ValidatorInterface
 {
+    /**
+     * @var \Magento\Code\Reader\ArgumentsReader
+     */
+    protected $_argumentsReader;
+
+    /**
+     * @param \Magento\Code\Reader\ArgumentsReader $argumentsReader
+     */
+    public function __construct(\Magento\Code\Reader\ArgumentsReader $argumentsReader = null)
+    {
+        $this->_argumentsReader = $argumentsReader ?: new \Magento\Code\Reader\ArgumentsReader();
+    }
+
     /**
      * Validate class
      *
-     * @param $className
+     * @param string $className
      * @return bool
      * @throws \Magento\Code\ValidationException
      */
@@ -41,24 +56,30 @@ class ConstructorIntegrity
         $parent = $class->getParentClass();
 
         /** Check whether parent class exists and has __construct method */
-        if (!$parent || !$parent->hasMethod('__construct')) {
+        if (!$parent) {
+            return true;
+        }
+
+        /** Get parent class __construct arguments */
+        $parentArguments = $this->_argumentsReader->getConstructorArguments($parent, true, true);
+        if (empty($parentArguments)) {
             return true;
         }
 
         /** Check whether class has __construct */
-        $classArguments = $this->_getConstructorArguments($class);
+        $classArguments = $this->_argumentsReader->getConstructorArguments($class);
         if (null === $classArguments) {
             return true;
         }
 
         /** Check whether class has parent::__construct call */
-        $callArguments = $this->_getParentCall($class, $classArguments);
+        $callArguments = $this->_argumentsReader->getParentCall($class, $classArguments);
         if (null === $callArguments) {
             return true;
         }
 
         /** Get parent class __construct arguments */
-        $parentArguments = $this->_getConstructorArguments($parent, true);
+        $parentArguments = $this->_argumentsReader->getConstructorArguments($parent, true, true);
 
         foreach ($parentArguments as $index => $requiredArgument) {
             if (isset($callArguments[$index])) {
@@ -73,10 +94,14 @@ class ConstructorIntegrity
                 );
             }
 
-            if (false == $this->_isCompatibleType($requiredArgument['type'], $actualArgument['type'])) {
+            $isCompatibleTypes = $this->_argumentsReader->isCompatibleType(
+                $requiredArgument['type'],
+                $actualArgument['type']
+            );
+            if (false == $isCompatibleTypes) {
                 throw new \Magento\Code\ValidationException('Incompatible argument type: Required type: '
                     . $requiredArgument['type'] . '. Actual type: ' . $actualArgument['type']
-                    . '; File: ' . $class->getFileName()
+                    . '; File: ' . PHP_EOL .$class->getFileName() . PHP_EOL
                 );
             }
         }
@@ -101,109 +126,4 @@ class ConstructorIntegrity
         return true;
     }
 
-    /**
-     * Check argument type compatibility
-     *
-     * @param string $requiredType
-     * @param string $actualType
-     * @return bool
-     */
-    protected function _isCompatibleType($requiredType, $actualType)
-    {
-        /** Types are compatible if type names are equal */
-        if ($requiredType === $actualType) {
-            return true;
-        }
-
-        /** Types are 'semi-compatible' if one of them are undefined */
-        if ($requiredType === null || $actualType === null) {
-            return true;
-        }
-
-        /**
-         * Special case for scalar arguments
-         * Array type is compatible with array or null type. Both of these types are checked above
-         */
-        if ($requiredType === 'array' || $actualType === 'array') {
-            return false;
-        }
-
-        return is_subclass_of($actualType, $requiredType);
-    }
-
-    /**
-     * Get arguments of parent __construct call
-     *
-     * @param \ReflectionClass $class
-     * @param array $classArguments
-     * @return array|null
-     */
-    protected function _getParentCall(\ReflectionClass $class, array $classArguments)
-    {
-        $trimFunction = function (&$value) {
-            $value = trim($value, PHP_EOL . ' $');
-        };
-
-        $method = $class->getMethod('__construct');
-        $start = $method->getStartLine();
-        $end = $method->getEndLine();
-        $length = $end - $start;
-
-        $source = file($class->getFileName());
-        $content = implode('', array_slice($source, $start, $length));
-        $pattern = '/parent::__construct\(([a-zA-Z0-9_$, \n]*)\);/';
-
-        if (!preg_match($pattern, $content, $matches)) {
-            return null;
-        }
-
-        $arguments = $matches[1];
-        if (!trim($arguments)) {
-            return null;
-        }
-
-        $arguments = explode(',', $arguments);
-        array_walk($arguments, $trimFunction);
-
-        $output = array();
-        foreach ($arguments as $argumentPosition => $argumentName) {
-            $type = isset($classArguments[$argumentName]) ? $classArguments[$argumentName]['type'] : null;
-            $output[$argumentPosition] = array(
-                'name' => $argumentName,
-                'position' => $argumentPosition,
-                'type' => $type,
-            );
-        }
-        return $output;
-    }
-
-    /**
-     * Get class constructor
-     *
-     * @param \ReflectionClass $class
-     * @param bool $groupByPosition
-     * @return array|null
-     */
-    protected function _getConstructorArguments(\ReflectionClass $class, $groupByPosition = false)
-    {
-        if (false == $class->hasMethod('__construct')) {
-            return null;
-        }
-
-        $output = array();
-        foreach ($class->getConstructor()->getParameters() as $parameter) {
-            $name = $parameter->getName();
-            $position = $parameter->getPosition();
-            $parameterClass = $parameter->getClass();
-            $type = $parameterClass ? $parameterClass->getName() : ($parameter->isArray() ? 'array' : null);
-            $index = $groupByPosition ? $position : $name;
-            $output[$index] = array(
-                'name' => $name,
-                'position' => $position,
-                'type' => $type,
-                'isOptional' => $parameter->isOptional()
-            );
-        }
-        return $output;
-    }
-} 
+}
diff --git a/lib/Magento/Code/Validator/ContextAggregation.php b/lib/Magento/Code/Validator/ContextAggregation.php
new file mode 100644
index 00000000000..bb2a6924a58
--- /dev/null
+++ b/lib/Magento/Code/Validator/ContextAggregation.php
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Class constructor validator
+ *
+ * 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\Code\Validator;
+
+use Magento\Code\ValidatorInterface;
+use Magento\Code\ValidationException;
+
+class ContextAggregation implements ValidatorInterface
+{
+    /**
+     * @var \Magento\Code\Reader\ArgumentsReader
+     */
+    protected $_argumentsReader;
+
+    /**
+     * @param \Magento\Code\Reader\ArgumentsReader $argumentsReader
+     */
+    public function __construct(\Magento\Code\Reader\ArgumentsReader $argumentsReader = null)
+    {
+        $this->_argumentsReader = $argumentsReader ?: new \Magento\Code\Reader\ArgumentsReader();
+    }
+
+    /**
+     * Validate class. Check declaration of dependencies that already declared in context object
+     *
+     * @param string $className
+     * @return bool
+     * @throws ValidationException
+     */
+    public function validate($className)
+    {
+        $class = new \ReflectionClass($className);
+        $classArguments = $this->_argumentsReader->getConstructorArguments($class);
+
+        $errors = array();
+        $contextDependencies = array();
+
+        $actualDependencies = $this->_getObjectArguments($classArguments);
+
+        foreach ($actualDependencies as $type) {
+            /** Check if argument is context object */
+            if (is_subclass_of($type, '\Magento\ObjectManager\ContextInterface')) {
+                $contextDependencies = array_merge(
+                    $contextDependencies,
+                    $this->_argumentsReader->getConstructorArguments(new \ReflectionClass($type), false, true)
+                );
+            }
+        }
+
+        $contextDependencyTypes = $this->_getObjectArguments($contextDependencies);
+
+        foreach ($actualDependencies as $type) {
+            if (in_array($type, $contextDependencyTypes)) {
+                $errors[] = $type . ' already exists in context object';
+            }
+        }
+
+        if (false == empty($errors)) {
+            throw new ValidationException(
+                'Incorrect dependency in class ' . $className . ' in ' . $class->getFileName() . PHP_EOL
+                . implode(PHP_EOL, $errors)
+            );
+        }
+        return true;
+    }
+
+
+    /**
+     * Get arguments with object types
+     *
+     * @param array $arguments
+     * @return array
+     */
+    protected function _getObjectArguments(array $arguments)
+    {
+        $output = array();
+        foreach ($arguments as $argument) {
+            $type = $argument['type'];
+            if (!$type || $type == 'array') {
+                continue;
+            }
+            $output[] = $type;
+        }
+
+        return $output;
+    }
+
+}
diff --git a/lib/Magento/Code/ValidatorInterface.php b/lib/Magento/Code/ValidatorInterface.php
new file mode 100644
index 00000000000..58923db4577
--- /dev/null
+++ b/lib/Magento/Code/ValidatorInterface.php
@@ -0,0 +1,37 @@
+<?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\Code;
+
+interface ValidatorInterface
+{
+    /**
+     * Validate class
+     *
+     * @param string $className
+     * @return bool
+     * @throws \Magento\Code\ValidationException
+     */
+    public function validate($className);
+} 
\ No newline at end of file
diff --git a/lib/Magento/Config/Scope.php b/lib/Magento/Config/Scope.php
index c1c9447013b..56ed481d99c 100644
--- a/lib/Magento/Config/Scope.php
+++ b/lib/Magento/Config/Scope.php
@@ -23,7 +23,7 @@
  */
 namespace Magento\Config;
 
-class Scope implements \Magento\Config\ScopeInterface
+class Scope implements \Magento\Config\ScopeInterface, \Magento\Config\ScopeListInterface
 {
     /**
      * Default application scope
diff --git a/lib/Magento/Config/ScopeInterface.php b/lib/Magento/Config/ScopeInterface.php
index 327358d0e6d..80dce9514f3 100644
--- a/lib/Magento/Config/ScopeInterface.php
+++ b/lib/Magento/Config/ScopeInterface.php
@@ -32,13 +32,6 @@ interface ScopeInterface
      */
     public function getCurrentScope();
 
-    /**
-     * Retrieve list of all scopes
-     *
-     * @return array
-     */
-    public function getAllScopes();
-
     /**
      * Set current configuration scope
      *
diff --git a/lib/Magento/Config/ScopeListInterface.php b/lib/Magento/Config/ScopeListInterface.php
new file mode 100644
index 00000000000..28744e772b0
--- /dev/null
+++ b/lib/Magento/Config/ScopeListInterface.php
@@ -0,0 +1,35 @@
+<?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\Config;
+
+interface ScopeListInterface
+{
+    /**
+     * Retrieve list of all scopes
+     *
+     * @return array
+     */
+    public function getAllScopes();
+}
diff --git a/lib/Magento/Connect/Frontend.php b/lib/Magento/Connect/Frontend.php
index 99745e9267e..e4eff62f0f8 100644
--- a/lib/Magento/Connect/Frontend.php
+++ b/lib/Magento/Connect/Frontend.php
@@ -122,7 +122,7 @@ class Frontend
      */
     public function pushCapture()
     {
-        array_push($this->_captureSaved, $this->_capture);
+        $this->_captureSaved[] = $this->_capture;
         return $this;
     }
 
@@ -206,7 +206,7 @@ class Frontend
      */
     public function pushSilent()
     {
-        array_push($this->_silentSaved, $this->_silent);
+        $this->_silentSaved[] = $this->_silent;
         return $this;
     }
 
diff --git a/lib/Magento/Data/Collection/Db.php b/lib/Magento/Data/Collection/Db.php
index 39a65dca0b1..a5bfd5a985a 100644
--- a/lib/Magento/Data/Collection/Db.php
+++ b/lib/Magento/Data/Collection/Db.php
@@ -602,6 +602,37 @@ class Db extends \Magento\Data\Collection
         return false;
     }
 
+    /**
+     * Overridden to use _idFieldName by default.
+     *
+     * @param null $valueField
+     * @param string $labelField
+     * @param array $additional
+     * @return array
+     */
+    protected function _toOptionArray($valueField = null, $labelField = 'name', $additional = array())
+    {
+        if ($valueField === null) {
+            $valueField = $this->getIdFieldName();
+        }
+        return parent::_toOptionArray($valueField, $labelField, $additional);
+    }
+
+    /**
+     * Overridden to use _idFieldName by default.
+     *
+     * @param   string $valueField
+     * @param   string $labelField
+     * @return  array
+     */
+    protected function _toOptionHash($valueField = null, $labelField = 'name')
+    {
+        if ($valueField === null) {
+            $valueField = $this->getIdFieldName();
+        }
+        return parent::_toOptionHash($valueField, $labelField);
+    }
+
     /**
      * Convert items array to hash for select options
      * using fetchItem method
@@ -617,8 +648,11 @@ class Db extends \Magento\Data\Collection
      * @param   string $labelField
      * @return  array
      */
-    protected function _toOptionHashOptimized($valueField='id', $labelField='name')
+    protected function _toOptionHashOptimized($valueField = null, $labelField = 'name')
     {
+        if ($valueField === null) {
+            $valueField = $this->getIdFieldName();
+        }
         $result = array();
         while ($item = $this->fetchItem()) {
             $result[$item->getData($valueField)] = $item->getData($labelField);
diff --git a/lib/Magento/Data/Form/Element/AbstractElement.php b/lib/Magento/Data/Form/Element/AbstractElement.php
index 9928b00c929..e9367941c18 100644
--- a/lib/Magento/Data/Form/Element/AbstractElement.php
+++ b/lib/Magento/Data/Form/Element/AbstractElement.php
@@ -226,7 +226,7 @@ abstract class AbstractElement extends \Magento\Data\Form\AbstractForm
 
     protected function _getUiId($suffix = null)
     {
-        if ($this->_renderer instanceof \Magento\Core\Block\AbstractBlock) {
+        if ($this->_renderer instanceof \Magento\View\Block\AbstractBlock) {
             return $this->_renderer->getUiId($this->getType(), $this->getName(), $suffix);
         } else {
             return ' data-ui-id="form-element-' . $this->getName() . ($suffix ? : '') . '"';
diff --git a/lib/Magento/Data/Tree/Node.php b/lib/Magento/Data/Tree/Node.php
index 3c2d8a7c6cd..d08e2bd3053 100644
--- a/lib/Magento/Data/Tree/Node.php
+++ b/lib/Magento/Data/Tree/Node.php
@@ -258,7 +258,7 @@ class Node extends \Magento\Object
     public function getPath(&$prevNodes = array())
     {
         if ($this->_parent) {
-            array_push($prevNodes, $this);
+            $prevNodes[] = $this;
             $this->_parent->getPath($prevNodes);
         }
         return $prevNodes;
diff --git a/lib/Magento/Encryption/UrlCoder.php b/lib/Magento/Encryption/UrlCoder.php
new file mode 100644
index 00000000000..2b2651d8df9
--- /dev/null
+++ b/lib/Magento/Encryption/UrlCoder.php
@@ -0,0 +1,63 @@
+<?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\Encryption;
+
+class UrlCoder
+{
+    /**
+     * @var \Magento\UrlInterface
+     */
+    protected $_url;
+
+    /**
+     * @param \Magento\UrlInterface $url
+     */
+    public function __construct(\Magento\UrlInterface $url)
+    {
+        $this->_url = $url;
+    }
+
+    /**
+     * base64_encode() for URLs encoding
+     *
+     * @param    string $url
+     * @return   string
+     */
+    public function encode($url)
+    {
+        return strtr(base64_encode($url), '+/=', '-_,');
+    }
+
+    /**
+     *  base64_decode() for URLs decoding
+     *
+     * @param    string $url
+     * @return   string
+     */
+    public function decode($url)
+    {
+        return $this->_url->sessionUrlVar(base64_decode(strtr($url, '-_,', '+/=')));
+    }
+} 
\ No newline at end of file
diff --git a/lib/Magento/Escaper.php b/lib/Magento/Escaper.php
index 3390ed98abc..64dfa96c1d4 100644
--- a/lib/Magento/Escaper.php
+++ b/lib/Magento/Escaper.php
@@ -67,7 +67,7 @@ class Escaper
      */
     public function escapeUrl($data)
     {
-        return htmlspecialchars($data);
+        return htmlspecialchars($data, ENT_COMPAT, 'UTF-8', false);
     }
 
     /**
diff --git a/lib/Magento/Interception/Config/Config.php b/lib/Magento/Interception/Config/Config.php
index 3a7de01deac..ac5885b5674 100644
--- a/lib/Magento/Interception/Config/Config.php
+++ b/lib/Magento/Interception/Config/Config.php
@@ -76,13 +76,6 @@ class Config implements \Magento\Interception\Config
      */
     protected $_reader;
 
-    /**
-     * Configuration scope resolver
-     *
-     * @var \Magento\Config\ScopeInterface
-     */
-    protected $_configScope;
-
     /**
      * Inherited list of intercepted types
      *
@@ -92,7 +85,7 @@ class Config implements \Magento\Interception\Config
 
     /**
      * @param \Magento\Config\ReaderInterface $reader
-     * @param \Magento\Config\ScopeInterface $configScope
+     * @param \Magento\Config\ScopeListInterface $scopeList
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\ObjectManager\Relations $relations
      * @param \Magento\ObjectManager\Config $omConfig
@@ -102,7 +95,7 @@ class Config implements \Magento\Interception\Config
      */
     public function __construct(
         \Magento\Config\ReaderInterface $reader,
-        \Magento\Config\ScopeInterface $configScope,
+        \Magento\Config\ScopeListInterface $scopeList,
         \Magento\Cache\FrontendInterface $cache,
         \Magento\ObjectManager\Relations $relations,
         \Magento\ObjectManager\Config $omConfig,
@@ -117,14 +110,13 @@ class Config implements \Magento\Interception\Config
         $this->_cache = $cache;
         $this->_cacheId = $cacheId;
         $this->_reader = $reader;
-        $this->_configScope = $configScope;
 
         $intercepted = $this->_cache->load($this->_cacheId);
         if ($intercepted !== false) {
             $this->_intercepted = unserialize($intercepted);
         } else {
             $config = array();
-            foreach ($this->_configScope->getAllScopes() as $scope) {
+            foreach ($scopeList->getAllScopes() as $scope) {
                 $config = array_replace_recursive($config, $this->_reader->read($scope));
             }
             foreach ($config as $typeName => $typeConfig) {
diff --git a/lib/Magento/Interception/PluginList/PluginList.php b/lib/Magento/Interception/PluginList/PluginList.php
index bf9037d4e36..245d15062b4 100644
--- a/lib/Magento/Interception/PluginList/PluginList.php
+++ b/lib/Magento/Interception/PluginList/PluginList.php
@@ -101,6 +101,7 @@ class PluginList
      *
      * @param string $type
      * @return array
+     * @throws \Zend\Soap\Exception\InvalidArgumentException
      * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      */
     protected function _inheritPlugins($type)
diff --git a/lib/Magento/Io/AbstractIo.php b/lib/Magento/Io/AbstractIo.php
index 35a04c65dda..8c3d167218b 100644
--- a/lib/Magento/Io/AbstractIo.php
+++ b/lib/Magento/Io/AbstractIo.php
@@ -107,7 +107,7 @@ abstract class AbstractIo implements \Magento\Io\IoInterface
                 }
             }
 
-            array_push($realPathParts, $pathParts[$i]);
+            $realPathParts[] = $pathParts[$i];
         }
 
         return $pathTokR . implode('/', $realPathParts);
diff --git a/app/code/Magento/Core/Model/Message/AbstractMessage.php b/lib/Magento/Message/AbstractMessage.php
similarity index 60%
rename from app/code/Magento/Core/Model/Message/AbstractMessage.php
rename to lib/Magento/Message/AbstractMessage.php
index 68e985319b9..6665116d7a4 100644
--- a/app/code/Magento/Core/Model/Message/AbstractMessage.php
+++ b/lib/Magento/Message/AbstractMessage.php
@@ -18,110 +18,147 @@
  * 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\Message;
+
 /**
  * Abstract message model
- *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Message;
-
 abstract class AbstractMessage
 {
     /**
      * @var string
      */
-    protected $_type;
+    protected $type;
 
     /**
      * @var string
      */
-    protected $_code;
+    protected $code;
+
+    /**
+     * @var mixed
+     */
+    protected $class;
+
+    /**
+     * @var mixed
+     */
+    protected $method;
+
+    /**
+     * @var mixed
+     */
+    protected $identifier;
 
-    protected $_class;
-    protected $_method;
-    protected $_identifier;
-    protected $_isSticky = false;
+    /**
+     * @var bool
+     */
+    protected $isSticky = false;
 
     /**
-     * @param string $type
      * @param string $code
      */
-    public function __construct($type, $code = '')
+    public function __construct($code = '')
     {
-        $this->_type = $type;
-        $this->_code = $code;
+        $this->code = $code;
     }
 
+    /**
+     * Get message code
+     *
+     * @return string
+     */
     public function getCode()
     {
-        return $this->_code;
+        return $this->code;
     }
 
+    /**
+     * Get message text
+     *
+     * @return string
+     */
     public function getText()
     {
         return $this->getCode();
     }
 
+    /**
+     * Get message type
+     *
+     * @return string
+     */
     public function getType()
     {
-        return $this->_type;
+        return $this->type;
     }
 
+    /**
+     * Get message class
+     *
+     * @param $class
+     */
     public function setClass($class)
     {
-        $this->_class = $class;
+        $this->class = $class;
     }
 
+    /**
+     * Get message method
+     *
+     * @param $method
+     */
     public function setMethod($method)
     {
-        $this->_method = $method;
+        $this->method = $method;
     }
 
+    /**
+     * Convert message to string
+     *
+     * @return string
+     */
     public function toString()
     {
-        $out = $this->getType().': '.$this->getText();
+        $out = $this->getType() . ': ' . $this->getText();
         return $out;
     }
 
     /**
      * Set message identifier
      *
-     * @param string $id
-     * @return \Magento\Core\Model\Message\AbstractMessage
+     * @param string $identifier
+     * @return AbstractMessage
      */
-    public function setIdentifier($id)
+    public function setIdentifier($identifier)
     {
-        $this->_identifier = $id;
+        $this->identifier = $identifier;
         return $this;
     }
 
     /**
      * Get message identifier
      *
-     *  @return string
+     * @return string
      */
     public function getIdentifier()
     {
-        return $this->_identifier;
+        return $this->identifier;
     }
 
     /**
      * Set message sticky status
      *
      * @param bool $isSticky
-     * @return \Magento\Core\Model\Message\AbstractMessage
+     * @return AbstractMessage
      */
     public function setIsSticky($isSticky = true)
     {
-        $this->_isSticky = $isSticky;
+        $this->isSticky = $isSticky;
         return $this;
     }
 
@@ -132,18 +169,18 @@ abstract class AbstractMessage
      */
     public function getIsSticky()
     {
-        return $this->_isSticky;
+        return $this->isSticky;
     }
 
     /**
      * Set code
      *
      * @param string $code
-     * @return \Magento\Core\Model\Message\AbstractMessage
+     * @return AbstractMessage
      */
     public function setCode($code)
     {
-        $this->_code = $code;
+        $this->code = $code;
         return $this;
     }
 }
diff --git a/app/code/Magento/Core/Model/Message/Collection.php b/lib/Magento/Message/Collection.php
similarity index 62%
rename from app/code/Magento/Core/Model/Message/Collection.php
rename to lib/Magento/Message/Collection.php
index ac05ab2847f..20f96d8e48e 100644
--- a/app/code/Magento/Core/Model/Message/Collection.php
+++ b/lib/Magento/Message/Collection.php
@@ -18,17 +18,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\Message;
+
 /**
  * Messages collection
  */
-namespace Magento\Core\Model\Message;
-
 class Collection
 {
     /**
@@ -36,20 +34,20 @@ class Collection
      *
      * @var array
      */
-    protected $_messages = array();
+    protected $messages = array();
 
     /**
      * @var string
      */
-    protected $_lastAddedMessage;
+    protected $lastAddedMessage;
 
     /**
      * Adding new message to collection
      *
-     * @param   \Magento\Core\Model\Message\AbstractMessage $message
-     * @return  \Magento\Core\Model\Message\Collection
+     * @param AbstractMessage $message
+     * @return Collection
      */
-    public function add(\Magento\Core\Model\Message\AbstractMessage $message)
+    public function add(AbstractMessage $message)
     {
         return $this->addMessage($message);
     }
@@ -57,34 +55,35 @@ class Collection
     /**
      * Adding new message to collection
      *
-     * @param   \Magento\Core\Model\Message\AbstractMessage $message
-     * @return  \Magento\Core\Model\Message\Collection
+     * @param AbstractMessage $message
+     * @return Collection
      */
-    public function addMessage(\Magento\Core\Model\Message\AbstractMessage $message)
+    public function addMessage(AbstractMessage $message)
     {
-        if (!isset($this->_messages[$message->getType()])) {
-            $this->_messages[$message->getType()] = array();
+        if (!isset($this->messages[$message->getType()])) {
+            $this->messages[$message->getType()] = array();
         }
-        $this->_messages[$message->getType()][] = $message;
-        $this->_lastAddedMessage = $message;
+        $this->messages[$message->getType()][] = $message;
+        $this->lastAddedMessage = $message;
         return $this;
     }
 
     /**
      * Clear all messages except sticky
      *
-     * @return \Magento\Core\Model\Message\Collection
+     * @return Collection
      */
     public function clear()
     {
-        foreach ($this->_messages as $type => $messages) {
+        foreach ($this->messages as $type => $messages) {
             foreach ($messages as $id => $message) {
+                /** @var $message AbstractMessage */
                 if (!$message->getIsSticky()) {
-                    unset($this->_messages[$type][$id]);
+                    unset($this->messages[$type][$id]);
                 }
             }
-            if (empty($this->_messages[$type])) {
-                unset($this->_messages[$type]);
+            if (empty($this->messages[$type])) {
+                unset($this->messages[$type]);
             }
         }
         return $this;
@@ -93,23 +92,24 @@ class Collection
     /**
      * Get last added message if any
      *
-     * @return \Magento\Core\Model\Message\AbstractMessage|null
+     * @return AbstractMessage|null
      */
     public function getLastAddedMessage()
     {
-        return $this->_lastAddedMessage;
+        return $this->lastAddedMessage;
     }
 
     /**
      * Get first even message by identifier
      *
      * @param string $identifier
-     * @return \Magento\Core\Model\Message\AbstractMessage|null
+     * @return AbstractMessage|null
      */
     public function getMessageByIdentifier($identifier)
     {
-        foreach ($this->_messages as $messages) {
+        foreach ($this->messages as $messages) {
             foreach ($messages as $message) {
+                /** @var $message AbstractMessage */
                 if ($identifier === $message->getIdentifier()) {
                     return $message;
                 }
@@ -124,13 +124,14 @@ class Collection
      */
     public function deleteMessageByIdentifier($identifier)
     {
-        foreach ($this->_messages as $type => $messages) {
+        foreach ($this->messages as $type => $messages) {
             foreach ($messages as $id => $message) {
+                /** @var $message AbstractMessage */
                 if ($identifier === $message->getIdentifier()) {
-                    unset($this->_messages[$type][$id]);
+                    unset($this->messages[$type][$id]);
                 }
-                if (empty($this->_messages[$type])) {
-                    unset($this->_messages[$type]);
+                if (empty($this->messages[$type])) {
+                    unset($this->messages[$type]);
                 }
             }
         }
@@ -139,17 +140,17 @@ class Collection
     /**
      * Retrieve messages collection items
      *
-     * @param   string $type
-     * @return  array
+     * @param string $type
+     * @return array
      */
     public function getItems($type = null)
     {
         if ($type) {
-            return isset($this->_messages[$type]) ? $this->_messages[$type] : array();
+            return isset($this->messages[$type]) ? $this->messages[$type] : array();
         }
 
         $arrRes = array();
-        foreach ($this->_messages as $messages) {
+        foreach ($this->messages as $messages) {
             $arrRes = array_merge($arrRes, $messages);
         }
 
@@ -159,12 +160,12 @@ class Collection
     /**
      * Retrieve all messages by type
      *
-     * @param   string $type
-     * @return  array
+     * @param string $type
+     * @return array
      */
     public function getItemsByType($type)
     {
-        return isset($this->_messages[$type]) ? $this->_messages[$type] : array();
+        return isset($this->messages[$type]) ? $this->messages[$type] : array();
     }
 
     /**
@@ -174,7 +175,7 @@ class Collection
      */
     public function getErrors()
     {
-        return $this->getItemsByType(\Magento\Core\Model\Message::ERROR);
+        return $this->getItemsByType(Factory::ERROR);
     }
 
     /**
@@ -200,11 +201,11 @@ class Collection
     public function count($type = null)
     {
         if ($type) {
-            if (isset($this->_messages[$type])) {
-                return count($this->_messages[$type]);
+            if (isset($this->messages[$type])) {
+                return count($this->messages[$type]);
             }
             return 0;
         }
-        return count($this->_messages);
+        return count($this->messages);
     }
 }
diff --git a/lib/Magento/Message/CollectionFactory.php b/lib/Magento/Message/CollectionFactory.php
new file mode 100644
index 00000000000..9ce6ce150f7
--- /dev/null
+++ b/lib/Magento/Message/CollectionFactory.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\Message;
+
+/**
+ * Message collection factory
+ */
+class CollectionFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $objectManager;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->objectManager = $objectManager;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return Collection
+     */
+    public function create(array $data = array())
+    {
+        return $this->objectManager->create('Magento\Message\Collection', $data);
+    }
+}
diff --git a/app/code/Magento/Core/Model/Message/Error.php b/lib/Magento/Message/Error.php
similarity index 75%
rename from app/code/Magento/Core/Model/Message/Error.php
rename to lib/Magento/Message/Error.php
index 627bef407d5..59f694976f5 100644
--- a/app/code/Magento/Core/Model/Message/Error.php
+++ b/lib/Magento/Message/Error.php
@@ -18,22 +18,19 @@
  * 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\Message;
 
-namespace Magento\Core\Model\Message;
-
-class Error extends \Magento\Core\Model\Message\AbstractMessage
+/**
+ * Error message model
+ */
+class Error extends AbstractMessage
 {
     /**
-     * @param string $code
+     * @var string
      */
-    public function __construct($code)
-    {
-        parent::__construct(\Magento\Core\Model\Message::ERROR, $code);
-    }
+    protected $type = Factory::ERROR;
 }
diff --git a/lib/Magento/Message/Factory.php b/lib/Magento/Message/Factory.php
new file mode 100644
index 00000000000..27de2b825a1
--- /dev/null
+++ b/lib/Magento/Message/Factory.php
@@ -0,0 +1,160 @@
+<?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\Message;
+
+/**
+ * Message model factory
+ */
+class Factory
+{
+    /**
+     * Error type
+     */
+    const ERROR = 'error';
+
+    /**
+     * Warning type
+     */
+    const WARNING = 'warning';
+
+    /**
+     * Notice type
+     */
+    const NOTICE = 'notice';
+
+    /**
+     * Success type
+     */
+    const SUCCESS = 'success';
+
+    /**
+     * Allowed message types
+     *
+     * @var array
+     */
+    protected $types = array(
+        self::ERROR,
+        self::WARNING,
+        self::NOTICE,
+        self::SUCCESS,
+    );
+
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $objectManager;
+
+    /**
+     * Factory constructor
+     *
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->objectManager = $objectManager;
+    }
+
+    /**
+     * Create message instance with specified parameters
+     *
+     * @param $type
+     * @param string $code
+     * @param string $class
+     * @param string $method
+     * @throws \InvalidArgumentException
+     * @return AbstractMessage
+     */
+    public function create($type, $code = '', $class = '', $method = '')
+    {
+        if (!in_array($type, $this->types)) {
+            throw new \InvalidArgumentException('Wrong message type');
+        }
+
+        $className = 'Magento\Message\\' . ucfirst($type);
+        $message = $this->objectManager->create($className, array('code' => $code));
+        if (!($message instanceof AbstractMessage)) {
+            throw new \InvalidArgumentException($className . ' doesn\'t extends \Magento\Message\AbstractMessage');
+        }
+
+        $message->setClass($class);
+        $message->setMethod($method);
+
+        return $message;
+    }
+
+    /**
+     * Create error message
+     *
+     * @param $code
+     * @param string $class
+     * @param string $method
+     * @return Error
+     */
+    public function error($code, $class='', $method='')
+    {
+        return $this->create(self::ERROR, $code, $class, $method);
+    }
+
+    /**
+     * Create warning message
+     *
+     * @param $code
+     * @param string $class
+     * @param string $method
+     * @return Warning
+     */
+    public function warning($code, $class='', $method='')
+    {
+        return $this->create(self::WARNING, $code, $class, $method);
+    }
+
+    /**
+     * Create notice message
+     *
+     * @param $code
+     * @param string $class
+     * @param string $method
+     * @return Notice
+     */
+    public function notice($code, $class='', $method='')
+    {
+        return $this->create(self::NOTICE, $code, $class, $method);
+    }
+
+    /**
+     * Create success message
+     *
+     * @param $code
+     * @param string $class
+     * @param string $method
+     * @return Success
+     */
+    public function success($code, $class='', $method='')
+    {
+        return $this->create(self::SUCCESS, $code, $class, $method);
+    }
+}
diff --git a/app/code/Magento/Core/Model/Message/Notice.php b/lib/Magento/Message/Notice.php
similarity index 75%
rename from app/code/Magento/Core/Model/Message/Notice.php
rename to lib/Magento/Message/Notice.php
index 71fb94e3d61..003b9a19aa2 100644
--- a/app/code/Magento/Core/Model/Message/Notice.php
+++ b/lib/Magento/Message/Notice.php
@@ -18,22 +18,19 @@
  * 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\Message;
 
-namespace Magento\Core\Model\Message;
-
-class Notice extends \Magento\Core\Model\Message\AbstractMessage
+/**
+ * Notice message model
+ */
+class Notice extends AbstractMessage
 {
     /**
-     * @param string $code
+     * @var string
      */
-    public function __construct($code)
-    {
-        parent::__construct(\Magento\Core\Model\Message::NOTICE, $code);
-    }
+    protected $type = Factory::NOTICE;
 }
diff --git a/app/code/Magento/Core/Model/Message/Success.php b/lib/Magento/Message/Success.php
similarity index 75%
rename from app/code/Magento/Core/Model/Message/Success.php
rename to lib/Magento/Message/Success.php
index 0ae1402de70..036f64bab7c 100644
--- a/app/code/Magento/Core/Model/Message/Success.php
+++ b/lib/Magento/Message/Success.php
@@ -18,22 +18,19 @@
  * 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\Message;
 
-namespace Magento\Core\Model\Message;
-
-class Success extends \Magento\Core\Model\Message\AbstractMessage
+/**
+ * Success message model
+ */
+class Success extends AbstractMessage
 {
     /**
-     * @param string $code
+     * @var string
      */
-    public function __construct($code)
-    {
-        parent::__construct(\Magento\Core\Model\Message::SUCCESS, $code);
-    }
+    protected $type = Factory::SUCCESS;
 }
diff --git a/app/code/Magento/Core/Model/Message/Warning.php b/lib/Magento/Message/Warning.php
similarity index 75%
rename from app/code/Magento/Core/Model/Message/Warning.php
rename to lib/Magento/Message/Warning.php
index e298bf7e78f..fd0a874a08d 100644
--- a/app/code/Magento/Core/Model/Message/Warning.php
+++ b/lib/Magento/Message/Warning.php
@@ -18,22 +18,19 @@
  * 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\Message;
 
-namespace Magento\Core\Model\Message;
-
-class Warning extends \Magento\Core\Model\Message\AbstractMessage
+/**
+ * Warning message model
+ */
+class Warning extends AbstractMessage
 {
     /**
-     * @param string $code
+     * @var string
      */
-    public function __construct($code)
-    {
-        parent::__construct(\Magento\Core\Model\Message::WARNING, $code);
-    }
+    protected $type = Factory::WARNING;
 }
diff --git a/lib/Magento/ObjectManager/Factory/Factory.php b/lib/Magento/ObjectManager/Factory/Factory.php
index b43943c92d8..efc146c1635 100644
--- a/lib/Magento/ObjectManager/Factory/Factory.php
+++ b/lib/Magento/ObjectManager/Factory/Factory.php
@@ -166,10 +166,6 @@ class Factory implements \Magento\ObjectManager\Factory
     {
         $type = $this->_config->getInstanceType($requestedType);
         $parameters = $this->_definitions->getParameters($type);
-        if (!isset($this->_instances[$type])) {
-            $this->_instances[$type] = 0;
-        }
-        $this->_instances[$type]++;
         if ($parameters == null) {
             return new $type();
         }
diff --git a/lib/Magento/Phrase/Renderer/Composite.php b/lib/Magento/Phrase/Renderer/Composite.php
index 432eb3590a9..511081a56cb 100644
--- a/lib/Magento/Phrase/Renderer/Composite.php
+++ b/lib/Magento/Phrase/Renderer/Composite.php
@@ -65,7 +65,7 @@ class Composite implements \Magento\Phrase\RendererInterface
      */
     protected function _append($render)
     {
-        array_push($this->_renderers, $this->_rendererFactory->create($render));
+        $this->_renderers[] = $this->_rendererFactory->create($render);
     }
 
     /**
diff --git a/lib/Magento/TranslateInterface.php b/lib/Magento/TranslateInterface.php
new file mode 100644
index 00000000000..9a26798cafa
--- /dev/null
+++ b/lib/Magento/TranslateInterface.php
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Translator 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;
+
+/**
+ * @todo change this interface when i18n-related logic is moved to library
+ */
+interface TranslateInterface
+{
+    /**
+     * Translate
+     *
+     * @param array $args
+     * @return string
+     */
+    public function translate($args);
+
+    /**
+     * Parse and save edited translate
+     *
+     * @param array $translate
+     */
+    public function processAjaxPost($translate);
+
+    /**
+     * Replace translation templates with HTML fragments
+     *
+     * @param array|string $body
+     * @param bool $isJson
+     */
+    public function processResponseBody(&$body, $isJson = false);
+
+    /**
+     * Set Translate inline mode
+     *
+     * @param bool $flag
+     * @return \Magento\TranslateInterface
+     */
+    public function setTranslateInline($flag);
+}
diff --git a/app/code/Magento/Core/Block/AbstractBlock.php b/lib/Magento/View/Block/AbstractBlock.php
similarity index 92%
rename from app/code/Magento/Core/Block/AbstractBlock.php
rename to lib/Magento/View/Block/AbstractBlock.php
index cf7e77b9350..0de570a0db5 100644
--- a/app/code/Magento/Core/Block/AbstractBlock.php
+++ b/lib/Magento/View/Block/AbstractBlock.php
@@ -18,13 +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
  * @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\Block;
+namespace Magento\View\Block;
 
 use Magento\View\Element\BlockInterface;
 
@@ -52,7 +50,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     protected $_session;
 
     /**
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\TranslateInterface
      */
     protected $_translator;
 
@@ -82,18 +80,20 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Messages block instance
      *
-     * @var \Magento\Core\Block\Messages
+     * @var \Magento\View\Block\Messages
      */
-    protected $_messagesBlock = null;
+    protected $_messagesBlock;
 
     /**
      * Block html frame open tag
+     *
      * @var string
      */
     protected $_frameOpenTag;
 
     /**
      * Block html frame close tag
+     *
      * @var string
      */
     protected $_frameCloseTag;
@@ -121,7 +121,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     protected $_frontController;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
@@ -165,13 +165,13 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * @var \Magento\Core\Model\LocaleInterface
      */
-    protected $locale;
+    protected $_locale;
 
     /**
-     * @param \Magento\Core\Block\Context $context
+     * @param \Magento\View\Block\Context $context
      * @param array $data
      */
-    public function __construct(\Magento\Core\Block\Context $context, array $data = array())
+    public function __construct(\Magento\View\Block\Context $context, array $data = array())
     {
         $this->_request         = $context->getRequest();
         $this->_layout          = $context->getLayout();
@@ -191,7 +191,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
         $this->_app             = $context->getApp();
         $this->_escaper         = $context->getEscaper();
         $this->filterManager    = $context->getFilterManager();
-        $this->locale           = $context->getLocale();
+        $this->_locale           = $context->getLocale();
         parent::__construct($data);
         $this->_construct();
     }
@@ -208,7 +208,6 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Internal constructor, that is called from real constructor
      *
      * Please override this one instead of overriding real __construct constructor
-     *
      */
     protected function _construct()
     {
@@ -220,7 +219,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Retrieve parent block
      *
-     * @return \Magento\Core\Block\AbstractBlock|bool
+     * @return \Magento\View\Block\AbstractBlock|bool
      */
     public function getParentBlock()
     {
@@ -239,7 +238,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Set layout object
      *
      * @param   \Magento\View\LayoutInterface $layout
-     * @return  \Magento\Core\Block\AbstractBlock
+     * @return  \Magento\View\Block\AbstractBlock
      */
     public function setLayout(\Magento\View\LayoutInterface $layout)
     {
@@ -255,7 +254,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      *
      * You can redefine this method in child classes for changing layout
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _prepareLayout()
     {
@@ -276,7 +275,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Sets/changes name of a block in layout
      *
      * @param string $name
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function setNameInLayout($name)
     {
@@ -312,7 +311,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      *
      * @param   string $name
      * @param   mixed $value
-     * @return  \Magento\Core\Block\AbstractBlock
+     * @return  \Magento\View\Block\AbstractBlock
      */
     public function setAttribute($name, $value = null)
     {
@@ -323,8 +322,8 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Set child block
      *
      * @param   string $alias
-     * @param   \Magento\Core\Block\AbstractBlock|string $block
-     * @return  \Magento\Core\Block\AbstractBlock
+     * @param   \Magento\View\Block\AbstractBlock|string $block
+     * @return  \Magento\View\Block\AbstractBlock
      */
     public function setChild($alias, $block)
     {
@@ -351,7 +350,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * @param string $alias
      * @param string $block
      * @param array $data
-     * @return \Magento\Core\Block\AbstractBlock new block
+     * @return \Magento\View\Block\AbstractBlock new block
      */
     public function addChild($alias, $block, $data = array())
     {
@@ -366,7 +365,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Unset child block
      *
      * @param  string $alias
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function unsetChild($alias)
     {
@@ -395,7 +394,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * @param string $callback
      * @param mixed $result
      * @param array $params
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function unsetCallChild($alias, $callback, $result, $params)
     {
@@ -419,7 +418,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Unset all children blocks
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function unsetChildren()
     {
@@ -439,7 +438,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Retrieve child block by name
      *
      * @param string $alias
-     * @return \Magento\Core\Block\AbstractBlock|bool
+     * @return \Magento\View\Block\AbstractBlock|bool
      */
     public function getChildBlock($alias)
     {
@@ -533,11 +532,11 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      *
      * By default inserts as first element into children list
      *
-     * @param \Magento\Core\Block\AbstractBlock|string $element
+     * @param \Magento\View\Block\AbstractBlock|string $element
      * @param string|int|null $siblingName
      * @param bool $after
      * @param string $alias
-     * @return \Magento\Core\Block\AbstractBlock|bool
+     * @return \Magento\View\Block\AbstractBlock|bool
      */
     public function insert($element, $siblingName = 0, $after = true, $alias = '')
     {
@@ -545,7 +544,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
         if (!$layout) {
             return false;
         }
-        if ($element instanceof \Magento\Core\Block\AbstractBlock) {
+        if ($element instanceof \Magento\View\Block\AbstractBlock) {
             $elementName = $element->getNameInLayout();
         } else {
             $elementName = $element;
@@ -558,9 +557,9 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Append element to the end of children list
      *
-     * @param \Magento\Core\Block\AbstractBlock|string $element
+     * @param \Magento\View\Block\AbstractBlock|string $element
      * @param string $alias
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function append($element, $alias = '')
     {
@@ -601,7 +600,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Before rendering html, but after trying to load cache
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeToHtml()
     {
@@ -613,7 +612,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      *
      * @param $openTag
      * @param $closeTag
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     public function setFrameTags($openTag, $closeTag = null)
     {
@@ -687,8 +686,11 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     }
 
     /**
-     * Retrieve data-ui-id attribute which will distinguish link/input/container/anything else in template among others
-     * Function takes an arbitrary amount of parameters
+     * Retrieve data-ui-id attribute
+     *
+     * Retrieve data-ui-id attribute which will distinguish
+     * link/input/container/anything else in template among others.
+     * Function takes an arbitrary amount of parameters.
      *
      * @return string
      */
@@ -699,6 +701,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
 
     /**
      * Generate id for using in JavaScript UI
+     *
      * Function takes an arbitrary amount of parameters
      *
      * @return string
@@ -779,7 +782,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Retrieve messages block
      *
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     public function getMessagesBlock()
     {
@@ -792,10 +795,10 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Set messages block
      *
-     * @param   \Magento\Core\Block\Messages $block
-     * @return  \Magento\Core\Block\AbstractBlock
+     * @param   \Magento\View\Block\Messages $block
+     * @return  \Magento\View\Block\AbstractBlock
      */
-    public function setMessagesBlock(\Magento\Core\Block\Messages $block)
+    public function setMessagesBlock(\Magento\View\Block\Messages $block)
     {
         $this->_messagesBlock = $block;
         return $this;
@@ -805,7 +808,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Return helper object
      *
      * @param string $name
-     * @return \Magento\Core\Helper\AbstractHelper
+     * @return \Magento\App\Helper\AbstractHelper
      */
     public function helper($name)
     {
@@ -823,7 +826,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     public function formatDate(
         $date = null, $format =  \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT, $showTime = false
     ) {
-        return $this->locale->formatDate($date, $format, $showTime);
+        return $this->_locale->formatDate($date, $format, $showTime);
     }
 
     /**
@@ -837,7 +840,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     public function formatTime(
         $time = null, $format = \Magento\Core\Model\LocaleInterface::FORMAT_TYPE_SHORT, $showDate = false
     ) {
-        return $this->locale->formatTime($time, $format, $showDate);
+        return $this->_locale->formatTime($time, $format, $showDate);
     }
 
     /**
@@ -906,6 +909,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
 
     /**
      * Escape quotes inside html attributes
+     *
      * Use $addSlashes = false for escaping js that inside html attribute (onClick, onSubmit etc)
      *
      * @param  string $data
@@ -942,12 +946,12 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     /**
      * Prepare url for save to cache
      *
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _beforeCacheUrl()
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_storeManager->setUseSessionVar(true);
+            $this->_app->setUseSessionVar(true);
         }
         return $this;
     }
@@ -961,7 +965,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
     protected function _afterCacheUrl($html)
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_storeManager->setUseSessionVar(false);
+            $this->_app->setUseSessionVar(false);
             \Magento\Profiler::start('CACHE_URL');
             $html = $this->_urlBuilder->sessionUrlVar($html);
             \Magento\Profiler::stop('CACHE_URL');
@@ -971,6 +975,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
 
     /**
      * Get cache key informative items
+     *
      * Provide string array key to share specific info item with FPC placeholder
      *
      * @return array
@@ -1059,7 +1064,7 @@ abstract class AbstractBlock extends \Magento\Object implements BlockInterface
      * Save block content to cache storage
      *
      * @param string $data
-     * @return \Magento\Core\Block\AbstractBlock
+     * @return \Magento\View\Block\AbstractBlock
      */
     protected function _saveCache($data)
     {
diff --git a/app/code/Magento/Core/Block/Context.php b/lib/Magento/View/Block/Context.php
similarity index 91%
rename from app/code/Magento/Core/Block/Context.php
rename to lib/Magento/View/Block/Context.php
index 3784bf13b72..f2a88da0db7 100644
--- a/app/code/Magento/Core/Block/Context.php
+++ b/lib/Magento/View/Block/Context.php
@@ -1,8 +1,5 @@
 <?php
 /**
- * Abstract block context object. Will be used as block constructor modification point after release.
- * Important: Should not be modified by extension developers.
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -24,8 +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\Block;
 
+namespace Magento\View\Block;
+
+/**
+ * Abstract block context object
+ *
+ * Will be used as block constructor modification point after release.
+ * Important: Should not be modified by extension developers.
+ *
+ * @SuppressWarnings(PHPMD.TooManyFields)
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
@@ -49,7 +56,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_urlBuilder;
 
     /**
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\TranslateInterface
      */
     protected $_translator;
 
@@ -79,7 +86,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_frontController;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $_helperFactory;
 
@@ -130,13 +137,13 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\UrlInterface $urlBuilder
-     * @param \Magento\Core\Model\Translate $translator
+     * @param \Magento\TranslateInterface $translator
      * @param \Magento\App\CacheInterface $cache
      * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\App\FrontController $frontController
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\App\Cache\StateInterface $cacheState
@@ -146,19 +153,22 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\Filter\FilterManager $filterManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param array $data
+     *
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function __construct(
         \Magento\App\RequestInterface $request,
         \Magento\View\LayoutInterface $layout,
         \Magento\Event\ManagerInterface $eventManager,
         \Magento\UrlInterface $urlBuilder,
-        \Magento\Core\Model\Translate $translator,
+        \Magento\TranslateInterface $translator,
         \Magento\App\CacheInterface $cache,
         \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\App\FrontController $frontController,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         \Magento\View\Url $viewUrl,
         \Magento\View\ConfigInterface $viewConfig,
         \Magento\App\Cache\StateInterface $cacheState,
@@ -223,7 +233,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Factory\Helper
+     * @return \Magento\App\Helper\HelperFactory
      */
     public function getHelperFactory()
     {
@@ -263,7 +273,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Translate
+     * @return \Magento\TranslateInterface
      */
     public function getTranslator()
     {
diff --git a/app/code/Magento/Core/Block/Html/Calendar.php b/lib/Magento/View/Block/Html/Calendar.php
similarity index 82%
rename from app/code/Magento/Core/Block/Html/Calendar.php
rename to lib/Magento/View/Block/Html/Calendar.php
index f295accc21b..12aaaa9f833 100644
--- a/app/code/Magento/Core/Block/Html/Calendar.php
+++ b/lib/Magento/View/Block/Html/Calendar.php
@@ -18,23 +18,18 @@
  * 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\Block\Html;
+
 /**
  * Calendar block for page header
- * Prepares localization data for calendar
  *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Prepares localization data for calendar
  */
-namespace Magento\Core\Block\Html;
-
-class Calendar extends \Magento\Core\Block\Template
+class Calendar extends \Magento\View\Block\Template
 {
     /**
      * Date model
@@ -44,31 +39,26 @@ class Calendar extends \Magento\Core\Block\Template
     protected $_date;
 
     /**
-     * Core locale
-     *
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    protected $_locale;
-
-    /**
-     * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Date $date
+     * @param \Magento\View\Block\Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
+     * @param \Magento\Core\Model\Date $date
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Date $date,
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
+        \Magento\Core\Model\Date $date,
         array $data = array()
     ) {
-        $this->_locale = $locale;
         $this->_date = $date;
-        parent::__construct($coreData, $context, $data);
+        parent::__construct($context, $coreData, $data);
     }
 
+    /**
+     * Render block HTML
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         $localeCode = $this->_locale->getLocaleCode();
@@ -97,8 +87,10 @@ class Calendar extends \Magento\Core\Block\Template
         $this->assign('pm', $helper->jsonEncode(\Zend_Locale_Data::getContent($localeCode, 'pm')));
 
         // get first day of week and weekend days
-        $this->assign('firstDay',    (int)$this->_storeConfig->getConfig('general/locale/firstday'));
-        $this->assign('weekendDays', $helper->jsonEncode((string)$this->_storeConfig->getConfig('general/locale/weekend')));
+        $this->assign('firstDay', (int)$this->_storeConfig->getConfig('general/locale/firstday'));
+        $this->assign('weekendDays', $helper->jsonEncode(
+            (string)$this->_storeConfig->getConfig('general/locale/weekend')
+        ));
 
         // define default format and tooltip format
         $this->assign(
diff --git a/app/code/Magento/Core/Block/Html/Date.php b/lib/Magento/View/Block/Html/Date.php
similarity index 79%
rename from app/code/Magento/Core/Block/Html/Date.php
rename to lib/Magento/View/Block/Html/Date.php
index 25051bdc5aa..85030c9738d 100644
--- a/app/code/Magento/Core/Block/Html/Date.php
+++ b/lib/Magento/View/Block/Html/Date.php
@@ -18,28 +18,27 @@
  * 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\Block\Html;
 
 /**
- * HTML select element block
- *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Date element block
  */
-namespace Magento\Core\Block\Html;
-
-class Date extends \Magento\Core\Block\Template
+class Date extends \Magento\View\Block\Template
 {
+    /**
+     * Render block HTML
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         $html  = '<input type="text" name="' . $this->getName() . '" id="' . $this->getId() . '" ';
-        $html .= 'value="' . $this->escapeHtml($this->getValue()) . '" class="' . $this->getClass() . '" ' . $this->getExtraParams() . '/> ';
+        $html .= 'value="' . $this->escapeHtml($this->getValue()) . '" ';
+        $html .= 'class="' . $this->getClass() . '" ' . $this->getExtraParams() . '/> ';
         $calendarYearsRange = $this->getYearsRange();
         $html .=
             '<script type="text/javascript">
@@ -62,15 +61,26 @@ class Date extends \Magento\Core\Block\Template
         return $html;
     }
 
-    public function getEscapedValue($index=null) {
-
-        if($this->getFormat() && $this->getValue()) {
+    /**
+     * Convert special characters to HTML entities
+     *
+     * @return string
+     */
+    public function getEscapedValue()
+    {
+        if ($this->getFormat() && $this->getValue()) {
             return strftime($this->getFormat(), strtotime($this->getValue()));
         }
-
         return htmlspecialchars($this->getValue());
     }
 
+    /**
+     * Produce and return block's html output
+     *
+     * {@inheritdoc}
+     *
+     * @return string
+     */
     public function getHtml()
     {
         return $this->toHtml();
diff --git a/app/code/Magento/Core/Block/Html/Link.php b/lib/Magento/View/Block/Html/Link.php
similarity index 80%
rename from app/code/Magento/Core/Block/Html/Link.php
rename to lib/Magento/View/Block/Html/Link.php
index 1cb52100a05..9b1be038cf4 100644
--- a/app/code/Magento/Core/Block/Html/Link.php
+++ b/lib/Magento/View/Block/Html/Link.php
@@ -18,29 +18,19 @@
  * 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\Block\Html;
 
 /**
  * HTML anchor element block
- *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Block\Html;
-
-class Link extends \Magento\Core\Block\Template
+class Link extends \Magento\View\Block\Template
 {
-
-    protected $_template = 'Magento_Core::link.phtml';
-
     /**
-     * Prepare link attributes as serialized and formated string
+     * Prepare link attributes as serialized and formatted string
      *
      * @return string
      */
@@ -66,6 +56,7 @@ class Link extends \Magento\Core\Block\Template
         if (!empty($attributes)) {
             return $this->serialize($attributes);
         }
+
         return '';
     }
 
@@ -78,15 +69,27 @@ class Link extends \Magento\Core\Block\Template
      * @param   string $quote
      * @return  string
      */
-    public function serialize($attributes = array(), $valueSeparator='=', $fieldSeparator=' ', $quote='"')
+    public function serialize($attributes = array(), $valueSeparator = '=', $fieldSeparator = ' ', $quote = '"')
     {
-        $res  = '';
         $data = array();
-
         foreach ($attributes as $key => $value) {
             $data[] = $key . $valueSeparator . $quote . $value . $quote;
         }
-        $res = implode($fieldSeparator, $data);
-        return $res;
+
+        return implode($fieldSeparator, $data);
+    }
+
+    /**
+     * Render block HTML
+     *
+     * @return string
+     */
+    protected function _toHtml()
+    {
+        if (false != $this->getTemplate()) {
+            return parent::_toHtml();
+        }
+
+        return '<a ' . $this->getLinkAttributes() . ' >' . $this->escapeHtml($this->getAnchorText()) . '</a>';
     }
 }
diff --git a/app/code/Magento/Core/Block/Html/Select.php b/lib/Magento/View/Block/Html/Select.php
similarity index 86%
rename from app/code/Magento/Core/Block/Html/Select.php
rename to lib/Magento/View/Block/Html/Select.php
index 78abf03958c..719f687a56a 100644
--- a/app/code/Magento/Core/Block/Html/Select.php
+++ b/lib/Magento/View/Block/Html/Select.php
@@ -18,25 +18,20 @@
  * 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\Block\Html;
 
 /**
  * HTML select element block
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Block\Html;
-
-class Select extends \Magento\Core\Block\AbstractBlock
+class Select extends \Magento\View\Block\AbstractBlock
 {
-
+    /**
+     * @var array
+     */
     protected $_options = array();
 
     /**
@@ -53,7 +48,7 @@ class Select extends \Magento\Core\Block\AbstractBlock
      * Set options for the HTML select
      *
      * @param array $options
-     * @return \Magento\Core\Block\Html\Select
+     * @return Select
      */
     public function setOptions($options)
     {
@@ -67,9 +62,9 @@ class Select extends \Magento\Core\Block\AbstractBlock
      * @param string $value  HTML value
      * @param string $label  HTML label
      * @param array  $params HTML attributes
-     * @return \Magento\Core\Block\Html\Select
+     * @return Select
      */
-    public function addOption($value, $label, $params=array())
+    public function addOption($value, $label, $params = array())
     {
         $this->_options[] = array('value' => $value, 'label' => $label, 'params' => $params);
         return $this;
@@ -78,12 +73,12 @@ class Select extends \Magento\Core\Block\AbstractBlock
     /**
      * Set element's HTML ID
      *
-     * @param string $id ID
-     * @return \Magento\Core\Block\Html\Select
+     * @param string $elementId ID
+     * @return Select
      */
-    public function setId($id)
+    public function setId($elementId)
     {
-        $this->setData('id', $id);
+        $this->setData('id', $elementId);
         return $this;
     }
 
@@ -91,7 +86,7 @@ class Select extends \Magento\Core\Block\AbstractBlock
      * Set element's CSS class
      *
      * @param string $class Class
-     * @return \Magento\Core\Block\Html\Select
+     * @return Select
      */
     public function setClass($class)
     {
@@ -103,7 +98,7 @@ class Select extends \Magento\Core\Block\AbstractBlock
      * Set element's HTML title
      *
      * @param string $title Title
-     * @return \Magento\Core\Block\Html\Select
+     * @return Select
      */
     public function setTitle($title)
     {
@@ -145,6 +140,8 @@ class Select extends \Magento\Core\Block\AbstractBlock
      * Render HTML
      *
      * @return string
+     *
+     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      */
     protected function _toHtml()
     {
@@ -154,14 +151,10 @@ class Select extends \Magento\Core\Block\AbstractBlock
 
         $html = '<select name="' . $this->getName() . '" id="' . $this->getId() . '" class="'
             . $this->getClass() . '" title="' . $this->getTitle() . '" ' . $this->getExtraParams() . '>';
-        $values = $this->getValue();
 
-        if (!is_array($values)){
-            if (!is_null($values)) {
-                $values = array($values);
-            } else {
-                $values = array();
-            }
+        $values = $this->getValue();
+        if (!is_array($values)) {
+            $values = (array)$values;
         }
 
         $isArrayOption = true;
@@ -234,11 +227,13 @@ class Select extends \Magento\Core\Block\AbstractBlock
             }
         }
 
-        return sprintf('<option value="%s"%s %s>%s</option>',
+        return sprintf(
+            '<option value="%s"%s %s>%s</option>',
             $this->escapeHtml($option['value']),
             $selectedHtml,
             $params,
-            $this->escapeHtml($option['label']));
+            $this->escapeHtml($option['label'])
+        );
     }
 
     /**
diff --git a/app/code/Magento/Core/Block/Messages.php b/lib/Magento/View/Block/Messages.php
similarity index 55%
rename from app/code/Magento/Core/Block/Messages.php
rename to lib/Magento/View/Block/Messages.php
index 100f6675ea0..8315db985c1 100644
--- a/app/code/Magento/Core/Block/Messages.php
+++ b/lib/Magento/View/Block/Messages.php
@@ -18,114 +18,108 @@
  * 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\Block;
+
 /**
- * Messages block
- *
- * @category   Magento
- * @package    Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Class Messages
  */
-namespace Magento\Core\Block;
-
-class Messages extends \Magento\Core\Block\Template
+class Messages extends \Magento\View\Block\Template
 {
     /**
      * Messages collection
      *
-     * @var \Magento\Core\Model\Message\Collection
+     * @var \Magento\Message\Collection
      */
-    protected $_messages;
+    protected $messages;
 
     /**
      * Store first level html tag name for messages html output
      *
      * @var string
      */
-    protected $_messagesFirstLevelTagName = 'ul';
+    protected $firstLevelTagName = 'ul';
 
     /**
      * Store second level html tag name for messages html output
      *
      * @var string
      */
-    protected $_messagesSecondLevelTagName = 'li';
+    protected $secondLevelTagName = 'li';
 
     /**
      * Store content wrapper html tag name for messages html output
      *
      * @var string
      */
-    protected $_messagesContentWrapperTagName = 'span';
+    protected $contentWrapTagName = 'span';
 
     /**
      * Flag which require message text escape
      *
      * @var bool
      */
-    protected $_escapeMessageFlag = false;
+    protected $escapeMessageFlag = false;
 
     /**
      * Storage for used types of message storages
      *
      * @var array
      */
-    protected $_usedStorageTypes = array();
+    protected $usedStorageTypes = array();
 
     /**
      * Grouped message types
      *
      * @var array
      */
-    protected $_messageTypes = array(
-        \Magento\Core\Model\Message::ERROR,
-        \Magento\Core\Model\Message::WARNING,
-        \Magento\Core\Model\Message::NOTICE,
-        \Magento\Core\Model\Message::SUCCESS
+    protected $messageTypes = array(
+        \Magento\Message\Factory::ERROR,
+        \Magento\Message\Factory::WARNING,
+        \Magento\Message\Factory::NOTICE,
+        \Magento\Message\Factory::SUCCESS
     );
 
     /**
      * Message singleton
      *
-     * @var \Magento\Core\Model\Message
+     * @var \Magento\Message\Factory
      */
-    protected $_message;
+    protected $messageFactory;
 
     /**
      * Message model factory
      *
-     * @var \Magento\Core\Model\MessageFactory
+     * @var \Magento\Message\CollectionFactory
      */
-    protected $_messageFactory;
+    protected $collectionFactory;
 
     /**
+     * @param Template\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\Message $message
-     * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
+     * @param \Magento\Message\Factory $messageFactory
+     * @param \Magento\Message\CollectionFactory $collectionFactory
      * @param array $data
      */
     public function __construct(
+        \Magento\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\Message $message,
-        \Magento\Core\Model\Message\CollectionFactory $messageFactory,
+        \Magento\Message\Factory $messageFactory,
+        \Magento\Message\CollectionFactory $collectionFactory,
         array $data = array()
     ) {
-        $this->_message = $message;
-        $this->_messageFactory = $messageFactory;
-        parent::__construct($coreData, $context, $data);
+        $this->messageFactory = $messageFactory;
+        $this->collectionFactory = $collectionFactory;
+        parent::__construct($context, $coreData, $data);
     }
 
     /**
      * Preparing global layout
      *
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     protected function _prepareLayout()
     {
@@ -139,33 +133,33 @@ class Messages extends \Magento\Core\Block\Template
      * Set message escape flag
      *
      * @param bool $flag
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     public function setEscapeMessageFlag($flag)
     {
-        $this->_escapeMessageFlag = $flag;
+        $this->escapeMessageFlag = $flag;
         return $this;
     }
 
     /**
      * Set messages collection
      *
-     * @param   \Magento\Core\Model\Message\Collection $messages
-     * @return  \Magento\Core\Block\Messages
+     * @param   \Magento\Message\Collection $messages
+     * @return  \Magento\View\Block\Messages
      */
-    public function setMessages(\Magento\Core\Model\Message\Collection $messages)
+    public function setMessages(\Magento\Message\Collection $messages)
     {
-        $this->_messages = $messages;
+        $this->messages = $messages;
         return $this;
     }
 
     /**
      * Add messages to display
      *
-     * @param \Magento\Core\Model\Message\Collection $messages
-     * @return \Magento\Core\Block\Messages
+     * @param \Magento\Message\Collection $messages
+     * @return \Magento\View\Block\Messages
      */
-    public function addMessages(\Magento\Core\Model\Message\Collection $messages)
+    public function addMessages(\Magento\Message\Collection $messages)
     {
         foreach ($messages->getItems() as $message) {
             $this->getMessageCollection()->add($message);
@@ -176,23 +170,23 @@ class Messages extends \Magento\Core\Block\Template
     /**
      * Retrieve messages collection
      *
-     * @return \Magento\Core\Model\Message\Collection
+     * @return \Magento\Message\Collection
      */
     public function getMessageCollection()
     {
-        if (!($this->_messages instanceof \Magento\Core\Model\Message\Collection)) {
-            $this->_messages = $this->_messageFactory->create();
+        if (!($this->messages instanceof \Magento\Message\Collection)) {
+            $this->messages = $this->collectionFactory->create();
         }
-        return $this->_messages;
+        return $this->messages;
     }
 
     /**
      * Adding new message to message collection
      *
-     * @param   \Magento\Core\Model\Message\AbstractMessage $message
-     * @return  \Magento\Core\Block\Messages
+     * @param   \Magento\Message\AbstractMessage $message
+     * @return  \Magento\View\Block\Messages
      */
-    public function addMessage(\Magento\Core\Model\Message\AbstractMessage $message)
+    public function addMessage(\Magento\Message\AbstractMessage $message)
     {
         $this->getMessageCollection()->add($message);
         return $this;
@@ -202,11 +196,11 @@ class Messages extends \Magento\Core\Block\Template
      * Adding new error message
      *
      * @param   string $message
-     * @return  \Magento\Core\Block\Messages
+     * @return  \Magento\View\Block\Messages
      */
     public function addError($message)
     {
-        $this->addMessage($this->_message->error($message));
+        $this->addMessage($this->messageFactory->error($message));
         return $this;
     }
 
@@ -214,11 +208,11 @@ class Messages extends \Magento\Core\Block\Template
      * Adding new warning message
      *
      * @param   string $message
-     * @return  \Magento\Core\Block\Messages
+     * @return  \Magento\View\Block\Messages
      */
     public function addWarning($message)
     {
-        $this->addMessage($this->_message->warning($message));
+        $this->addMessage($this->messageFactory->warning($message));
         return $this;
     }
 
@@ -226,11 +220,11 @@ class Messages extends \Magento\Core\Block\Template
      * Adding new notice message
      *
      * @param   string $message
-     * @return  \Magento\Core\Block\Messages
+     * @return  \Magento\View\Block\Messages
      */
     public function addNotice($message)
     {
-        $this->addMessage($this->_message->notice($message));
+        $this->addMessage($this->messageFactory->notice($message));
         return $this;
     }
 
@@ -238,11 +232,11 @@ class Messages extends \Magento\Core\Block\Template
      * Adding new success message
      *
      * @param   string $message
-     * @return  \Magento\Core\Block\Messages
+     * @return  \Magento\View\Block\Messages
      */
     public function addSuccess($message)
     {
-        $this->addMessage($this->_message->success($message));
+        $this->addMessage($this->messageFactory->success($message));
         return $this;
     }
 
@@ -257,25 +251,6 @@ class Messages extends \Magento\Core\Block\Template
         return $this->getMessageCollection()->getItems($type);
     }
 
-    /**
-     * Retrieve messages in HTML format
-     *
-     * @param   string $type
-     * @return  string
-     */
-    public function getHtml($type = null)
-    {
-        $html = '<' . $this->_messagesFirstLevelTagName . ' id="admin_messages">';
-        foreach ($this->getMessages($type) as $message) {
-            $html .= '<' . $this->_messagesSecondLevelTagName . ' class="' . $message->getType() . '-msg" '
-                . $this->getUiId('message') . '>'
-                . $this->_escapeMessageFlag ? $this->escapeHtml($message->getText()) : $message->getText()
-                . '</' . $this->_messagesSecondLevelTagName . '>';
-        }
-        $html .= '</' . $this->_messagesFirstLevelTagName . '>';
-        return $html;
-    }
-
     /**
      * Return grouped message types
      *
@@ -283,7 +258,7 @@ class Messages extends \Magento\Core\Block\Template
      */
     public function getMessageTypes()
     {
-        return $this->_messageTypes;
+        return $this->messageTypes;
     }
 
     /**
@@ -326,24 +301,24 @@ class Messages extends \Magento\Core\Block\Template
         foreach ($this->getMessageTypes() as $type) {
             if ($messages = $this->getMessages($type)) {
                 if (!$html) {
-                    $html .= '<' . $this->_messagesFirstLevelTagName . ' class="messages">';
+                    $html .= '<' . $this->firstLevelTagName . ' class="messages">';
                 }
-                $html .= '<' . $this->_messagesSecondLevelTagName . ' class="' . $type . '-msg">';
-                $html .= '<' . $this->_messagesFirstLevelTagName . '>';
+                $html .= '<' . $this->secondLevelTagName . ' class="' . $type . '-msg">';
+                $html .= '<' . $this->firstLevelTagName . '>';
 
                 foreach ($messages as $message) {
-                    $html.= '<' . $this->_messagesSecondLevelTagName . '>';
-                    $html.= '<' . $this->_messagesContentWrapperTagName .  $this->getUiId('message', $type) .  '>';
-                    $html.= ($this->_escapeMessageFlag) ? $this->escapeHtml($message->getText()) : $message->getText();
-                    $html.= '</' . $this->_messagesContentWrapperTagName . '>';
-                    $html.= '</' . $this->_messagesSecondLevelTagName . '>';
+                    $html.= '<' . $this->secondLevelTagName . '>';
+                    $html.= '<' . $this->contentWrapTagName .  $this->getUiId('message', $type) .  '>';
+                    $html.= ($this->escapeMessageFlag) ? $this->escapeHtml($message->getText()) : $message->getText();
+                    $html.= '</' . $this->contentWrapTagName . '>';
+                    $html.= '</' . $this->secondLevelTagName . '>';
                 }
-                $html .= '</' . $this->_messagesFirstLevelTagName . '>';
-                $html .= '</' . $this->_messagesSecondLevelTagName . '>';
+                $html .= '</' . $this->firstLevelTagName . '>';
+                $html .= '</' . $this->secondLevelTagName . '>';
             }
         }
         if ($html) {
-            $html .= '</' . $this->_messagesFirstLevelTagName . '>';
+            $html .= '</' . $this->firstLevelTagName . '>';
         }
         return $html;
     }
@@ -368,9 +343,9 @@ class Messages extends \Magento\Core\Block\Template
      *
      * @param string $tagName
      */
-    public function setMessagesFirstLevelTagName($tagName)
+    public function setFirstLevelTagName($tagName)
     {
-        $this->_messagesFirstLevelTagName = $tagName;
+        $this->firstLevelTagName = $tagName;
     }
 
     /**
@@ -378,9 +353,9 @@ class Messages extends \Magento\Core\Block\Template
      *
      * @param string $tagName
      */
-    public function setMessagesSecondLevelTagName($tagName)
+    public function setSecondLevelTagName($tagName)
     {
-        $this->_messagesSecondLevelTagName = $tagName;
+        $this->secondLevelTagName = $tagName;
     }
 
     /**
@@ -391,7 +366,7 @@ class Messages extends \Magento\Core\Block\Template
     public function getCacheKeyInfo()
     {
         return array(
-            'storage_types' => serialize($this->_usedStorageTypes)
+            'storage_types' => serialize($this->usedStorageTypes)
         );
     }
 
@@ -402,7 +377,7 @@ class Messages extends \Magento\Core\Block\Template
      */
     public function addStorageType($type)
     {
-        $this->_usedStorageTypes[] = $type;
+        $this->usedStorageTypes[] = $type;
     }
 
     /**
@@ -412,6 +387,6 @@ class Messages extends \Magento\Core\Block\Template
      */
     public function shouldEscapeMessage()
     {
-        return $this->_escapeMessageFlag;
+        return $this->escapeMessageFlag;
     }
 }
diff --git a/app/code/Magento/Core/Block/Template.php b/lib/Magento/View/Block/Template.php
similarity index 86%
rename from app/code/Magento/Core/Block/Template.php
rename to lib/Magento/View/Block/Template.php
index 16894e9908f..eab884d1be9 100644
--- a/app/code/Magento/Core/Block/Template.php
+++ b/lib/Magento/View/Block/Template.php
@@ -18,20 +18,21 @@
  * 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\Block;
+namespace Magento\View\Block;
 
 /**
  * Base html block
  */
-class Template extends \Magento\Core\Block\AbstractBlock
+class Template extends AbstractBlock
 {
-    const XML_PATH_TEMPLATE_ALLOW_SYMLINK       = 'dev/template/allow_symlink';
+    /**
+     * Config path to 'Allow Symlinks' template settings
+     */
+    const XML_PATH_TEMPLATE_ALLOW_SYMLINK = 'dev/template/allow_symlink';
 
     /**
      * Assigned variables for view
@@ -55,7 +56,7 @@ class Template extends \Magento\Core\Block\AbstractBlock
      *
      * @var bool
      */
-    protected $_allowSymlinks = null;
+    protected $_allowSymlinks;
 
     /**
      * @var \Magento\App\Dir
@@ -80,9 +81,9 @@ class Template extends \Magento\Core\Block\AbstractBlock
     protected $_template;
 
     /**
-     * @var \Magento\View\TemplateEngineFactory
+     * @var \Magento\View\TemplateEnginePool
      */
-    protected $_templateEngineFactory;
+    protected $templateEnginePool;
 
     /**
      * Core data
@@ -92,7 +93,7 @@ class Template extends \Magento\Core\Block\AbstractBlock
     protected $_coreData;
 
     /**
-     * @var \Magento\Core\Model\App
+     * @var \Magento\Core\Model\StoreManagerInterface
      */
     protected $_storeManager;
 
@@ -102,22 +103,23 @@ class Template extends \Magento\Core\Block\AbstractBlock
     protected $_appState;
 
     /**
+     * @param Template\Context $context
      * @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\View\Block\Template\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Block\Template\Context $context,
         array $data = array()
     ) {
         $this->_coreData = $coreData;
         $this->_dirs = $context->getDirs();
         $this->_filesystem = $context->getFilesystem();
         $this->_viewFileSystem = $context->getViewFileSystem();
-        $this->_templateEngineFactory = $context->getEngineFactory();
-        $this->_storeManager = $context->getApp();
+        $this->templateEnginePool = $context->getEnginePool();
+        $this->_storeManager = $context->getStoreManager();
         $this->_appState = $context->getAppState();
         parent::__construct($context, $data);
     }
@@ -133,7 +135,7 @@ class Template extends \Magento\Core\Block\AbstractBlock
          * In case template was passed through constructor
          * we assign it to block's property _template
          * Mainly for those cases when block created
-         * not via \Magento\Core\Model\Layout::addBlock()
+         * not via \Magento\View\LayoutInterface::addBlock()
          */
         if ($this->hasData('template')) {
             $this->setTemplate($this->getData('template'));
@@ -154,7 +156,7 @@ class Template extends \Magento\Core\Block\AbstractBlock
      * Set path to template used for generating block's output.
      *
      * @param string $template
-     * @return \Magento\Core\Block\Template
+     * @return \Magento\View\Block\Template
      */
     public function setTemplate($template)
     {
@@ -194,7 +196,7 @@ class Template extends \Magento\Core\Block\AbstractBlock
      *
      * @param   string|array $key
      * @param   mixed $value
-     * @return  \Magento\Core\Block\Template
+     * @return  \Magento\View\Block\Template
      */
     public function assign($key, $value=null)
     {
@@ -221,10 +223,10 @@ class Template extends \Magento\Core\Block\AbstractBlock
 
         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)
+                || $this->isAllowSymlinks()) && $this->_filesystem->isFile($fileName)
         ) {
             $extension = pathinfo($fileName, PATHINFO_EXTENSION);
-            $templateEngine = $this->_templateEngineFactory->get($extension);
+            $templateEngine = $this->templateEnginePool->get($extension);
             $html = $templateEngine->render($this, $fileName, $this->_viewVars);
         } else {
             $html = '';
@@ -289,11 +291,11 @@ class Template extends \Magento\Core\Block\AbstractBlock
     }
 
     /**
-     * Get is allowed symliks flag
+     * Get is allowed symlinks flag
      *
      * @return bool
      */
-    protected function _getAllowSymlinks()
+    protected function isAllowSymlinks()
     {
         if (is_null($this->_allowSymlinks)) {
             $this->_allowSymlinks = $this->_storeConfig->getConfigFlag(self::XML_PATH_TEMPLATE_ALLOW_SYMLINK);
diff --git a/app/code/Magento/Core/Block/Template/Context.php b/lib/Magento/View/Block/Template/Context.php
similarity index 76%
rename from app/code/Magento/Core/Block/Template/Context.php
rename to lib/Magento/View/Block/Template/Context.php
index 4df26e90250..ff98e22640a 100644
--- a/app/code/Magento/Core/Block/Template/Context.php
+++ b/lib/Magento/View/Block/Template/Context.php
@@ -1,15 +1,21 @@
 <?php
 /**
- * Magento block context object. Contains all block dependencies. Should not be used by any other class
- *
  * {licence_notice}
  *
  * @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\Block\Template;
 
-class Context extends \Magento\Core\Block\Context
+namespace Magento\View\Block\Template;
+
+/**
+ * Magento block context object
+ *
+ * Contains all block dependencies. Should not be used by any other class
+ *
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+class Context extends \Magento\View\Block\Context
 {
     /**
      * Dirs instance
@@ -38,27 +44,32 @@ class Context extends \Magento\Core\Block\Context
     protected $_viewFileSystem;
 
     /**
-     * @var \Magento\View\TemplateEngineFactory
+     * @var \Magento\View\TemplateEnginePool
      */
-    protected $_engineFactory;
+    protected $enginePool;
 
     /**
      * @var \Magento\App\State
      */
     protected $_appState;
 
+    /**
+     * @var \Magento\Core\Model\StoreManagerInterface
+     */
+    protected $_storeManager;
+
     /**
      * @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\TranslateInterface $translator
      * @param \Magento\App\CacheInterface $cache
      * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\App\FrontController $frontController
-     * @param \Magento\Core\Model\Factory\Helper $helperFactory
+     * @param \Magento\App\Helper\HelperFactory $helperFactory
      * @param \Magento\View\Url $viewUrl
      * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\App\Cache\StateInterface $cacheState
@@ -66,26 +77,29 @@ class Context extends \Magento\Core\Block\Context
      * @param \Magento\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\View\FileSystem $viewFileSystem
-     * @param \Magento\View\TemplateEngineFactory $engineFactory
+     * @param \Magento\View\TemplateEnginePool $enginePool
      * @param \Magento\Core\Model\App $app
      * @param \Magento\App\State $appState
      * @param \Magento\Escaper $escaper
      * @param \Magento\Filter\FilterManager $filterManager
      * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $data
+     *
+     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\App\RequestInterface $request,
         \Magento\View\LayoutInterface $layout,
         \Magento\Event\ManagerInterface $eventManager,
         \Magento\UrlInterface $urlBuilder,
-        \Magento\Core\Model\Translate $translator,
+        \Magento\TranslateInterface $translator,
         \Magento\App\CacheInterface $cache,
         \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\App\FrontController $frontController,
-        \Magento\Core\Model\Factory\Helper $helperFactory,
+        \Magento\App\Helper\HelperFactory $helperFactory,
         \Magento\View\Url $viewUrl,
         \Magento\View\ConfigInterface $viewConfig,
         \Magento\App\Cache\StateInterface $cacheState,
@@ -93,12 +107,13 @@ class Context extends \Magento\Core\Block\Context
         \Magento\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\View\FileSystem $viewFileSystem,
-        \Magento\View\TemplateEngineFactory $engineFactory,
+        \Magento\View\TemplateEnginePool $enginePool,
         \Magento\Core\Model\App $app,
         \Magento\App\State $appState,
         \Magento\Escaper $escaper,
         \Magento\Filter\FilterManager $filterManager,
         \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         array $data = array()
     ) {
         parent::__construct(
@@ -124,16 +139,18 @@ class Context extends \Magento\Core\Block\Context
             $data
         );
 
+        $this->_storeManager = $storeManager;
         $this->_appState = $appState;
         $this->_dirs = $dirs;
         $this->_logger = $logger;
         $this->_filesystem = $filesystem;
         $this->_viewFileSystem = $viewFileSystem;
-        $this->_engineFactory = $engineFactory;
+        $this->enginePool = $enginePool;
     }
 
     /**
      * Get dirs instance
+     *
      * @return \Magento\App\Dir
      */
     public function getDirs()
@@ -174,11 +191,11 @@ class Context extends \Magento\Core\Block\Context
     /**
      * Get the template engine pool instance
      *
-     * @return \Magento\View\TemplateEngineFactory
+     * @return \Magento\View\TemplateEnginePool
      */
-    public function getEngineFactory()
+    public function getEnginePool()
     {
-        return $this->_engineFactory;
+        return $this->enginePool;
     }
 
     /**
@@ -190,4 +207,14 @@ class Context extends \Magento\Core\Block\Context
     {
         return $this->_appState;
     }
+
+    /**
+     * Get store manager
+     *
+     * @return \Magento\Core\Model\StoreManagerInterface
+     */
+    public function getStoreManager()
+    {
+        return $this->_storeManager;
+    }
 }
diff --git a/app/code/Magento/Core/Block/Text.php b/lib/Magento/View/Block/Text.php
similarity index 68%
rename from app/code/Magento/Core/Block/Text.php
rename to lib/Magento/View/Block/Text.php
index 371f9b22221..d6bb0361c92 100644
--- a/app/code/Magento/Core/Block/Text.php
+++ b/lib/Magento/View/Block/Text.php
@@ -18,50 +18,64 @@
  * 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\Block;
 
 /**
- * Base html block
- *
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Class Text
  */
-namespace Magento\Core\Block;
-
-class Text extends \Magento\Core\Block\AbstractBlock
+class Text extends \Magento\View\Block\AbstractBlock
 {
-
+    /**
+     * Set text data
+     *
+     * @param string $text
+     * @return $this
+     */
     public function setText($text)
     {
         $this->setData('text', $text);
         return $this;
     }
 
+    /**
+     * Retrieve text data
+     *
+     * @return string
+     */
     public function getText()
     {
         return $this->getData('text');
     }
 
-    public function addText($text, $before=false)
+    /**
+     * Append text before|after existing text data
+     *
+     * @param string $text
+     * @param bool $before
+     */
+    public function addText($text, $before = false)
     {
         if ($before) {
-            $this->setText($text.$this->getText());
+            $this->setText($text . $this->getText());
         } else {
-            $this->setText($this->getText().$text);
+            $this->setText($this->getText() . $text);
         }
     }
 
+    /**
+     * Render html output
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         if (!$this->_beforeToHtml()) {
             return '';
         }
-
         return $this->getText();
     }
-
 }
diff --git a/app/code/Magento/Core/Block/Text/ListText.php b/lib/Magento/View/Block/Text/ListText.php
similarity index 84%
rename from app/code/Magento/Core/Block/Text/ListText.php
rename to lib/Magento/View/Block/Text/ListText.php
index ee8db506ff4..540c4cc1f2c 100644
--- a/app/code/Magento/Core/Block/Text/ListText.php
+++ b/lib/Magento/View/Block/Text/ListText.php
@@ -18,29 +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)
  */
 
-/**
- * Base html block
- *
- * @author      Magento Core Team <core@magentocommerce.com>
- */
+namespace Magento\View\Block\Text;
 
-namespace Magento\Core\Block\Text;
+use Magento\View\Block\Text;
 
-class ListText extends \Magento\Core\Block\Text
+/**
+ * Class ListText
+ */
+class ListText extends \Magento\View\Block\Text
 {
+    /**
+     * Render html output
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         $this->setText('');
+
         $layout = $this->getLayout();
         foreach ($this->getChildNames() as $child) {
             $this->addText($layout->renderElement($child));
         }
+
         return parent::_toHtml();
     }
 }
diff --git a/app/code/Magento/Core/Block/Text/TextList/Item.php b/lib/Magento/View/Block/Text/TextList/Item.php
similarity index 71%
rename from app/code/Magento/Core/Block/Text/TextList/Item.php
rename to lib/Magento/View/Block/Text/TextList/Item.php
index e8786d33d88..8f1277e2204 100644
--- a/app/code/Magento/Core/Block/Text/TextList/Item.php
+++ b/lib/Magento/View/Block/Text/TextList/Item.php
@@ -18,23 +18,25 @@
  * 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\Block\Text\TextList;
+
+use Magento\View\Block\Text;
 
 /**
- * List item block
- *
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Class Item
  */
-namespace Magento\Core\Block\Text\TextList;
-
-class Item extends \Magento\Core\Block\Text
+class Item extends \Magento\View\Block\Text
 {
-    function setLink($liParams, $innerText)
+    /**
+     * @param array|string $liParams
+     * @param string $innerText
+     * @return $this
+     */
+    public function setLink($liParams, $innerText)
     {
         $this->setLiParams($liParams);
         $this->setInnerText($innerText);
@@ -42,20 +44,26 @@ class Item extends \Magento\Core\Block\Text
         return $this;
     }
 
+    /**
+     * Render html output
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         $this->setText('<li');
+
         $params = $this->getLiParams();
         if (!empty($params) && is_array($params)) {
             foreach ($params as $key=>$value) {
-                $this->addText(' '.$key.'="'.addslashes($value).'"');
+                $this->addText(' ' . $key . '="' . addslashes($value) . '"');
             }
         } elseif (is_string($params)) {
-            $this->addText(' '.$params);
+            $this->addText(' ' . $params);
         }
-        $this->addText('>'.$this->getInnerText().'</li>'."\r\n");
+
+        $this->addText('>' . $this->getInnerText() . '</li>' . "\r\n");
 
         return parent::_toHtml();
     }
-
 }
diff --git a/app/code/Magento/Core/Block/Text/TextList/Link.php b/lib/Magento/View/Block/Text/TextList/Link.php
similarity index 67%
rename from app/code/Magento/Core/Block/Text/TextList/Link.php
rename to lib/Magento/View/Block/Text/TextList/Link.php
index 1733c4aa29e..4ba7c1fb8d9 100644
--- a/app/code/Magento/Core/Block/Text/TextList/Link.php
+++ b/lib/Magento/View/Block/Text/TextList/Link.php
@@ -18,23 +18,27 @@
  * 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\Block\Text\TextList;
+
+use Magento\View\Block\Text;
 
 /**
- * Base html block
- *
- * @author      Magento Core Team <core@magentocommerce.com>
+ * Class Link
  */
-namespace Magento\Core\Block\Text\TextList;
-
-class Link extends \Magento\Core\Block\Text
+class Link extends \Magento\View\Block\Text
 {
-    function setLink($liParams, $aParams, $innerText, $afterText='')
+    /**
+     * @param array|string $liParams
+     * @param array|string $aParams
+     * @param string $innerText
+     * @param string $afterText
+     * @return $this
+     */
+    public function setLink($liParams, $aParams, $innerText, $afterText = '')
     {
         $this->setLiParams($liParams);
         $this->setAParams($aParams);
@@ -44,31 +48,37 @@ class Link extends \Magento\Core\Block\Text
         return $this;
     }
 
+    /**
+     * Render html output
+     *
+     * @return string
+     */
     protected function _toHtml()
     {
         $this->setText('<li');
+
         $params = $this->getLiParams();
         if (!empty($params) && is_array($params)) {
             foreach ($params as $key=>$value) {
-                $this->addText(' '.$key.'="'.addslashes($value).'"');
+                $this->addText(' ' . $key . '="' . addslashes($value) . '"');
             }
         } elseif (is_string($params)) {
-            $this->addText(' '.$params);
+            $this->addText(' ' . $params);
         }
+
         $this->addText('><a');
 
         $params = $this->getAParams();
         if (!empty($params) && is_array($params)) {
             foreach ($params as $key=>$value) {
-                $this->addText(' '.$key.'="'.addslashes($value).'"');
+                $this->addText(' ' . $key . '="' . addslashes($value) . '"');
             }
         } elseif (is_string($params)) {
-            $this->addText(' '.$params);
+            $this->addText(' ' . $params);
         }
 
-        $this->addText('>'.$this->getInnerText().'</a>'.$this->getAfterText().'</li>'."\r\n");
+        $this->addText('>' . $this->getInnerText() . '</a>' . $this->getAfterText() . '</li>' . "\r\n");
 
         return parent::_toHtml();
     }
-
 }
diff --git a/lib/Magento/View/BlockPool.php b/lib/Magento/View/BlockPool.php
index 0e0378f6930..a6dcc557442 100644
--- a/lib/Magento/View/BlockPool.php
+++ b/lib/Magento/View/BlockPool.php
@@ -29,6 +29,9 @@ use Magento\View\Element\BlockInterface;
 use Magento\View\Element\BlockFactory;
 use Magento\ObjectManager;
 
+/**
+ * Class BlockPool
+ */
 class BlockPool
 {
     /**
diff --git a/lib/Magento/View/Config.php b/lib/Magento/View/Config.php
index ad425b53fab..4a7d47d5f18 100644
--- a/lib/Magento/View/Config.php
+++ b/lib/Magento/View/Config.php
@@ -18,17 +18,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;
+
 /**
  * Handles theme view.xml files
  */
-namespace Magento\View;
-
 class Config implements \Magento\View\ConfigInterface
 {
     /**
@@ -68,8 +66,6 @@ class Config implements \Magento\View\ConfigInterface
     protected $filename;
 
     /**
-     * View config model
-     *
      * @param \Magento\Module\Dir\Reader $moduleReader
      * @param \Magento\Filesystem $filesystem
      * @param Service $viewService
diff --git a/lib/Magento/View/ConfigInterface.php b/lib/Magento/View/ConfigInterface.php
index a542b120fbc..af786ea1b3a 100644
--- a/lib/Magento/View/ConfigInterface.php
+++ b/lib/Magento/View/ConfigInterface.php
@@ -26,8 +26,6 @@ namespace Magento\View;
 
 /**
  * Config Interface
- *
- * @package Magento\View
  */
 interface ConfigInterface
 {
diff --git a/lib/Magento/View/Context.php b/lib/Magento/View/Context.php
index 45b4e32cef6..f9c923cc77f 100644
--- a/lib/Magento/View/Context.php
+++ b/lib/Magento/View/Context.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Application Runtime Context
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -29,9 +27,9 @@ namespace Magento\View;
 use Magento\App\Request\Http as Request;
 use Magento\App\FrontControllerInterface;
 
-use Magento\Core\Model\Translate;
+use Magento\TranslateInterface;
 use Magento\Core\Model\Store\Config as StoreConfig;
-use Magento\Core\Model\Factory\Helper as FactoryHelper;
+use Magento\App\Helper\HelperFactory as FactoryHelper;
 use Magento\View\Url as ViewUrl;
 use Magento\View\ConfigInterface as ViewConfig;
 use Magento\Logger;
@@ -45,6 +43,8 @@ use Magento\UrlInterface;
 use Magento\Event\ManagerInterface;
 
 /**
+ * Application Runtime Context
+ *
  * @todo Reduce fields number
  * @todo Reduce class dependencies
  *
@@ -69,7 +69,7 @@ class Context
     protected $urlBuilder;
 
     /**
-     * @var \Magento\Core\Model\Translate
+     * @var \Magento\TranslateInterface
      */
     protected $translator;
 
@@ -79,7 +79,7 @@ class Context
     protected $cache;
 
     /**
-     * @var \Magento\Core\Model\View\Design
+     * @var \Magento\View\DesignInterface
      */
     protected $design;
 
@@ -99,7 +99,7 @@ class Context
     protected $frontController;
 
     /**
-     * @var \Magento\Core\Model\Factory\Helper
+     * @var \Magento\App\Helper\HelperFactory
      */
     protected $helperFactory;
 
@@ -144,7 +144,7 @@ class Context
      * @param Request $request
      * @param ManagerInterface $eventManager
      * @param UrlInterface $urlBuilder
-     * @param Translate $translator
+     * @param TranslateInterface $translator
      * @param Cache $cache
      * @param DesignInterface $design
      * @param AbstractSession $session
@@ -157,6 +157,7 @@ class Context
      * @param Logger $logger
      * @param App $app
      * @param AppState $appState
+     *
      * @todo reduce parameter number
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -165,7 +166,7 @@ class Context
         Request $request,
         ManagerInterface $eventManager,
         UrlInterface $urlBuilder,
-        Translate $translator,
+        TranslateInterface $translator,
         Cache $cache,
         DesignInterface $design,
         AbstractSession $session,
@@ -206,7 +207,7 @@ class Context
     }
 
     /**
-     * @return \Magento\Core\Model\View\Design
+     * @return \Magento\View\DesignInterface
      */
     public function getDesignPackage()
     {
@@ -230,7 +231,7 @@ class Context
     }
 
     /**
-     * @return \Magento\Core\Model\Factory\Helper
+     * @return \Magento\App\Helper\HelperFactory
      */
     public function getHelperFactory()
     {
@@ -270,7 +271,7 @@ class Context
     }
 
     /**
-     * @return \Magento\Core\Model\Translate
+     * @return \Magento\TranslateInterface
      */
     public function getTranslator()
     {
@@ -349,6 +350,7 @@ class Context
      * Retrieve the module name
      *
      * @return string
+     *
      * @todo alias of getModuleName
      */
     public function getFrontName()
diff --git a/lib/Magento/View/DataSourcePool.php b/lib/Magento/View/DataSourcePool.php
index 3fe679235f9..d29282a9084 100644
--- a/lib/Magento/View/DataSourcePool.php
+++ b/lib/Magento/View/DataSourcePool.php
@@ -26,6 +26,9 @@ namespace Magento\View;
 
 use Magento\View\Element\BlockFactory;
 
+/**
+ * Class DataSourcePool
+ */
 class DataSourcePool
 {
     /**
diff --git a/lib/Magento/View/DeployedFilesManager.php b/lib/Magento/View/DeployedFilesManager.php
index 8ab5be9172a..1af08c909ac 100644
--- a/lib/Magento/View/DeployedFilesManager.php
+++ b/lib/Magento/View/DeployedFilesManager.php
@@ -22,12 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
 
 /**
  * Builds path for files deployed into public directory in advance
  */
-namespace Magento\View;
-
 class DeployedFilesManager implements \Magento\View\PublicFilesManagerInterface
 {
     /**
@@ -36,8 +35,6 @@ class DeployedFilesManager implements \Magento\View\PublicFilesManagerInterface
     protected $_viewService;
 
     /**
-     * Deployed view files manager
-     *
      * @param \Magento\View\Service $viewService
      */
     public function __construct(\Magento\View\Service $viewService)
@@ -46,7 +43,11 @@ class DeployedFilesManager implements \Magento\View\PublicFilesManagerInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Get deployed file path
+     *
+     * @param string $filePath
+     * @param array $params
+     * @return string
      */
     public function getPublicFilePath($filePath, $params)
     {
diff --git a/lib/Magento/View/Design/Fallback/Factory.php b/lib/Magento/View/Design/Fallback/Factory.php
index 7732fdff2fd..cfc6eccfbc2 100644
--- a/lib/Magento/View/Design/Fallback/Factory.php
+++ b/lib/Magento/View/Design/Fallback/Factory.php
@@ -22,9 +22,6 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Factory that produces all sorts of fallback rules
- */
 namespace Magento\View\Design\Fallback;
 
 use Magento\App\Dir;
@@ -37,7 +34,7 @@ use Magento\View\Design\Fallback\Rule\Theme;
 /**
  * Fallback Factory
  *
- * @package Magento\View
+ * Factory that produces all sorts of fallback rules
  */
 class Factory
 {
@@ -47,8 +44,6 @@ class Factory
     protected $dirs;
 
     /**
-     * Constructor
-     *
      * @param Dir $dirs
      */
     public function __construct(Dir $dirs)
diff --git a/lib/Magento/View/Design/Fallback/Rule/Composite.php b/lib/Magento/View/Design/Fallback/Rule/Composite.php
index 3a5ef30cc8a..45332102136 100644
--- a/lib/Magento/View/Design/Fallback/Rule/Composite.php
+++ b/lib/Magento/View/Design/Fallback/Rule/Composite.php
@@ -22,15 +22,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Composite rule that represents sequence of child fallback rules
- */
 namespace Magento\View\Design\Fallback\Rule;
 
 /**
  * Composite Rules
  *
- * @package Magento\View
+ * Composite rule that represents sequence of child fallback rules
  */
 class Composite implements RuleInterface
 {
@@ -40,8 +37,6 @@ class Composite implements RuleInterface
     protected $rules = array();
 
     /**
-     * Constructor
-     *
      * @param RuleInterface[] $rules
      * @throws \InvalidArgumentException
      */
@@ -58,7 +53,8 @@ class Composite implements RuleInterface
     /**
      * Retrieve sequentially combined directory patterns from child fallback rules
      *
-     * {@inheritdoc}
+     * @param array $params
+     * @return array
      */
     public function getPatternDirs(array $params)
     {
diff --git a/lib/Magento/View/Design/Fallback/Rule/ModularSwitch.php b/lib/Magento/View/Design/Fallback/Rule/ModularSwitch.php
index 0159715e83e..254fef8cd1e 100644
--- a/lib/Magento/View/Design/Fallback/Rule/ModularSwitch.php
+++ b/lib/Magento/View/Design/Fallback/Rule/ModularSwitch.php
@@ -22,15 +22,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Fallback rule that delegates execution to either modular or non-modular sub-rule depending on input parameters
- */
 namespace Magento\View\Design\Fallback\Rule;
 
 /**
  * Modular Switch
  *
- * @package Magento\View
+ * Fallback rule that delegates execution to either modular or non-modular sub-rule depending on input parameters.
  */
 class ModularSwitch implements RuleInterface
 {
@@ -45,8 +42,6 @@ class ModularSwitch implements RuleInterface
     protected $ruleModular;
 
     /**
-     * Constructor
-     *
      * @param RuleInterface $ruleNonModular
      * @param RuleInterface $ruleModular
      */
@@ -61,7 +56,8 @@ class ModularSwitch implements RuleInterface
     /**
      * Delegate execution to either modular or non-modular sub-rule depending on input parameters
      *
-     * {@inheritdoc}
+     * @param array $params
+     * @return array
      * @throws \InvalidArgumentException
      */
     public function getPatternDirs(array $params)
diff --git a/lib/Magento/View/Design/Fallback/Rule/RuleInterface.php b/lib/Magento/View/Design/Fallback/Rule/RuleInterface.php
index 5d0d1d12791..81b447010cc 100644
--- a/lib/Magento/View/Design/Fallback/Rule/RuleInterface.php
+++ b/lib/Magento/View/Design/Fallback/Rule/RuleInterface.php
@@ -22,15 +22,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Interface for search path resolution during fallback process
- */
 namespace Magento\View\Design\Fallback\Rule;
 
 /**
  * Rule Interface
  *
- * @package Magento\View
+ * Interface for search path resolution during fallback process
  */
 interface RuleInterface
 {
diff --git a/lib/Magento/View/Design/Fallback/Rule/Simple.php b/lib/Magento/View/Design/Fallback/Rule/Simple.php
index 486cda2fd96..7d687fa341d 100644
--- a/lib/Magento/View/Design/Fallback/Rule/Simple.php
+++ b/lib/Magento/View/Design/Fallback/Rule/Simple.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design\Fallback\Rule;
+
 /**
  * Class with simple substitution parameters to values
  */
-namespace Magento\View\Design\Fallback\Rule;
-
 class Simple implements RuleInterface
 {
     /**
@@ -44,8 +44,6 @@ class Simple implements RuleInterface
     protected $pattern;
 
     /**
-     * Constructor
-     *
      * @param string $pattern
      * @param array $optionalParams
      */
diff --git a/lib/Magento/View/Design/Fallback/Rule/Theme.php b/lib/Magento/View/Design/Fallback/Rule/Theme.php
index 639e3686575..94cb83148ca 100644
--- a/lib/Magento/View/Design/Fallback/Rule/Theme.php
+++ b/lib/Magento/View/Design/Fallback/Rule/Theme.php
@@ -22,17 +22,14 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * An aggregate of a fallback rule that propagates it to every theme according to a hierarchy
- */
 namespace Magento\View\Design\Fallback\Rule;
 
 use Magento\View\Design\ThemeInterface;
 
 /**
- * Theme
+ * Fallback Rule Theme
  *
- * @package Magento\View
+ * An aggregate of a fallback rule that propagates it to every theme according to a hierarchy
  */
 class Theme implements RuleInterface
 {
@@ -42,8 +39,6 @@ class Theme implements RuleInterface
     protected $rule;
 
     /**
-     * Constructor
-     *
      * @param RuleInterface $rule
      */
     public function __construct(RuleInterface $rule)
@@ -54,7 +49,8 @@ class Theme implements RuleInterface
     /**
      * Propagate an underlying fallback rule to every theme in a hierarchy: parent, grandparent, etc.
      *
-     * {@inheritdoc}
+     * @param array $params
+     * @return array
      * @throws \InvalidArgumentException
      */
     public function getPatternDirs(array $params)
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/Fallback.php b/lib/Magento/View/Design/FileResolution/Strategy/Fallback.php
index 0aa4eb3066e..54d746fc047 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/Fallback.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/Fallback.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Resolver, which performs full search of files, according to fallback rules
- */
 namespace Magento\View\Design\FileResolution\Strategy;
 
 use Magento\Filesystem;
@@ -35,9 +30,9 @@ use Magento\View\Design\Fallback\Rule\RuleInterface;
 use Magento\View\Design\ThemeInterface;
 
 /**
- * Fallback
+ * Class Fallback
  *
- * @package Magento\View
+ * Resolver, which performs full search of files, according to fallback rules
  */
 class Fallback implements FileInterface, LocaleInterface, ViewInterface
 {
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/Fallback/CachingProxy.php b/lib/Magento/View/Design/FileResolution/Strategy/Fallback/CachingProxy.php
index c79884a2cef..912ac905687 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/Fallback/CachingProxy.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/Fallback/CachingProxy.php
@@ -18,16 +18,10 @@
  * 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)
  */
 
-/**
- * A proxy for the Fallback resolver. This proxy processes fallback resolution calls by either using map of cached
- * paths, or passing resolution to the Fallback resolver.
- */
 namespace Magento\View\Design\FileResolution\Strategy\Fallback;
 
 use Magento\Filesystem;
@@ -41,7 +35,8 @@ use Magento\View\Design\ThemeInterface;
 /**
  * Caching Proxy
  *
- * @package Magento\View
+ * A proxy for the Fallback resolver. This proxy processes fallback resolution calls by either using map of cached
+ * paths, or passing resolution to the Fallback resolver.
  */
 class CachingProxy implements FileInterface, LocaleInterface, ViewInterface, NotifiableInterface
 {
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/FileInterface.php b/lib/Magento/View/Design/FileResolution/Strategy/FileInterface.php
index 94e2627fede..b60932a3576 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/FileInterface.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/FileInterface.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Interface for 'file' file resolution strategy
- */
 namespace Magento\View\Design\FileResolution\Strategy;
 
 use Magento\View\Design\ThemeInterface;
@@ -34,7 +29,7 @@ use Magento\View\Design\ThemeInterface;
 /**
  * File Interface
  *
- * @package Magento\View
+ * Interface for 'file' file resolution strategy
  */
 interface FileInterface
 {
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/LocaleInterface.php b/lib/Magento/View/Design/FileResolution/Strategy/LocaleInterface.php
index 0529778c964..7a29957df05 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/LocaleInterface.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/LocaleInterface.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Interface for 'locale' file resolution strategy
- */
 namespace Magento\View\Design\FileResolution\Strategy;
 
 use Magento\View\Design\ThemeInterface;
@@ -34,7 +29,7 @@ use Magento\View\Design\ThemeInterface;
 /**
  * Locale Interface
  *
- * @package Magento\View
+ * Interface for 'locale' file resolution strategy
  */
 interface LocaleInterface
 {
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/View/NotifiableInterface.php b/lib/Magento/View/Design/FileResolution/Strategy/View/NotifiableInterface.php
index b1d8f4d485c..95295ad468a 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/View/NotifiableInterface.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/View/NotifiableInterface.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Interface for a view strategy to be notifiable, that file location has changed
- */
 namespace Magento\View\Design\FileResolution\Strategy\View;
 
 use Magento\View\Design\FileResolution\Strategy\Fallback\CachingProxy;
@@ -35,11 +30,13 @@ use Magento\View\Design\ThemeInterface;
 /**
  * Notifiable Interface
  *
- * @package Magento\View
+ * Interface for a view strategy to be notifiable, that file location has changed
  */
 interface NotifiableInterface
 {
     /**
+     * Set view file path to map
+     *
      * Notify the strategy, that file has changed its location, and next time should be resolved to this
      * new location.
      *
diff --git a/lib/Magento/View/Design/FileResolution/Strategy/ViewInterface.php b/lib/Magento/View/Design/FileResolution/Strategy/ViewInterface.php
index d82bb7657bb..09ae9699af9 100644
--- a/lib/Magento/View/Design/FileResolution/Strategy/ViewInterface.php
+++ b/lib/Magento/View/Design/FileResolution/Strategy/ViewInterface.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Interface for 'view' file resolution strategy
- */
 namespace Magento\View\Design\FileResolution\Strategy;
 
 use Magento\View\Design\ThemeInterface;
@@ -34,7 +29,7 @@ use Magento\View\Design\ThemeInterface;
 /**
  * View Interface
  *
- * @package Magento\View
+ * Interface for 'view' file resolution strategy
  */
 interface ViewInterface
 {
diff --git a/lib/Magento/View/Design/FileResolution/StrategyPool.php b/lib/Magento/View/Design/FileResolution/StrategyPool.php
index 5853140dc14..7b6930e41cc 100644
--- a/lib/Magento/View/Design/FileResolution/StrategyPool.php
+++ b/lib/Magento/View/Design/FileResolution/StrategyPool.php
@@ -18,15 +18,10 @@
  * 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)
  */
 
-/**
- * Class for choosing the strategy for file resolution
- */
 namespace Magento\View\Design\FileResolution;
 
 use Magento\Exception;
@@ -38,7 +33,7 @@ use Magento\ObjectManager;
 /**
  * Strategy Pool
  *
- * @package Magento\View
+ * Class for choosing the strategy for file resolution
  */
 class StrategyPool
 {
diff --git a/lib/Magento/View/Design/Theme/Customization.php b/lib/Magento/View/Design/Theme/Customization.php
index 69a50b6684d..79cffb60569 100644
--- a/lib/Magento/View/Design/Theme/Customization.php
+++ b/lib/Magento/View/Design/Theme/Customization.php
@@ -18,17 +18,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\Design\Theme;
+
 /**
  * Theme customizations manager
  */
-namespace Magento\View\Design\Theme;
-
 class Customization implements CustomizationInterface
 {
     /**
@@ -47,12 +45,12 @@ class Customization implements CustomizationInterface
     protected $theme;
 
     /**
-     * @var \Magento\Core\Model\Resource\Theme\File\Collection
+     * @var \Magento\View\Design\Theme\FileInterface[]
      */
     protected $themeFiles;
 
     /**
-     * @var \Magento\Core\Model\Resource\Theme\File\Collection[]
+     * @var \Magento\View\Design\Theme\FileInterface[]
      */
     protected $themeFilesByType = array();
 
@@ -119,7 +117,9 @@ class Customization implements CustomizationInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Returns customization absolute path
+     *
+     * @return null|string
      */
     public function getCustomizationPath()
     {
@@ -127,7 +127,9 @@ class Customization implements CustomizationInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Get directory where themes files are stored
+     *
+     * @return null|string
      */
     public function getThemeFilesPath()
     {
@@ -137,7 +139,9 @@ class Customization implements CustomizationInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Get path to custom view configuration file
+     *
+     * @return null|string
      */
     public function getCustomViewConfigPath()
     {
@@ -145,7 +149,9 @@ class Customization implements CustomizationInterface
     }
 
     /**
-     * {@inheritdoc}
+     * @param string $type
+     * @param array $sequence
+     * @return $this|CustomizationInterface
      */
     public function reorder($type, array $sequence)
     {
diff --git a/lib/Magento/View/Design/Theme/Customization/AbstractFile.php b/lib/Magento/View/Design/Theme/Customization/AbstractFile.php
index 352d99e3ba0..a49ecb60ee0 100644
--- a/lib/Magento/View/Design/Theme/Customization/AbstractFile.php
+++ b/lib/Magento/View/Design/Theme/Customization/AbstractFile.php
@@ -18,17 +18,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\Design\Theme\Customization;
+
 /**
  * Theme file service abstract class
  */
-namespace Magento\View\Design\Theme\Customization;
-
 abstract class AbstractFile
     implements \Magento\View\Design\Theme\Customization\FileInterface,
                \Magento\View\Design\Theme\Customization\FileAssetInterface
@@ -64,7 +62,9 @@ abstract class AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * Create class instance with specified parameters
+     *
+     * @return \Magento\View\Design\Theme\FileInterface
      */
     public function create()
     {
@@ -74,7 +74,10 @@ abstract class AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * Returns customization full path
+     *
+     * @param \Magento\View\Design\Theme\FileInterface $file
+     * @return string
      */
     public function getFullPath(\Magento\View\Design\Theme\FileInterface $file)
     {
@@ -83,7 +86,8 @@ abstract class AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * @param \Magento\View\Design\Theme\FileInterface $file
+     * @return $this
      */
     public function prepareFile(\Magento\View\Design\Theme\FileInterface $file)
     {
@@ -97,7 +101,10 @@ abstract class AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * Creates or updates file of customization in filesystem
+     *
+     * @param \Magento\View\Design\Theme\FileInterface $file
+     * @return $this
      */
     public function save(\Magento\View\Design\Theme\FileInterface $file)
     {
@@ -106,7 +113,10 @@ abstract class AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * Deletes file of customization in filesystem
+     *
+     * @param \Magento\View\Design\Theme\FileInterface $file
+     * @return $this
      */
     public function delete(\Magento\View\Design\Theme\FileInterface $file)
     {
diff --git a/lib/Magento/View/Design/Theme/Customization/ConfigInterface.php b/lib/Magento/View/Design/Theme/Customization/ConfigInterface.php
index 48ff3b3b8de..645a4fc35f8 100644
--- a/lib/Magento/View/Design/Theme/Customization/ConfigInterface.php
+++ b/lib/Magento/View/Design/Theme/Customization/ConfigInterface.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design\Theme\Customization;
+
 /**
  * Theme customization configuration interface
  */
-namespace Magento\View\Design\Theme\Customization;
-
 interface ConfigInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Customization/File/Css.php b/lib/Magento/View/Design/Theme/Customization/File/Css.php
index e68cfc8e670..7782434309f 100644
--- a/lib/Magento/View/Design/Theme/Customization/File/Css.php
+++ b/lib/Magento/View/Design/Theme/Customization/File/Css.php
@@ -18,17 +18,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)
  */
 
-/**
- * Theme css file service class
- */
 namespace Magento\View\Design\Theme\Customization\File;
 
+/**
+ * Theme CSS file service class
+ */
 class Css extends \Magento\View\Design\Theme\Customization\AbstractFile
 {
     /**#@+
@@ -39,7 +37,7 @@ class Css extends \Magento\View\Design\Theme\Customization\AbstractFile
     /**#@-*/
 
     /**
-     * {@inheritdoc}
+     * @return string
      */
     public function getType()
     {
@@ -47,7 +45,7 @@ class Css extends \Magento\View\Design\Theme\Customization\AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * @return string
      */
     public function getContentType()
     {
diff --git a/lib/Magento/View/Design/Theme/Customization/File/Js.php b/lib/Magento/View/Design/Theme/Customization/File/Js.php
index 418ae907a54..6d23eff7532 100644
--- a/lib/Magento/View/Design/Theme/Customization/File/Js.php
+++ b/lib/Magento/View/Design/Theme/Customization/File/Js.php
@@ -18,17 +18,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)
  */
 
-/**
- * Theme js file service class
- */
 namespace Magento\View\Design\Theme\Customization\File;
 
+/**
+ * Theme JS file service class
+ */
 class Js extends \Magento\View\Design\Theme\Customization\AbstractFile
 {
     /**#@+
@@ -39,7 +37,7 @@ class Js extends \Magento\View\Design\Theme\Customization\AbstractFile
     /**#@-*/
 
     /**
-     * {@inheritdoc}
+     * @return string
      */
     public function getType()
     {
@@ -47,7 +45,7 @@ class Js extends \Magento\View\Design\Theme\Customization\AbstractFile
     }
 
     /**
-     * {@inheritdoc}
+     * @return string
      */
     public function getContentType()
     {
diff --git a/lib/Magento/View/Design/Theme/Customization/FileAssetInterface.php b/lib/Magento/View/Design/Theme/Customization/FileAssetInterface.php
index 87b6fdfe5fa..427a6b881a5 100644
--- a/lib/Magento/View/Design/Theme/Customization/FileAssetInterface.php
+++ b/lib/Magento/View/Design/Theme/Customization/FileAssetInterface.php
@@ -18,17 +18,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\Design\Theme\Customization;
+
 /**
  * Theme asset file interface
  */
-namespace Magento\View\Design\Theme\Customization;
-
 interface FileAssetInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Customization/FileInterface.php b/lib/Magento/View/Design/Theme/Customization/FileInterface.php
index 8205720d01c..93795d64461 100644
--- a/lib/Magento/View/Design/Theme/Customization/FileInterface.php
+++ b/lib/Magento/View/Design/Theme/Customization/FileInterface.php
@@ -18,17 +18,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\Design\Theme\Customization;
+
 /**
  * Theme service file interface
  */
-namespace Magento\View\Design\Theme\Customization;
-
 interface FileInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Customization/FileServiceFactory.php b/lib/Magento/View/Design/Theme/Customization/FileServiceFactory.php
index a2ae236779f..ab9d7f0255e 100644
--- a/lib/Magento/View/Design/Theme/Customization/FileServiceFactory.php
+++ b/lib/Magento/View/Design/Theme/Customization/FileServiceFactory.php
@@ -18,17 +18,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\Design\Theme\Customization;
+
 /**
  * Theme customization files factory
  */
-namespace Magento\View\Design\Theme\Customization;
-
 class FileServiceFactory
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Customization/Path.php b/lib/Magento/View/Design/Theme/Customization/Path.php
index d7367ea2cee..14988b37b1c 100644
--- a/lib/Magento/View/Design/Theme/Customization/Path.php
+++ b/lib/Magento/View/Design/Theme/Customization/Path.php
@@ -18,8 +18,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,6 +27,9 @@
  */
 namespace Magento\View\Design\Theme\Customization;
 
+/**
+ * Theme Customization Path
+ */
 class Path
 {
     /**
@@ -47,8 +48,6 @@ class Path
     protected $filename;
 
     /**
-     * Initialize dependencies
-     *
      * @param \Magento\App\Dir $dir
      * @param $filename
      */
diff --git a/lib/Magento/View/Design/Theme/CustomizationInterface.php b/lib/Magento/View/Design/Theme/CustomizationInterface.php
index 63412d743a8..68c8d425667 100644
--- a/lib/Magento/View/Design/Theme/CustomizationInterface.php
+++ b/lib/Magento/View/Design/Theme/CustomizationInterface.php
@@ -18,17 +18,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\Design\Theme;
+
 /**
  * Theme customization interface
  */
-namespace Magento\View\Design\Theme;
-
 interface CustomizationInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Domain/Factory.php b/lib/Magento/View/Design/Theme/Domain/Factory.php
index 5f01ba2ed85..cdee49acb79 100644
--- a/lib/Magento/View/Design/Theme/Domain/Factory.php
+++ b/lib/Magento/View/Design/Theme/Domain/Factory.php
@@ -18,19 +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_DesignEditor
  * @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)
  */
 
-/**
- * Theme domain model class
- */
 namespace Magento\View\Design\Theme\Domain;
 
 use \Magento\View\Design\ThemeInterface;
 
+/**
+ * Theme domain model class factory
+ */
 class Factory
 {
     /**
@@ -42,9 +40,9 @@ class Factory
      * @var array
      */
     protected $_types = array(
-        ThemeInterface::TYPE_PHYSICAL => 'Magento\Core\Model\Theme\Domain\Physical',
-        ThemeInterface::TYPE_VIRTUAL  => 'Magento\Core\Model\Theme\Domain\Virtual',
-        ThemeInterface::TYPE_STAGING  => 'Magento\Core\Model\Theme\Domain\Staging',
+        ThemeInterface::TYPE_PHYSICAL => 'Magento\View\Design\Theme\Domain\PhysicalInterface',
+        ThemeInterface::TYPE_VIRTUAL  => 'Magento\View\Design\Theme\Domain\VirtualInterface',
+        ThemeInterface::TYPE_STAGING  => 'Magento\View\Design\Theme\Domain\StagingInterface',
     );
 
     /**
@@ -58,8 +56,8 @@ class Factory
     /**
      * Create new config object
      *
-     * @param \Magento\View\Design\ThemeInterface $theme
-     * @return \Magento\Core\Model\Theme\Domain\Virtual|\Magento\Core\Model\Theme\Domain\Staging
+     * @param ThemeInterface $theme
+     * @return mixed
      * @throws \Magento\Exception
      */
     public function create(ThemeInterface $theme)
diff --git a/lib/Magento/View/Design/Theme/Domain/PhysicalInterface.php b/lib/Magento/View/Design/Theme/Domain/PhysicalInterface.php
new file mode 100644
index 00000000000..5577ff65ce2
--- /dev/null
+++ b/lib/Magento/View/Design/Theme/Domain/PhysicalInterface.php
@@ -0,0 +1,39 @@
+<?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\Design\Theme\Domain;
+
+/**
+ * Interface PhysicalInterface
+ */
+interface PhysicalInterface
+{
+    /**
+     * Create theme customization
+     *
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @return \Magento\View\Design\ThemeInterface
+     */
+    public function createVirtualTheme($theme);
+}
\ No newline at end of file
diff --git a/lib/Magento/View/Design/Theme/Domain/StagingInterface.php b/lib/Magento/View/Design/Theme/Domain/StagingInterface.php
new file mode 100644
index 00000000000..a1e2ee4e82d
--- /dev/null
+++ b/lib/Magento/View/Design/Theme/Domain/StagingInterface.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\View\Design\Theme\Domain;
+
+/**
+ * Interface StagingInterface
+ */
+interface StagingInterface
+{
+    /**
+     * Copy changes from 'staging' theme
+     *
+     * @return \Magento\View\Design\Theme\Domain\StagingInterface
+     */
+    public function updateFromStagingTheme();
+}
\ No newline at end of file
diff --git a/lib/Magento/View/Design/Theme/Domain/VirtualInterface.php b/lib/Magento/View/Design/Theme/Domain/VirtualInterface.php
new file mode 100644
index 00000000000..fb874fa4a95
--- /dev/null
+++ b/lib/Magento/View/Design/Theme/Domain/VirtualInterface.php
@@ -0,0 +1,45 @@
+<?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\Design\Theme\Domain;
+
+/**
+ * Interface VirtualInterface
+ */
+interface VirtualInterface
+{
+    /**
+     * Get 'staging' theme
+     *
+     * @return \Magento\View\Design\ThemeInterface
+     */
+    public function getStagingTheme();
+
+    /**
+     * Get 'physical' theme
+     *
+     * @return \Magento\View\Design\ThemeInterface
+     */
+    public function getPhysicalTheme();
+}
\ No newline at end of file
diff --git a/lib/Magento/View/Design/Theme/File/CollectionInterface.php b/lib/Magento/View/Design/Theme/File/CollectionInterface.php
index 135f817cfd2..bcef86cb699 100644
--- a/lib/Magento/View/Design/Theme/File/CollectionInterface.php
+++ b/lib/Magento/View/Design/Theme/File/CollectionInterface.php
@@ -23,6 +23,9 @@
  */
 namespace Magento\View\Design\Theme\File;
 
+/**
+ * Design Theme File collection interface
+ */
 interface CollectionInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/FileFactory.php b/lib/Magento/View/Design/Theme/FileFactory.php
index b44af3dae25..0ba03b19ec3 100644
--- a/lib/Magento/View/Design/Theme/FileFactory.php
+++ b/lib/Magento/View/Design/Theme/FileFactory.php
@@ -18,17 +18,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)
  */
 
-/**
- * Factory for \Magento\Core\Model\Theme\File
- */
 namespace Magento\View\Design\Theme;
 
+/**
+ * Theme File Factory
+ */
 class FileFactory
 {
     /**
@@ -39,8 +37,6 @@ class FileFactory
     protected $_objectManager;
 
     /**
-     * Factory constructor
-     *
      * @param \Magento\ObjectManager $objectManager
      */
     public function __construct(\Magento\ObjectManager $objectManager)
@@ -52,7 +48,7 @@ class FileFactory
      * Create class instance with specified parameters
      *
      * @param array $data
-     * @return \Magento\Core\Model\Theme\File
+     * @return \Magento\View\Design\Theme\FileInterface
      */
     public function create(array $data = array())
     {
diff --git a/lib/Magento/View/Design/Theme/FileInterface.php b/lib/Magento/View/Design/Theme/FileInterface.php
index 7609976454c..2daca6989d7 100644
--- a/lib/Magento/View/Design/Theme/FileInterface.php
+++ b/lib/Magento/View/Design/Theme/FileInterface.php
@@ -18,17 +18,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\Design\Theme;
+
 /**
  * Theme file interface
  */
-namespace Magento\View\Design\Theme;
-
 interface FileInterface
 {
     /**
@@ -57,7 +55,7 @@ interface FileInterface
     /**
      * Get theme model
      *
-     * @return \Magento\Core\Model\Theme
+     * @return \Magento\View\Design\ThemeInterface
      */
     public function getTheme();
 
diff --git a/lib/Magento/View/Design/Theme/FileProviderInterface.php b/lib/Magento/View/Design/Theme/FileProviderInterface.php
index a72132590d7..d4705025992 100644
--- a/lib/Magento/View/Design/Theme/FileProviderInterface.php
+++ b/lib/Magento/View/Design/Theme/FileProviderInterface.php
@@ -23,6 +23,9 @@
  */
 namespace Magento\View\Design\Theme;
 
+/**
+ * Interface FileProviderInterface
+ */
 interface FileProviderInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/FlyweightFactory.php b/lib/Magento/View/Design/Theme/FlyweightFactory.php
index b249995e746..9ffcba94f34 100644
--- a/lib/Magento/View/Design/Theme/FlyweightFactory.php
+++ b/lib/Magento/View/Design/Theme/FlyweightFactory.php
@@ -18,17 +18,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\Design\Theme;
+
 /**
  * Theme factory
  */
-namespace Magento\View\Design\Theme;
-
 class FlyweightFactory
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Image.php b/lib/Magento/View/Design/Theme/Image.php
index cef4e546e64..0b9726c4057 100644
--- a/lib/Magento/View/Design/Theme/Image.php
+++ b/lib/Magento/View/Design/Theme/Image.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design\Theme;
+
 /**
  * Theme Image model class
  */
-namespace Magento\View\Design\Theme;
-
 class Image
 {
     /**
@@ -70,8 +70,6 @@ class Image
     protected $_theme;
 
     /**
-     * Initialize dependencies
-     *
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Image\Factory $imageFactory
      * @param Image\Uploader $uploader
diff --git a/lib/Magento/View/Design/Theme/Image/PathInterface.php b/lib/Magento/View/Design/Theme/Image/PathInterface.php
index a0e725a356c..d13cb9e5fb4 100644
--- a/lib/Magento/View/Design/Theme/Image/PathInterface.php
+++ b/lib/Magento/View/Design/Theme/Image/PathInterface.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Theme Image Path
- */
 namespace Magento\View\Design\Theme\Image;
 
+/**
+ * Theme Image Path interface
+ */
 interface PathInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Image/Uploader.php b/lib/Magento/View/Design/Theme/Image/Uploader.php
index 492983b84d9..6d239f8446a 100644
--- a/lib/Magento/View/Design/Theme/Image/Uploader.php
+++ b/lib/Magento/View/Design/Theme/Image/Uploader.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design\Theme\Image;
+
 /**
  * Theme Image Uploader
  */
-namespace Magento\View\Design\Theme\Image;
-
 class Uploader
 {
     /**
@@ -51,7 +51,6 @@ class Uploader
      */
     protected $_uploaderFactory;
 
-
     /**
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\HTTP\Adapter\FileTransferFactory $adapterFactory
diff --git a/lib/Magento/View/Design/Theme/ImageFactory.php b/lib/Magento/View/Design/Theme/ImageFactory.php
index b336ce60d61..ec19e2173eb 100644
--- a/lib/Magento/View/Design/Theme/ImageFactory.php
+++ b/lib/Magento/View/Design/Theme/ImageFactory.php
@@ -21,6 +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\View\Design\Theme;
 
 /**
@@ -33,18 +34,16 @@ class ImageFactory
      *
      * @var \Magento\ObjectManager
      */
-    protected $_objectManager = null;
+    protected $_objectManager;
 
     /**
      * Instance name to create
      *
      * @var string
      */
-    protected $_instanceName = null;
+    protected $_instanceName;
 
     /**
-     * Factory constructor
-     *
      * @param \Magento\ObjectManager $objectManager
      * @param string $instanceName
      */
diff --git a/lib/Magento/View/Design/Theme/ThemeProviderInterface.php b/lib/Magento/View/Design/Theme/ThemeProviderInterface.php
index 810f81d57d5..00528691001 100644
--- a/lib/Magento/View/Design/Theme/ThemeProviderInterface.php
+++ b/lib/Magento/View/Design/Theme/ThemeProviderInterface.php
@@ -23,6 +23,9 @@
  */
 namespace Magento\View\Design\Theme;
 
+/**
+ * Interface ThemeProviderInterface
+ */
 interface ThemeProviderInterface
 {
     /**
diff --git a/lib/Magento/View/Design/Theme/Validator.php b/lib/Magento/View/Design/Theme/Validator.php
index ca2b6c1b18b..a731c9ace95 100644
--- a/lib/Magento/View/Design/Theme/Validator.php
+++ b/lib/Magento/View/Design/Theme/Validator.php
@@ -18,13 +18,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\View\Design\Theme;
 
+/**
+ * Class Validator
+ */
 class Validator
 {
     /**
diff --git a/lib/Magento/View/Design/ThemeFactory.php b/lib/Magento/View/Design/ThemeFactory.php
index 0dd7769edc5..90a57df7544 100644
--- a/lib/Magento/View/Design/ThemeFactory.php
+++ b/lib/Magento/View/Design/ThemeFactory.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Minimal required interface a theme has to implement
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -28,6 +26,11 @@ namespace Magento\View\Design;
 
 use Magento\ObjectManager;
 
+/**
+ * Class ThemeFactory
+ *
+ * Minimal required interface a theme has to implement
+ */
 class ThemeFactory
 {
     /**
@@ -44,7 +47,7 @@ class ThemeFactory
     }
 
     /**
-     * @param $themeId
+     * @param int $themeId
      * @return \Magento\View\Design\ThemeInterface
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
diff --git a/lib/Magento/View/Design/ThemeInterface.php b/lib/Magento/View/Design/ThemeInterface.php
index 5dd1112c82b..ade1e3cf044 100644
--- a/lib/Magento/View/Design/ThemeInterface.php
+++ b/lib/Magento/View/Design/ThemeInterface.php
@@ -25,9 +25,7 @@
 namespace Magento\View\Design;
 
 /**
- * Theme Interface
- *
- * @package Magento\View\Design
+ * Interface ThemeInterface
  */
 interface ThemeInterface
 {
diff --git a/lib/Magento/View/DesignInterface.php b/lib/Magento/View/DesignInterface.php
index ed1d090b6f6..d5cb26b8c11 100644
--- a/lib/Magento/View/DesignInterface.php
+++ b/lib/Magento/View/DesignInterface.php
@@ -26,8 +26,6 @@ namespace Magento\View;
 
 /**
  * Design Interface
- *
- * @package Magento\View
  */
 interface DesignInterface
 {
diff --git a/lib/Magento/View/Element/BlockFactory.php b/lib/Magento/View/Element/BlockFactory.php
index 208994af1a4..6656effa9e1 100644
--- a/lib/Magento/View/Element/BlockFactory.php
+++ b/lib/Magento/View/Element/BlockFactory.php
@@ -18,8 +18,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)
  */
@@ -28,6 +26,9 @@ namespace Magento\View\Element;
 
 use Magento\ObjectManager;
 
+/**
+ * Class BlockFactory
+ */
 class BlockFactory
 {
     /**
@@ -44,7 +45,7 @@ class BlockFactory
     }
 
     /**
-     * @param $blockName
+     * @param string $blockName
      * @param array $arguments
      * @return mixed
      * @throws \LogicException
diff --git a/lib/Magento/View/Element/BlockInterface.php b/lib/Magento/View/Element/BlockInterface.php
index 94de53510da..77f1e3b1c78 100644
--- a/lib/Magento/View/Element/BlockInterface.php
+++ b/lib/Magento/View/Element/BlockInterface.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Magento Block. Used to present information to user
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -23,10 +21,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\View\Element;
 
 /**
- * @package Magento\View
+ * Magento Block
+ *
+ * Used to present information to user
  */
 interface BlockInterface
 {
diff --git a/lib/Magento/View/Element/RendererInterface.php b/lib/Magento/View/Element/RendererInterface.php
index 674930b7594..c62334f15a3 100644
--- a/lib/Magento/View/Element/RendererInterface.php
+++ b/lib/Magento/View/Element/RendererInterface.php
@@ -22,13 +22,10 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-/**
- * Magento Block interface
- */
 namespace Magento\View\Element;
 
 /**
- * @package Magento\View
+ * Magento Block interface
  */
 interface RendererInterface
 {
diff --git a/lib/Magento/View/FileSystem.php b/lib/Magento/View/FileSystem.php
index cc412a56f0b..091e4ddb22e 100644
--- a/lib/Magento/View/FileSystem.php
+++ b/lib/Magento/View/FileSystem.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
+
 /**
  * Model that finds file paths by their fileId
  */
-namespace Magento\View;
-
 class FileSystem
 {
     /**
@@ -34,7 +34,7 @@ class FileSystem
      *
      * @var \Magento\View\Design\FileResolution\StrategyPool
      */
-    protected $_resolutionPool = null;
+    protected $_resolutionPool;
 
     /**
      * @var \Magento\View\Service
@@ -42,8 +42,6 @@ class FileSystem
     protected $_viewService;
 
     /**
-     * View files system model
-     *
      * @param \Magento\View\Design\FileResolution\StrategyPool $resolutionPool
      * @param \Magento\View\Service $viewService
      */
diff --git a/lib/Magento/View/Layout/Element.php b/lib/Magento/View/Layout/Element.php
index d2f6624bdc1..57c398ca482 100644
--- a/lib/Magento/View/Layout/Element.php
+++ b/lib/Magento/View/Layout/Element.php
@@ -25,7 +25,7 @@
 namespace Magento\View\Layout;
 
 /**
- * @package Magento\View
+ * Class Element
  */
 class Element extends \Magento\Simplexml\Element
 {
diff --git a/lib/Magento/View/Layout/File.php b/lib/Magento/View/Layout/File.php
index 74fa444f484..d7aab0a8390 100644
--- a/lib/Magento/View/Layout/File.php
+++ b/lib/Magento/View/Layout/File.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Layout file in the file system with context of its identity
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -29,7 +27,7 @@ namespace Magento\View\Layout;
 use Magento\View\Design\ThemeInterface;
 
 /**
- * @package Magento\View
+ * Layout file in the file system with context of its identity
  */
 class File
 {
diff --git a/lib/Magento/View/Layout/File/Factory.php b/lib/Magento/View/Layout/File/Factory.php
index 2740e30c043..9bc0d90606f 100644
--- a/lib/Magento/View/Layout/File/Factory.php
+++ b/lib/Magento/View/Layout/File/Factory.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Factory that produces layout file instances
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -29,6 +27,9 @@ namespace Magento\View\Layout\File;
 use Magento\ObjectManager;
 use Magento\View\Design\ThemeInterface;
 
+/**
+ * Factory that produces layout file instances
+ */
 class Factory
 {
     /**
diff --git a/lib/Magento/View/Layout/File/FileList.php b/lib/Magento/View/Layout/File/FileList.php
index 50f7079b3e1..5674d28fe4c 100644
--- a/lib/Magento/View/Layout/File/FileList.php
+++ b/lib/Magento/View/Layout/File/FileList.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Unordered list of layout file instances with awareness of layout file identity
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -28,6 +26,9 @@ namespace Magento\View\Layout\File;
 
 use Magento\View\Layout\File;
 
+/**
+ * Unordered list of layout file instances with awareness of layout file identity
+ */
 class FileList
 {
     /**
diff --git a/lib/Magento/View/Layout/File/FileList/Factory.php b/lib/Magento/View/Layout/File/FileList/Factory.php
index b8873456cb2..bf7aae0e08c 100644
--- a/lib/Magento/View/Layout/File/FileList/Factory.php
+++ b/lib/Magento/View/Layout/File/FileList/Factory.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Factory that produces layout file list instances
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -28,6 +26,9 @@ namespace Magento\View\Layout\File\FileList;
 
 use Magento\ObjectManager;
 
+/**
+ * Factory that produces layout file list instances
+ */
 class Factory
 {
     /**
diff --git a/lib/Magento/View/Layout/File/Source/Aggregated.php b/lib/Magento/View/Layout/File/Source/Aggregated.php
index c9796ced27b..36f4968d118 100644
--- a/lib/Magento/View/Layout/File/Source/Aggregated.php
+++ b/lib/Magento/View/Layout/File/Source/Aggregated.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Source of layout files aggregated from a theme and its parents according to merging and overriding conventions
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -30,6 +28,9 @@ use Magento\View\Layout\File\SourceInterface;
 use Magento\View\Design\ThemeInterface;
 use Magento\View\Layout\File\FileList\Factory;
 
+/**
+ * Source of layout files aggregated from a theme and its parents according to merging and overriding conventions
+ */
 class Aggregated implements SourceInterface
 {
     /**
@@ -79,9 +80,13 @@ class Aggregated implements SourceInterface
     }
 
     /**
+     * Retrieve files
+     *
      * Aggregate layout files from modules and a theme and its ancestors
      *
-     * {@inheritdoc}
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return \Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Base.php b/lib/Magento/View/Layout/File/Source/Base.php
index ecb8c243dbb..0a6c7b10b90 100644
--- a/lib/Magento/View/Layout/File/Source/Base.php
+++ b/lib/Magento/View/Layout/File/Source/Base.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Source of base layout files introduced by modules
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -32,6 +30,9 @@ use Magento\App\Dir;
 use Magento\Filesystem;
 use Magento\View\Layout\File\Factory;
 
+/**
+ * Source of base layout files introduced by modules
+ */
 class Base implements SourceInterface
 {
     /**
@@ -65,7 +66,11 @@ class Base implements SourceInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Retrieve files
+     *
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return array|\Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Decorator/ModuleDependency.php b/lib/Magento/View/Layout/File/Source/Decorator/ModuleDependency.php
index 69093881200..a350aaae637 100644
--- a/lib/Magento/View/Layout/File/Source/Decorator/ModuleDependency.php
+++ b/lib/Magento/View/Layout/File/Source/Decorator/ModuleDependency.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Decorator that sorts layout files according to dependencies between modules they belong to
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -31,6 +29,9 @@ use Magento\View\Layout\File;
 use Magento\Module\ModuleListInterface;
 use Magento\View\Design\ThemeInterface;
 
+/**
+ * Decorator that sorts layout files according to dependencies between modules they belong to
+ */
 class ModuleDependency implements SourceInterface
 {
     /**
@@ -65,7 +66,9 @@ class ModuleDependency implements SourceInterface
     /**
      * Retrieve layout files, sorted by the priority of modules they belong to
      *
-     * {@inheritdoc}
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return \Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Decorator/ModuleOutput.php b/lib/Magento/View/Layout/File/Source/Decorator/ModuleOutput.php
index 7d42953c23e..e49847c798d 100644
--- a/lib/Magento/View/Layout/File/Source/Decorator/ModuleOutput.php
+++ b/lib/Magento/View/Layout/File/Source/Decorator/ModuleOutput.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Decorator that filters out layout files that belong to modules, output of which is prohibited
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -31,6 +29,9 @@ use Magento\View\Layout\File;
 use Magento\Module\Manager;
 use Magento\View\Design\ThemeInterface;
 
+/**
+ * Decorator that filters out layout files that belong to modules, output of which is prohibited
+ */
 class ModuleOutput implements SourceInterface
 {
     /**
@@ -56,9 +57,13 @@ class ModuleOutput implements SourceInterface
     }
 
     /**
+     * Retrieve files
+     *
      * Filter out theme files that belong to inactive modules or ones explicitly configured to not produce any output
      *
-     * {@inheritdoc}
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return array|\Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Override/Base.php b/lib/Magento/View/Layout/File/Source/Override/Base.php
index 52b5639c56f..a93abcf0514 100644
--- a/lib/Magento/View/Layout/File/Source/Override/Base.php
+++ b/lib/Magento/View/Layout/File/Source/Override/Base.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Source of layout files that explicitly override base files introduced by modules
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -32,6 +30,9 @@ use Magento\App\Dir;
 use Magento\Filesystem;
 use Magento\View\Layout\File\Factory;
 
+/**
+ * Source of layout files that explicitly override base files introduced by modules
+ */
 class Base implements SourceInterface
 {
     /**
@@ -65,7 +66,11 @@ class Base implements SourceInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Retrieve files
+     *
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return array|\Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Override/Theme.php b/lib/Magento/View/Layout/File/Source/Override/Theme.php
index a31bdb93857..a949fe8acff 100644
--- a/lib/Magento/View/Layout/File/Source/Override/Theme.php
+++ b/lib/Magento/View/Layout/File/Source/Override/Theme.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Source of layout files that explicitly override files of ancestor themes
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -33,6 +31,9 @@ use Magento\Filesystem;
 use Magento\View\Layout\File\Factory;
 use Magento\Exception;
 
+/**
+ * Source of layout files that explicitly override files of ancestor themes
+ */
 class Theme implements SourceInterface
 {
     /**
@@ -66,7 +67,12 @@ class Theme implements SourceInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Retrieve files
+     *
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return array|\Magento\View\Layout\File[]
+     * @throws \Magento\Exception
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/Source/Theme.php b/lib/Magento/View/Layout/File/Source/Theme.php
index 0bad442387e..1abcaec4f6d 100644
--- a/lib/Magento/View/Layout/File/Source/Theme.php
+++ b/lib/Magento/View/Layout/File/Source/Theme.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Source of non-overriding layout files introduced by a theme
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -32,6 +30,9 @@ use Magento\App\Dir;
 use Magento\Filesystem;
 use Magento\View\Layout\File\Factory;
 
+/**
+ * Source of non-overriding layout files introduced by a theme
+ */
 class Theme implements SourceInterface
 {
     /**
@@ -65,7 +66,11 @@ class Theme implements SourceInterface
     }
 
     /**
-     * {@inheritdoc}
+     * Retrieve files
+     *
+     * @param ThemeInterface $theme
+     * @param string $filePath
+     * @return array|\Magento\View\Layout\File[]
      */
     public function getFiles(ThemeInterface $theme, $filePath = '*')
     {
diff --git a/lib/Magento/View/Layout/File/SourceInterface.php b/lib/Magento/View/Layout/File/SourceInterface.php
index 57b9d7e9fcc..1ae7a62fcac 100644
--- a/lib/Magento/View/Layout/File/SourceInterface.php
+++ b/lib/Magento/View/Layout/File/SourceInterface.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Interface of locating layout files in the file system
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -28,6 +26,9 @@ namespace Magento\View\Layout\File;
 
 use Magento\View\Design\ThemeInterface;
 
+/**
+ * Interface of locating layout files in the file system
+ */
 interface SourceInterface
 {
     /**
diff --git a/lib/Magento/View/Layout/ProcessorFactory.php b/lib/Magento/View/Layout/ProcessorFactory.php
index 798ac077105..a085b0eb69d 100644
--- a/lib/Magento/View/Layout/ProcessorFactory.php
+++ b/lib/Magento/View/Layout/ProcessorFactory.php
@@ -44,8 +44,6 @@ class ProcessorFactory
     protected $instanceName;
 
     /**
-     * Factory constructor
-     *
      * @param \Magento\ObjectManager $objectManager
      * @param string $instanceName
      */
diff --git a/lib/Magento/View/Layout/ProcessorInterface.php b/lib/Magento/View/Layout/ProcessorInterface.php
index d8f903d0602..43bf8ea48c3 100644
--- a/lib/Magento/View/Layout/ProcessorInterface.php
+++ b/lib/Magento/View/Layout/ProcessorInterface.php
@@ -25,7 +25,7 @@
 namespace Magento\View\Layout;
 
 /**
- * @package Magento\View
+ * Interface ProcessorInterface
  */
 interface ProcessorInterface
 {
@@ -75,6 +75,8 @@ interface ProcessorInterface
     public function getHandles();
 
     /**
+     * Add page handles
+     *
      * 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.
      *
diff --git a/lib/Magento/View/LayoutFactory.php b/lib/Magento/View/LayoutFactory.php
index f1484630742..8c659aa3d83 100644
--- a/lib/Magento/View/LayoutFactory.php
+++ b/lib/Magento/View/LayoutFactory.php
@@ -34,18 +34,16 @@ class LayoutFactory
      *
      * @var \Magento\ObjectManager
      */
-    protected $_objectManager = null;
+    protected $_objectManager;
 
     /**
      * Instance name to create
      *
      * @var string
      */
-    protected $_instanceName = null;
+    protected $_instanceName;
 
     /**
-     * Factory constructor
-     *
      * @param \Magento\ObjectManager $objectManager
      * @param string $instanceName
      */
diff --git a/lib/Magento/View/LayoutInterface.php b/lib/Magento/View/LayoutInterface.php
index 8874fbe398b..2aad608141f 100644
--- a/lib/Magento/View/LayoutInterface.php
+++ b/lib/Magento/View/LayoutInterface.php
@@ -24,6 +24,9 @@
 
 namespace Magento\View;
 
+/**
+ * Interface LayoutInterface
+ */
 interface LayoutInterface
 {
     /**
@@ -208,7 +211,7 @@ interface LayoutInterface
     /**
      * Add a block to registry, create new object if needed
      *
-     * @param string|\Magento\Core\Block\AbstractBlock $block
+     * @param string|\Magento\View\Block\AbstractBlock $block
      * @param string $name
      * @param string $parent
      * @param string $alias
@@ -255,7 +258,7 @@ interface LayoutInterface
     /**
      * Retrieve messages block
      *
-     * @return \Magento\Core\Block\Messages
+     * @return \Magento\View\Block\Messages
      */
     public function getMessagesBlock();
 
diff --git a/lib/Magento/View/PublicFilesManagerInterface.php b/lib/Magento/View/PublicFilesManagerInterface.php
index 03e620bfb5d..4a3b598ee61 100644
--- a/lib/Magento/View/PublicFilesManagerInterface.php
+++ b/lib/Magento/View/PublicFilesManagerInterface.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
+
 /**
  * FileSystem Interface
  */
-namespace Magento\View;
-
 interface PublicFilesManagerInterface
 {
     /**
diff --git a/lib/Magento/View/Publisher.php b/lib/Magento/View/Publisher.php
index f65244f9040..0fa4026af4b 100644
--- a/lib/Magento/View/Publisher.php
+++ b/lib/Magento/View/Publisher.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
+
 /**
  * Handles file publication
  */
-namespace Magento\View;
-
 class Publisher implements \Magento\View\PublicFilesManagerInterface
 {
     /**#@+
@@ -97,8 +97,6 @@ class Publisher implements \Magento\View\PublicFilesManagerInterface
     protected $_modulesReader;
 
     /**
-     * View files publisher model
-     *
      * @param \Magento\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\View\Url\CssResolver $cssUrlResolver
@@ -129,7 +127,13 @@ class Publisher implements \Magento\View\PublicFilesManagerInterface
     }
 
     /**
+     * Get published file path
+     *
      * {@inheritdoc}
+     *
+     * @param  string $filePath
+     * @param  array $params
+     * @return string
      */
     public function getPublicFilePath($filePath, $params)
     {
@@ -241,7 +245,8 @@ class Publisher implements \Magento\View\PublicFilesManagerInterface
     }
 
     /**
-     * Determine whether a file needs to be published.
+     * Determine whether a file needs to be published
+     *
      * Js files are never processed. All other files must be processed either if they are not published already,
      * or if they are css-files and we're working in developer mode.
      *
diff --git a/lib/Magento/View/Render/Html.php b/lib/Magento/View/Render/Html.php
deleted file mode 100644
index 8bc49c98ceb..00000000000
--- a/lib/Magento/View/Render/Html.php
+++ /dev/null
@@ -1,95 +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\View\Render;
-
-use Magento\View\RenderInterface;
-use Magento\View\TemplateEngineFactory;
-
-class Html implements RenderInterface
-{
-    /**
-     * Render type
-     */
-    const TYPE_HTML = 'html';
-
-    /**
-     * @var TemplateEngineFactory
-     */
-    protected $templateFactory;
-
-    /**
-     * @param TemplateEngineFactory $templateFactory
-     */
-    public function __construct(
-        TemplateEngineFactory $templateFactory
-    ) {
-        $this->templateFactory = $templateFactory;
-    }
-
-    /**
-     * @param string $template
-     * @param array $data
-     * @return string
-     */
-    public function renderTemplate($template, array $data)
-    {
-        // wrap block's result with ui data containers
-        return $this->fetchView($template, $data);
-    }
-
-    /**
-     * @param string $content
-     * @param array $containerInfo
-     * @return string
-     */
-    public function renderContainer($content, array $containerInfo = array())
-    {
-        if (isset($containerInfo['tag'])) {
-            $htmlId = $htmlClass = '';
-            if (isset($containerInfo['id'])) {
-                $htmlId = ' id="' . $containerInfo['id']. '"';
-            }
-            if (isset($containerInfo['class'])) {
-                $htmlClass = ' class="'. $containerInfo['class'] . '"';
-            }
-            $content = sprintf('<%1$s%2$s%3$s>%4$s</%1$s>', $containerInfo['tag'], $htmlId, $htmlClass, $content);
-        }
-        return $content;
-    }
-
-    /**
-     * Retrieve rendered output
-     *
-     * @param string $template
-     * @param array $data
-     * @return string
-     */
-    protected function fetchView($template, array $data = array())
-    {
-        $extension = pathinfo($template, PATHINFO_EXTENSION);
-        $templateEngine = $this->templateFactory->get($extension);
-        return $templateEngine->render($template, $data);
-    }
-}
\ No newline at end of file
diff --git a/lib/Magento/View/Render/RenderFactory.php b/lib/Magento/View/Render/RenderFactory.php
index f7f3fe38f49..bdb2e01af05 100644
--- a/lib/Magento/View/Render/RenderFactory.php
+++ b/lib/Magento/View/Render/RenderFactory.php
@@ -27,6 +27,9 @@ namespace Magento\View\Render;
 use Magento\ObjectManager;
 use Magento\View\RenderInterface;
 
+/**
+ * Class RenderFactory
+ */
 class RenderFactory
 {
     /**
diff --git a/lib/Magento/View/RenderInterface.php b/lib/Magento/View/RenderInterface.php
index 447a511b3a2..96419baabf1 100644
--- a/lib/Magento/View/RenderInterface.php
+++ b/lib/Magento/View/RenderInterface.php
@@ -24,6 +24,9 @@
 
 namespace Magento\View;
 
+/**
+ * Interface RenderInterface
+ */
 interface RenderInterface
 {
     /**
diff --git a/lib/Magento/View/Service.php b/lib/Magento/View/Service.php
index edfe2720cb0..448f09d9f59 100644
--- a/lib/Magento/View/Service.php
+++ b/lib/Magento/View/Service.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
+
 /**
  * Design service model
  */
-namespace Magento\View;
-
 class Service
 {
     /**
diff --git a/lib/Magento/View/TemplateEngine/Php.php b/lib/Magento/View/TemplateEngine/Php.php
index 58382300fe9..ce367b1807e 100644
--- a/lib/Magento/View/TemplateEngine/Php.php
+++ b/lib/Magento/View/TemplateEngine/Php.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Template engine that enables PHP templates to be used for rendering
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -29,6 +27,9 @@ namespace Magento\View\TemplateEngine;
 use Magento\View\TemplateEngineInterface;
 use Magento\View\Element\BlockInterface;
 
+/**
+ * Template engine that enables PHP templates to be used for rendering
+ */
 class Php implements TemplateEngineInterface
 {
     /**
@@ -37,13 +38,14 @@ class Php implements TemplateEngineInterface
     protected $_currentBlock;
 
     /**
+     * Render output
+     *
      * Include the named PHTML template using the given block as the $this
      * reference, though only public methods will be accessible.
      *
      * @param BlockInterface           $block
      * @param string                   $fileName
      * @param array                    $dictionary
-     *
      * @return string
      * @throws \Exception any exception that the template may throw
      */
@@ -66,13 +68,13 @@ class Php implements TemplateEngineInterface
     }
 
     /**
-     * Redirects methods calls to the current block.  This is needed because
-     * the templates are included in the context of this engine rather than
-     * in the context of the block.
+     * Redirects methods calls to the current block
+     *
+     * This is needed because the templates are included in the context of this engine
+     * rather than in the context of the block.
      *
      * @param   string $method
      * @param   array  $args
-     *
      * @return  mixed
      */
     public function __call($method, $args)
@@ -81,12 +83,12 @@ class Php implements TemplateEngineInterface
     }
 
     /**
-     * Redirects isset calls to the current block.  This is needed because
-     * the templates are included in the context of this engine rather than
+     * Redirects isset calls to the current block
+     *
+     * This is needed because the templates are included in the context of this engine rather than
      * in the context of the block.
      *
      * @param string $name
-     *
      * @return bool
      */
     public function __isset($name)
@@ -95,12 +97,12 @@ class Php implements TemplateEngineInterface
     }
 
     /**
-     * Allows read access to properties of the current block.  This is needed
-     * because the templates are included in the context of this engine rather
+     * Allows read access to properties of the current block
+     *
+     * This is needed because the templates are included in the context of this engine rather
      * than in the context of the block.
      *
      * @param string $name
-     *
      * @return mixed
      */
     public function __get($name)
diff --git a/lib/Magento/View/TemplateEngineFactory.php b/lib/Magento/View/TemplateEngineFactory.php
index 49d2f3d488c..d321e94ae5f 100644
--- a/lib/Magento/View/TemplateEngineFactory.php
+++ b/lib/Magento/View/TemplateEngineFactory.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Factory class for Template Engine
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -28,6 +26,9 @@ namespace Magento\View;
 
 use Magento\ObjectManager;
 
+/**
+ * Factory class for Template Engine
+ */
 class TemplateEngineFactory
 {
     /**
@@ -36,31 +37,40 @@ class TemplateEngineFactory
     protected $objectManager;
 
     /**
-     * Template engine type
+     * @var array
      */
-    const ENGINE_PHTML = 'phtml';
+    protected $engines;
 
     /**
      * @param ObjectManager $objectManager
+     * @param array $engines Format: array('<name>' => 'TemplateEngine\Class', ...)
      */
-    public function __construct(ObjectManager $objectManager)
-    {
+    public function __construct(
+        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\View\TemplateEngineInterface
-     * @throws \InvalidArgumentException if template engine doesn't exist
+     * @param $name
+     * @return TemplateEngineInterface
+     * @throws \UnexpectedValueException If template engine doesn't implement the necessary interface
+     * @throws \InvalidArgumentException If template engine doesn't exist
      */
-    public function get($name)
+    public function create($name)
     {
-        if (self::ENGINE_PHTML == $name) {
-            return $this->objectManager->get('Magento\\View\\TemplateEngine\\Php');
+        if (!isset($this->engines[$name])) {
+            throw new \InvalidArgumentException("Unknown template engine type: '$name'.");
+        }
+        $engineClass = $this->engines[$name];
+        $engineInstance = $this->objectManager->create($engineClass);
+        if (!($engineInstance instanceof \Magento\View\TemplateEngineInterface)) {
+            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/lib/Magento/View/TemplateEngineInterface.php b/lib/Magento/View/TemplateEngineInterface.php
index 48714d8bb1f..cf1c1b5feb6 100644
--- a/lib/Magento/View/TemplateEngineInterface.php
+++ b/lib/Magento/View/TemplateEngineInterface.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Interface for Template Engine
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -26,9 +24,14 @@
 
 namespace Magento\View;
 
+/**
+ * Interface for Template Engine
+ */
 interface TemplateEngineInterface
 {
     /**
+     * Render template
+     *
      * Render the named template in the context of a particular block and with
      * the data provided in $vars.
      *
diff --git a/lib/Magento/View/TemplateEnginePool.php b/lib/Magento/View/TemplateEnginePool.php
new file mode 100644
index 00000000000..6c7fc2a866c
--- /dev/null
+++ b/lib/Magento/View/TemplateEnginePool.php
@@ -0,0 +1,61 @@
+<?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;
+
+use Magento\View\TemplateEngineFactory;
+
+class TemplateEnginePool
+{
+    /**
+     * @var TemplateEngineFactory
+     */
+    protected $factory;
+
+    /**
+     * @var \Magento\View\TemplateEngineInterface[]
+     */
+    protected $engines = array();
+
+    /**
+     * @param TemplateEngineFactory $factory
+     */
+    public function __construct(TemplateEngineFactory $factory)
+    {
+        $this->factory = $factory;
+    }
+
+    /**
+     * Retrieve a template engine instance by its unique name
+     *
+     * @param string $name
+     * @return \Magento\View\TemplateEngineInterface
+     */
+    public function get($name)
+    {
+        if (!isset($this->engines[$name])) {
+            $this->engines[$name] = $this->factory->create($name);
+        }
+        return $this->engines[$name];
+    }
+}
diff --git a/lib/Magento/View/Url.php b/lib/Magento/View/Url.php
index 6419f022d13..be268bc5f85 100644
--- a/lib/Magento/View/Url.php
+++ b/lib/Magento/View/Url.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View;
+
 /**
  * Builds URLs for publicly accessible files
  */
-namespace Magento\View;
-
 class Url
 {
     /**
@@ -77,8 +77,6 @@ class Url
     protected $_fileUrlMap;
 
     /**
-     * View files URL model
-     *
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\App\Dir $dirs
      * @param \Magento\UrlInterface $urlBuilder
@@ -109,7 +107,9 @@ class Url
     }
 
     /**
-     * Get url to file base on theme file identifier.
+     * Retrieve view file URL
+     *
+     * Get URL to file base on theme file identifier.
      * Publishes file there, if needed.
      *
      * @param string $fileId
diff --git a/lib/Magento/View/Url/ConfigInterface.php b/lib/Magento/View/Url/ConfigInterface.php
index 31ffceac312..c3e8dcd84c9 100644
--- a/lib/Magento/View/Url/ConfigInterface.php
+++ b/lib/Magento/View/Url/ConfigInterface.php
@@ -22,11 +22,11 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Url;
+
 /**
  * Url Config Interface
  */
-namespace Magento\View\Url;
-
 interface ConfigInterface
 {
     /**
diff --git a/lib/Magento/View/Url/CssResolver.php b/lib/Magento/View/Url/CssResolver.php
index 82689aaa934..c0f02ba4e00 100644
--- a/lib/Magento/View/Url/CssResolver.php
+++ b/lib/Magento/View/Url/CssResolver.php
@@ -1,7 +1,5 @@
 <?php
 /**
- * Helper to work with CSS files
- *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -26,6 +24,9 @@
 
 namespace Magento\View\Url;
 
+/**
+ * Helper to work with CSS files
+ */
 class CssResolver
 {
     /**
@@ -57,6 +58,8 @@ class CssResolver
     }
 
     /**
+     * Replace relative URLs
+     *
      * Go through CSS content and modify relative urls, when content is read at $originalPath and then put to $newPath
      *
      * @param string $cssContent
-- 
GitLab