diff --git a/.htaccess b/.htaccess
index 01f8f8dd24df5bf518774b24c9843bdd0d61d73a..db51125fa8c3c76117c8780090e3b383c153d179 100644
--- a/.htaccess
+++ b/.htaccess
@@ -187,4 +187,6 @@
 ## If running in cluster environment, uncomment this
 ## http://developer.yahoo.com/performance/rules.html#etags
 
-    #FileETag none
\ No newline at end of file
+    #FileETag none
+
+SetEnv MAGE_MODE developer
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php
index 38c5698027281a5d5c21ffddc8f1cf3c548f3a51..439c62044ba522d2b333f23ca431ddf4e5b019dc 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/AddStoreFieldToCollection.php
@@ -33,9 +33,8 @@ class AddStoreFieldToCollection implements AddFilterToCollectionInterface
      */
     public function addFilter(Collection $collection, $field, $condition = null)
     {
-        $storeId = isset($condition['eq'])  ? $condition['eq'] : null;
-        if ($storeId) {
-            $collection->addStoreFilter($this->storeManager->getStore($storeId));
+        if (isset($condition['eq']) && $condition['eq']) {
+            $collection->addStoreFilter($this->storeManager->getStore($condition['eq']));
         }
     }
 }
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php
index f4f8e690aeb3f0711b769fd71da87d8067e85014..a5dde67b3e71b8f0e15cbcb1171f80d933fa4197 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/ProductDataProvider.php
@@ -10,7 +10,7 @@ use Magento\Catalog\Model\Resource\Product\CollectionFactory;
 /**
  * Class ProductDataProvider
  */
-class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvider
+class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider
 {
     /**
      * Product collection
@@ -46,8 +46,8 @@ class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvid
         $primaryFieldName,
         $requestFieldName,
         CollectionFactory $collectionFactory,
-        array $addFieldStrategies,
-        array $addFilterStrategies,
+        array $addFieldStrategies = [],
+        array $addFilterStrategies = [],
         array $meta = [],
         array $data = []
     ) {
@@ -94,9 +94,9 @@ class ProductDataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvid
     public function addField($field, $alias = null)
     {
         if (isset($this->addFieldStrategies[$field])) {
-            $this->addFieldStrategies[$field]->addField($this->getCollection(), $field, $alias = null);
+            $this->addFieldStrategies[$field]->addField($this->getCollection(), $field, $alias);
         } else {
-            $this->addFieldStrategies['default']->addField($this->getCollection(), $field, $alias = null);
+            parent::addField($field, $alias);
         }
     }
 
diff --git a/app/code/Magento/Catalog/etc/adminhtml/di.xml b/app/code/Magento/Catalog/etc/adminhtml/di.xml
index a1b392c9586666ac5dbe7002ce2fa588b34f23ab..dd16554ac015f2044bb7984990b9e8ca4f0301f5 100644
--- a/app/code/Magento/Catalog/etc/adminhtml/di.xml
+++ b/app/code/Magento/Catalog/etc/adminhtml/di.xml
@@ -69,7 +69,6 @@
     <type name="Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider">
         <arguments>
             <argument name="addFieldStrategies" xsi:type="array">
-                <item name="default" xsi:type="object">Magento\Ui\DataProvider\AddFieldToEavCollection</item>
                 <item name="websites" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddWebsitesFieldToCollection</item>
             </argument>
             <argument name="addFilterStrategies" xsi:type="array">
diff --git a/app/code/Magento/Customer/Model/Customer/DataProvider.php b/app/code/Magento/Customer/Model/Customer/DataProvider.php
index 8e482715ba724e4450052fde2630203262eef54e..d6fde62a17a7eb8ab2a4d6f0f95ca265ec5f9f1a 100644
--- a/app/code/Magento/Customer/Model/Customer/DataProvider.php
+++ b/app/code/Magento/Customer/Model/Customer/DataProvider.php
@@ -16,7 +16,7 @@ use Magento\Customer\Model\Resource\Customer\CollectionFactory as CustomerCollec
 /**
  * Class DataProvider
  */
-class DataProvider extends \Magento\Ui\DataProvider\AbstractEavDataProvider
+class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider
 {
     /**
      * @var Collection
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
index 96465ce1dfb580896dec931e5ee40ea2c7fec76a..c458e464de2566aebacecff850ec4a84e07b914b 100755
--- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
@@ -1558,4 +1558,36 @@ abstract class AbstractCollection extends \Magento\Framework\Data\Collection\Abs
         }
         return parent::removeItemByKey($key);
     }
+
+    /**
+     * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb
+     *
+     * @param string $field
+     * @return $this|\Magento\Framework\Data\Collection\AbstractDb
+     */
+    public function addFieldToSelect($field)
+    {
+        return $this->addAttributeToSelect($field);
+    }
+
+    /**
+     * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb
+     *
+     * @param string $field
+     * @return $this|\Magento\Framework\Data\Collection\AbstractDb
+     */
+    public function removeFieldFromSelect($field)
+    {
+        return $this->removeAttributeToSelect($field);
+    }
+
+    /**
+     * Wrapper for compatibility with \Magento\Framework\Data\Collection\AbstractDb
+     *
+     * @return $this|\Magento\Framework\Data\Collection\AbstractDb
+     */
+    public function removeAllFieldsFromSelect()
+    {
+        return $this->removeAttributeToSelect();
+    }
 }
diff --git a/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php b/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php
deleted file mode 100644
index 6733eb1b670b8373dc7334a3d0d659fb5d90dde9..0000000000000000000000000000000000000000
--- a/app/code/Magento/Ui/DataProvider/AbstractEavDataProvider.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-namespace Magento\Ui\DataProvider;
-
-abstract class AbstractEavDataProvider extends AbstractDataProvider
-{
-    /**
-     * Add field to select
-     *
-     * @param string|array $field
-     * @param string|null $alias
-     * @return void
-     */
-    public function addField($field, $alias = null)
-    {
-        $this->getCollection()->addAttributeToSelect($field);
-    }
-
-    /**
-     * Removes field from select
-     *
-     * @param string|null $field
-     * @param bool $isAlias Alias identifier
-     * @return void
-     */
-    public function removeField($field, $isAlias = false)
-    {
-        $this->getCollection()->removeAttributeToSelect($field);
-    }
-
-    /**
-     * Removes all fields from select
-     *
-     * @return void
-     */
-    public function removeAllFields()
-    {
-        $this->getCollection()->removeAttributeToSelect();
-    }
-}
diff --git a/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php b/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php
deleted file mode 100644
index 43c4630068758fdb8b6fb7d07aa9abc5250fafab..0000000000000000000000000000000000000000
--- a/app/code/Magento/Ui/DataProvider/AddFieldToEavCollection.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Copyright © 2015 Magento. All rights reserved.
- * See COPYING.txt for license details.
- */
-namespace Magento\Ui\DataProvider;
-
-use Magento\Framework\Data\Collection;
-
-/**
- * Class AddFieldToEavCollection
- */
-class AddFieldToEavCollection implements AddFieldToCollectionInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function addField(Collection $collection, $field, $alias = null)
-    {
-        $collection->addAttributeToSelect($field);
-    }
-}
diff --git a/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php b/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php
index bc52878544d28bee3f83733eaba21b03873e274d..9a14eebb43a3ed73d53115af21c9887fdf1cf7aa 100644
--- a/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php
+++ b/app/code/Magento/Ui/DataProvider/AddFilterToCollectionInterface.php
@@ -14,9 +14,8 @@ interface AddFilterToCollectionInterface
 {
     /**
      * @param Collection $collection
-     * @param $field
-     * @param null $condition
-     * @return mixed
+     * @param string $field
+     * @param string|null $condition
      */
     public function addFilter(Collection $collection, $field, $condition = null);
 }