From e492c76009ea81c9513ae359f5fd41e84703116f Mon Sep 17 00:00:00 2001
From: mattab <matthieu.aubry@gmail.com>
Date: Sat, 20 Jul 2013 18:39:01 +1200
Subject: [PATCH] Adding Logic for namespaces in Loader.php + Fixing build
 Converting Access & Auth to namespace

---
 core/API/DataTableManipulator/LabelFilter.php |  2 +-
 core/API/Proxy.php                            |  2 +-
 core/API/Request.php                          |  3 +-
 core/API/ResponseBuilder.php                  |  4 +-
 core/Access.php                               | 45 ++++-----
 core/AssetManager.php                         |  2 +-
 core/Auth.php                                 | 14 +--
 core/Controller.php                           | 11 ++-
 core/DataFiles/SearchEngines.php              |  2 +-
 core/FrontController.php                      |  8 +-
 core/JqplotDataGenerator.php                  |  6 +-
 core/JqplotDataGenerator/Evolution.php        |  2 +-
 core/Loader.php                               | 11 ++-
 core/Piwik.php                                | 46 +++++-----
 core/Tracker.php                              |  3 +-
 core/Tracker/Visit.php                        |  2 +-
 core/Updates/1.8.3-b1.php                     |  8 +-
 core/ViewDataTable.php                        |  2 +-
 core/ViewDataTable/GenerateGraphHTML.php      |  2 +-
 .../GenerateGraphHTML/ChartEvolution.php      |  3 +-
 core/ViewDataTable/HtmlTable.php              |  4 +-
 libs/upgradephp/upgrade.php                   |  2 +-
 plugins/API/API.php                           |  2 +-
 plugins/ExamplePlugin/Controller.php          |  6 +-
 plugins/Installation/Controller.php           |  3 +-
 plugins/Login/Auth.php                        | 16 ++--
 plugins/Overlay/API.php                       |  3 +-
 plugins/Referers/Controller.php               |  4 +-
 plugins/SitesManager/API.php                  | 15 +--
 plugins/UserCountry/API.php                   |  2 +-
 plugins/UsersManager/API.php                  |  7 +-
 tests/LocalTracker.php                        |  2 +-
 tests/PHPUnit/BaseFixture.php                 |  7 +-
 tests/PHPUnit/BenchmarkTestCase.php           |  4 +-
 tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php |  6 +-
 tests/PHPUnit/Core/AccessTest.php             | 91 ++++++++++---------
 tests/PHPUnit/Core/ArchiveProcessingTest.php  |  9 +-
 tests/PHPUnit/Core/CommonTest.php             |  2 +-
 tests/PHPUnit/Core/ConfigTest.php             |  2 +-
 tests/PHPUnit/Core/DataTable/ArrayTest.php    |  2 +-
 tests/PHPUnit/Core/DataTableTest.php          |  7 +-
 tests/PHPUnit/Core/DateTest.php               |  2 +-
 tests/PHPUnit/Core/IPTest.php                 |  4 +-
 tests/PHPUnit/Core/NonceTest.php              |  2 +-
 tests/PHPUnit/Core/OptionTest.php             |  2 +-
 tests/PHPUnit/Core/PiwikTest.php              |  5 +-
 .../Core/PluginsFunctions/WidgetsListTest.php |  8 +-
 tests/PHPUnit/Core/ReleaseCheckListTest.php   |  4 +-
 tests/PHPUnit/Core/SegmentTest.php            |  5 +-
 tests/PHPUnit/Core/ServeStaticFileTest.php    |  4 +-
 tests/PHPUnit/Core/Tracker/ActionTest.php     |  5 +-
 tests/PHPUnit/Core/Tracker/VisitTest.php      |  4 +-
 tests/PHPUnit/Core/TranslationWriterTest.php  |  2 +-
 tests/PHPUnit/Core/UrlTest.php                |  2 +-
 tests/PHPUnit/DatabaseTestCase.php            |  4 +-
 .../Fixtures/ManySitesImportedLogs.php        |  3 +-
 .../ManySitesImportedLogsWithXssAttempts.php  |  2 +-
 .../Fixtures/TwoSitesWithAnnotations.php      |  3 +-
 tests/PHPUnit/Integration/AnnotationsTest.php |  4 +-
 tests/PHPUnit/Integration/ArchiveCronTest.php |  5 +-
 .../Integration/BlobReportLimitingTest.php    |  2 +-
 .../EcommerceOrderWithItemsTest.php           |  2 +-
 tests/PHPUnit/Integration/ImportLogsTest.php  |  3 +-
 ...everalDaysDateRange_ArchivingTestsTest.php |  4 +-
 ...mVariables_SegmentMatchVisitorTypeTest.php |  2 +-
 .../Integration/UrlNormalizationTest.php      |  2 +-
 tests/PHPUnit/IntegrationTestCase.php         | 11 ++-
 .../PHPUnit/Plugins/LanguagesManagerTest.php  |  2 +-
 tests/PHPUnit/Plugins/LoginTest.php           | 67 +++++++-------
 tests/PHPUnit/Plugins/MobileMessagingTest.php |  4 +-
 tests/PHPUnit/Plugins/MultiSitesTest.php      |  4 +-
 tests/PHPUnit/Plugins/PDFReportsTest.php      |  6 +-
 tests/PHPUnit/Plugins/PrivacyManagerTest.php  |  8 +-
 tests/PHPUnit/Plugins/SEOTest.php             |  4 +-
 tests/PHPUnit/Plugins/SegmentEditorTest.php   |  5 +-
 tests/PHPUnit/Plugins/SitesManagerTest.php    | 14 +--
 tests/PHPUnit/Plugins/UserCountryTest.php     |  2 +-
 tests/PHPUnit/Plugins/UsersManagerTest.php    |  5 +-
 tests/PHPUnit/UI/UIIntegrationTest.php        |  5 +-
 tests/PHPUnit/bootstrap.php                   |  2 +-
 tests/PHPUnit/proxy/piwik.php                 |  2 +-
 tests/resources/staticFileServer.php          |  4 +-
 82 files changed, 332 insertions(+), 272 deletions(-)

diff --git a/core/API/DataTableManipulator/LabelFilter.php b/core/API/DataTableManipulator/LabelFilter.php
index 20ba5b273f..550dbde69b 100644
--- a/core/API/DataTableManipulator/LabelFilter.php
+++ b/core/API/DataTableManipulator/LabelFilter.php
@@ -107,7 +107,7 @@ class Piwik_API_DataTableManipulator_LabelFilter extends Piwik_API_DataTableMani
      * Use variations of the label to make it easier to specify the desired label
      *
      * Note: The HTML Encoded version must be tried first, since in Piwik_API_ResponseBuilder the $label is unsanitized
-     * via Piwik_Common::unsanitizeLabelParameter.
+     * via Common::unsanitizeLabelParameter.
      *
      * @param string $label
      * @return array
diff --git a/core/API/Proxy.php b/core/API/Proxy.php
index 723820e1ee..08810ab396 100644
--- a/core/API/Proxy.php
+++ b/core/API/Proxy.php
@@ -154,7 +154,7 @@ class Piwik_API_Proxy
      * @param array $parametersRequest  The parameters pairs (name=>value)
      *
      * @return mixed|null
-     * @throws Exception|Piwik_Access_NoAccessException
+     * @throws Exception|Access_NoAccessException
      */
     public function call($className, $methodName, $parametersRequest)
     {
diff --git a/core/API/Request.php b/core/API/Request.php
index 503481f185..49ffc2a5df 100644
--- a/core/API/Request.php
+++ b/core/API/Request.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * An API request is the object used to make a call to the API and get the result.
@@ -167,7 +168,7 @@ class Piwik_API_Request
         $token_auth = Common::getRequestVar('token_auth', '', 'string', $request);
         if ($token_auth) {
             Piwik_PostEvent('API.Request.authenticate', array($token_auth));
-            Piwik_Access::getInstance()->reloadAccess();
+            Access::getInstance()->reloadAccess();
             Piwik::raiseMemoryLimitIfNecessary();
         }
     }
diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php
index 3935f267f7..8040721329 100644
--- a/core/API/ResponseBuilder.php
+++ b/core/API/ResponseBuilder.php
@@ -493,8 +493,8 @@ class Piwik_API_ResponseBuilder
 
     static public function unsanitizeLabelParameter($label)
     {
-        // this is needed because Piwik_API_Proxy uses Piwik_Common::getRequestVar which in turn
-        // uses Piwik_Common::sanitizeInputValue. This causes the > that separates recursive labels
+        // this is needed because Piwik_API_Proxy uses Common::getRequestVar which in turn
+        // uses Common::sanitizeInputValue. This causes the > that separates recursive labels
         // to become &gt; and we need to undo that here.
         $label = Common::unsanitizeInputValues($label);
         return $label;
diff --git a/core/Access.php b/core/Access.php
index 715b96aae0..931e958567 100644
--- a/core/Access.php
+++ b/core/Access.php
@@ -8,12 +8,15 @@
  * @category Piwik
  * @package Piwik
  */
+namespace Piwik;
+
 use Piwik\Config;
 use Piwik\Common;
+use Piwik\Auth;
 
 /**
  * Class to handle User Access:
- * - loads user access from the Piwik_Auth_Result object
+ * - loads user access from the AuthResult object
  * - provides easy to use API to check the permissions for the current (check* methods)
  *
  * In Piwik there are mainly 4 access levels
@@ -34,9 +37,9 @@ use Piwik\Common;
  * and he only can change the main configuration settings.
  *
  * @package Piwik
- * @subpackage Piwik_Access
+ * @subpackage Access
  */
-class Piwik_Access
+class Access
 {
     private static $instance = null;
     
@@ -142,7 +145,7 @@ class Piwik_Access
      * @param null|Piwik_Auth $auth  Auth adapter
      * @return bool  true on success, false if reloading access failed (when auth object wasn't specified and user is not enforced to be Super User)
      */
-    public function reloadAccess(Piwik_Auth $auth = null)
+    public function reloadAccess(Auth $auth = null)
     {
         if (!is_null($auth)) {
             $this->auth = $auth;
@@ -166,7 +169,7 @@ class Piwik_Access
         $this->token_auth = $result->getTokenAuth();
 
         // case the superUser is logged in
-        if ($result->getCode() == Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE) {
+        if ($result->getCode() == AuthResult::SUCCESS_SUPERUSER_AUTH_CODE) {
             return $this->reloadAccessSuperUser();
         }
         // in case multiple calls to API using different tokens, we ensure we reset it as not SU
@@ -210,7 +213,7 @@ class Piwik_Access
         $this->isSuperUser = true;
         
         try {
-            $allSitesId = Piwik_SitesManager_API::getInstance()->getAllSitesId();
+            $allSitesId = \Piwik_SitesManager_API::getInstance()->getAllSitesId();
         } catch(Exception $e) {
             $allSitesId = array();
         }
@@ -328,19 +331,19 @@ class Piwik_Access
     /**
      * Throws an exception if the user is not the SuperUser
      *
-     * @throws Piwik_Access_NoAccessException
+     * @throws Access_NoAccessException
      */
     public function checkUserIsSuperUser()
     {
         if (!$this->isSuperUser()) {
-            throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionPrivilege', array("'superuser'")));
+            throw new NoAccessException(Piwik_TranslateException('General_ExceptionPrivilege', array("'superuser'")));
         }
     }
 
     /**
      * If the user doesn't have an ADMIN access for at least one website, throws an exception
      *
-     * @throws Piwik_Access_NoAccessException
+     * @throws Access_NoAccessException
      */
     public function checkUserHasSomeAdminAccess()
     {
@@ -349,14 +352,14 @@ class Piwik_Access
         }
         $idSitesAccessible = $this->getSitesIdWithAdminAccess();
         if (count($idSitesAccessible) == 0) {
-            throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAtLeastOneWebsite', array('admin')));
+            throw new NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAtLeastOneWebsite', array('admin')));
         }
     }
 
     /**
      * If the user doesn't have any view permission, throw exception
      *
-     * @throws Piwik_Access_NoAccessException
+     * @throws Access_NoAccessException
      */
     public function checkUserHasSomeViewAccess()
     {
@@ -365,7 +368,7 @@ class Piwik_Access
         }
         $idSitesAccessible = $this->getSitesIdWithAtLeastViewAccess();
         if (count($idSitesAccessible) == 0) {
-            throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAtLeastOneWebsite', array('view')));
+            throw new NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAtLeastOneWebsite', array('view')));
         }
     }
 
@@ -374,7 +377,7 @@ class Piwik_Access
      * If the user doesn't have ADMIN access for at least one website of the list, we throw an exception.
      *
      * @param int|array $idSites  List of ID sites to check
-     * @throws Piwik_Access_NoAccessException If for any of the websites the user doesn't have an ADMIN access
+     * @throws Access_NoAccessException If for any of the websites the user doesn't have an ADMIN access
      */
     public function checkUserHasAdminAccess($idSites)
     {
@@ -385,7 +388,7 @@ class Piwik_Access
         $idSitesAccessible = $this->getSitesIdWithAdminAccess();
         foreach ($idSites as $idsite) {
             if (!in_array($idsite, $idSitesAccessible)) {
-                throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAccessWebsite', array("'admin'", $idsite)));
+                throw new NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAccessWebsite', array("'admin'", $idsite)));
             }
         }
     }
@@ -395,7 +398,7 @@ class Piwik_Access
      * If the user doesn't have VIEW or ADMIN access for at least one website of the list, we throw an exception.
      *
      * @param int|array|string $idSites  List of ID sites to check (integer, array of integers, string comma separated list of integers)
-     * @throws Piwik_Access_NoAccessException  If for any of the websites the user doesn't have an VIEW or ADMIN access
+     * @throws Access_NoAccessException  If for any of the websites the user doesn't have an VIEW or ADMIN access
      */
     public function checkUserHasViewAccess($idSites)
     {
@@ -406,7 +409,7 @@ class Piwik_Access
         $idSitesAccessible = $this->getSitesIdWithAtLeastViewAccess();
         foreach ($idSites as $idsite) {
             if (!in_array($idsite, $idSitesAccessible)) {
-                throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAccessWebsite', array("'view'", $idsite)));
+                throw new NoAccessException(Piwik_TranslateException('General_ExceptionPrivilegeAccessWebsite', array("'view'", $idsite)));
             }
         }
     }
@@ -414,7 +417,7 @@ class Piwik_Access
     /**
      * @param int|array|string $idSites
      * @return array
-     * @throws Piwik_Access_NoAccessException
+     * @throws Access_NoAccessException
      */
     protected function getIdSites($idSites)
     {
@@ -422,9 +425,9 @@ class Piwik_Access
             $idSites = $this->getSitesIdWithAtLeastViewAccess();
         }
 
-        $idSites = Piwik_Site::getIdSitesFromIdSitesString($idSites);
+        $idSites = \Piwik_Site::getIdSitesFromIdSitesString($idSites);
         if (empty($idSites)) {
-            throw new Piwik_Access_NoAccessException("The parameter 'idSite=' is missing from the request.");
+            throw new NoAccessException("The parameter 'idSite=' is missing from the request.");
         }
         return $idSites;
     }
@@ -434,8 +437,8 @@ class Piwik_Access
  * Exception thrown when a user doesn't  have sufficient access.
  *
  * @package Piwik
- * @subpackage Piwik_Access
+ * @subpackage Access
  */
-class Piwik_Access_NoAccessException extends Exception
+class NoAccessException extends \Exception
 {
 }
diff --git a/core/AssetManager.php b/core/AssetManager.php
index 5d03dee430..c425a92c32 100644
--- a/core/AssetManager.php
+++ b/core/AssetManager.php
@@ -381,7 +381,7 @@ class Piwik_AssetManager
      */
     private static function isMergedAssetsDisabled()
     {
-        return Piwik_Config::getInstance()->Debug['disable_merged_assets'];
+        return Config::getInstance()->Debug['disable_merged_assets'];
     }
 
     /**
diff --git a/core/Auth.php b/core/Auth.php
index 252a31afbd..67edbbabaf 100644
--- a/core/Auth.php
+++ b/core/Auth.php
@@ -9,13 +9,15 @@
  * @package Piwik
  */
 
+namespace Piwik;
+
 /**
  * Interface for authentication modules
  *
  * @package Piwik
  * @subpackage Piwik_Auth
  */
-interface Piwik_Auth
+interface Auth
 {
     /**
      * Authentication module's name, e.g., "Login"
@@ -27,7 +29,7 @@ interface Piwik_Auth
     /**
      * Authenticates user
      *
-     * @return Piwik_Auth_Result
+     * @return AuthResult
      */
     public function authenticate();
 }
@@ -37,10 +39,10 @@ interface Piwik_Auth
  *
  * @package Piwik
  * @subpackage Piwik_Auth
- * @see Zend_Auth_Result, libs/Zend/Auth/Result.php
+ * @see Zend_AuthResult, libs/Zend/Auth/Result.php
  * @link http://framework.zend.com/manual/en/zend.auth.html
  */
-class Piwik_Auth_Result extends Zend_Auth_Result
+class AuthResult extends \Zend_Auth_Result
 {
     /**
      * token_auth parameter used to authenticate in the API
@@ -52,7 +54,7 @@ class Piwik_Auth_Result extends Zend_Auth_Result
     const SUCCESS_SUPERUSER_AUTH_CODE = 42;
 
     /**
-     * Constructor for Piwik_Auth_Result
+     * Constructor for AuthResult
      *
      * @param int $code
      * @param string $login identity
@@ -61,7 +63,7 @@ class Piwik_Auth_Result extends Zend_Auth_Result
      */
     public function __construct($code, $login, $token_auth, array $messages = array())
     {
-        // Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, Piwik_Auth_Result::SUCCESS, Piwik_Auth_Result::FAILURE
+        // AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, AuthResult::SUCCESS, AuthResult::FAILURE
         $this->_code = (int)$code;
         $this->_identity = $login;
         $this->_messages = $messages;
diff --git a/core/Controller.php b/core/Controller.php
index 84fe4734a9..55857f7ce8 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -11,6 +11,7 @@
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Parent class of all plugins Controllers (located in /plugins/PluginName/Controller.php
@@ -248,7 +249,7 @@ abstract class Piwik_Controller
      * - period: day, week, month, year
      *
      * @param array $paramsToSet  array( 'date' => 'last50', 'viewDataTable' =>'sparkline' )
-     * @throws Piwik_Access_NoAccessException
+     * @throws Access_NoAccessException
      * @return array
      */
     protected function getGraphParamsModified($paramsToSet = array())
@@ -274,7 +275,7 @@ abstract class Piwik_Controller
         }
 
         if (is_null($this->site)) {
-            throw new Piwik_Access_NoAccessException("Website not initialized, check that you are logged in and/or using the correct token_auth.");
+            throw new Access_NoAccessException("Website not initialized, check that you are logged in and/or using the correct token_auth.");
         }
         $paramDate = self::getDateRangeRelativeToEndDate($period, $range, $endDate, $this->site);
 
@@ -451,7 +452,7 @@ abstract class Piwik_Controller
     protected function setBasicVariablesView($view)
     {
         $view->debugTrackVisitsInsidePiwikUI = Config::getInstance()->Debug['track_visits_inside_piwik_ui'];
-        $view->isSuperUser = Piwik_Access::getInstance()->isSuperUser();
+        $view->isSuperUser = Access::getInstance()->isSuperUser();
         $view->hasSomeAdminAccess = Piwik::isUserHasSomeAdminAccess();
         $view->isCustomLogo = Config::getInstance()->branding['use_custom_logo'];
         $view->logoHeader = Piwik_API_API::getInstance()->getHeaderLogoUrl();
@@ -745,13 +746,13 @@ abstract class Piwik_Controller
      * within the site.  The token should never appear in the browser's
      * address bar.
      *
-     * @throws Piwik_Access_NoAccessException  if token doesn't match
+     * @throws Access_NoAccessException  if token doesn't match
      * @return void
      */
     protected function checkTokenInUrl()
     {
         if (Common::getRequestVar('token_auth', false) != Piwik::getCurrentUserTokenAuth()) {
-            throw new Piwik_Access_NoAccessException(Piwik_TranslateException('General_ExceptionInvalidToken'));
+            throw new Access_NoAccessException(Piwik_TranslateException('General_ExceptionInvalidToken'));
         }
     }
 
diff --git a/core/DataFiles/SearchEngines.php b/core/DataFiles/SearchEngines.php
index 3dacdb1bd3..7df02fb1c0 100644
--- a/core/DataFiles/SearchEngines.php
+++ b/core/DataFiles/SearchEngines.php
@@ -555,7 +555,7 @@ if (!isset($GLOBALS['Piwik_SearchEngines'])) {
         'search.handycafe.com'           => array('InfoSpace', 'q'),
 
         /*
-         * Other InfoSpace powered metasearches are handled in Piwik_Common::extractSearchEngineInformationFromUrl()
+         * Other InfoSpace powered metasearches are handled in Common::extractSearchEngineInformationFromUrl()
          *
          * This includes sites such as:
          * - search.nation.com
diff --git a/core/FrontController.php b/core/FrontController.php
index a90f4b8554..a66a093cb8 100644
--- a/core/FrontController.php
+++ b/core/FrontController.php
@@ -11,6 +11,7 @@
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * @see core/PluginsManager.php
@@ -20,7 +21,6 @@ use Piwik\Common;
 require_once PIWIK_INCLUDE_PATH . '/core/PluginsManager.php';
 require_once PIWIK_INCLUDE_PATH . '/core/Translate.php';
 require_once PIWIK_INCLUDE_PATH . '/core/Option.php';
-require_once PIWIK_INCLUDE_PATH . '/core/Piwik.php';
 
 /**
  * Front controller.
@@ -127,7 +127,7 @@ class Piwik_FrontController
 
         try {
             return call_user_func_array(array($params[0], $params[1]), $params[2]);
-        } catch (Piwik_Access_NoAccessException $e) {
+        } catch (Access_NoAccessException $e) {
             Piwik_PostEvent('FrontController.NoAccessException', array($e), $pending = true);
         } catch (Exception $e) {
             $debugTrace = $e->getTraceAsString();
@@ -269,7 +269,7 @@ class Piwik_FrontController
             Piwik::createLogObject();
 
             // Init the Access object, so that eg. core/Updates/* can enforce Super User and use some APIs
-            Piwik_Access::getInstance();
+            Access::getInstance();
 
             Piwik_PostEvent('FrontController.dispatchCoreAndPluginUpdatesScreen');
 
@@ -289,7 +289,7 @@ class Piwik_FrontController
 									<code>Plugins[] = Login</code><br />
 									under the <code>[Plugins]</code> section in your config/config.ini.php");
             }
-            Piwik_Access::getInstance()->reloadAccess($authAdapter);
+            Access::getInstance()->reloadAccess($authAdapter);
 
             // Force the auth to use the token_auth if specified, so that embed dashboard
             // and all other non widgetized controller methods works fine
diff --git a/core/JqplotDataGenerator.php b/core/JqplotDataGenerator.php
index c6e9845e8b..d99d986cc9 100644
--- a/core/JqplotDataGenerator.php
+++ b/core/JqplotDataGenerator.php
@@ -9,6 +9,8 @@
  * @package Piwik
  */
 
+use Piwik\Common;
+
 /**
  * Generates JSON data used to configure and populate JQPlot graphs.
  * 
@@ -159,7 +161,7 @@ class Piwik_JqplotDataGenerator
 
     private function deriveUnitsFromRequestedColumnNames()
     {
-        $idSite = Piwik_Common::getRequestVar('idSite', null, 'int');
+        $idSite = Common::getRequestVar('idSite', null, 'int');
         
         $units = array();
         foreach ($this->properties['columns_to_display'] as $columnName) {
@@ -176,7 +178,7 @@ class Piwik_JqplotDataGenerator
     protected function addSeriesPickerToView()
     {
         if (count($this->properties['selectable_columns'])
-            && Piwik_Common::getRequestVar('showSeriesPicker', 1) == 1
+            && Common::getRequestVar('showSeriesPicker', 1) == 1
         ) {
             $selectableColumns = array();
             foreach ($this->properties['selectable_columns'] as $column) {
diff --git a/core/JqplotDataGenerator/Evolution.php b/core/JqplotDataGenerator/Evolution.php
index 559ec589b5..50fd2a61a2 100644
--- a/core/JqplotDataGenerator/Evolution.php
+++ b/core/JqplotDataGenerator/Evolution.php
@@ -45,7 +45,7 @@ class Piwik_JqplotDataGenerator_Evolution extends Piwik_JqplotDataGenerator
             $uniqueIdsDataTable[] = $idDataTable;
         }
 
-        $idSite = Piwik_Common::getRequestVar('idSite', null, 'int');
+        $idSite = Common::getRequestVar('idSite', null, 'int');
         $requestedColumnNames = $this->properties['columns_to_display'];
         $units = $this->getUnitsForColumnsToDisplay();
 
diff --git a/core/Loader.php b/core/Loader.php
index d46a57b01e..c0d2d14622 100644
--- a/core/Loader.php
+++ b/core/Loader.php
@@ -26,14 +26,18 @@ class Piwik_Loader
      * @return string Class file name
      * @throws Exception if class name is invalid
      */
-    protected static function getClassFileName($class)
+    protected static function  getClassFileName($class)
     {
-        if (!preg_match("/^[A-Za-z0-9_]+$/D", $class)) {
+        if (!preg_match('/^[A-Za-z0-9_\\\\]+$/D', $class)) {
             throw new Exception("Invalid class name \"$class\".");
         }
 
+        // prefixed class
         $class = str_replace('_', '/', $class);
 
+        // namespace \Piwik\Common
+        $class = str_replace('\\', '/', $class);
+
         if ($class == 'Piwik') {
             return $class;
         }
@@ -54,7 +58,8 @@ class Piwik_Loader
     public static function loadClass($class)
     {
         $classPath = self::getClassFileName($class);
-        if ($class == 'Piwik' || !strncmp($class, 'Piwik_', 6)) {
+        if ($class == 'Piwik'
+            || !strncmp($class, 'Piwik', 5) /* catches Piwik_ and Piwik\ */ ) {
             // Piwik classes are in core/ or plugins/
             do {
                 // auto-discover class location
diff --git a/core/Piwik.php b/core/Piwik.php
index f788d50f89..0e07c888ca 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -12,8 +12,8 @@ namespace Piwik;
 
 use Exception;
 use Piwik\Config;
-use Piwik_Access;
-use Piwik_Access_NoAccessException;
+use Piwik\Access;
+use Access_NoAccessException;
 use Piwik_AssetManager;
 use Piwik\Common;
 use Piwik_Db_Adapter;
@@ -40,8 +40,6 @@ use Zend_Registry;
  * @see core/Translate.php
  */
 require_once PIWIK_INCLUDE_PATH . '/core/Translate.php';
-require_once PIWIK_INCLUDE_PATH . '/core/Common.php';
-require_once PIWIK_INCLUDE_PATH . '/core/Config.php';
 
 /**
  * Main piwik helper class.
@@ -387,11 +385,15 @@ class Piwik
      */
     public static function globr($sDir, $sPattern, $nFlags = null)
     {
-        if (($aFiles = _glob("$sDir/$sPattern", $nFlags)) == false) {
+        if (($aFiles = \_glob("$sDir/$sPattern", $nFlags)) == false) {
             $aFiles = array();
         }
-        if (($aDirs = _glob("$sDir/*", GLOB_ONLYDIR)) != false) {
+        if (($aDirs = \_glob("$sDir/*", GLOB_ONLYDIR)) != false) {
             foreach ($aDirs as $sSubDir) {
+                // avoid infinite recursion of symlink'ed directories
+                if(strpos($sSubDir, "tests/PHPUnit/proxy/tests/PHPUnit/proxy") !== false) {
+                    continue;
+                }
                 $aSubFiles = self::globr($sSubDir, $sPattern, $nFlags);
                 $aFiles = array_merge($aFiles, $aSubFiles);
             }
@@ -1591,7 +1593,7 @@ class Piwik
      */
     static public function getSuperUserLogin()
     {
-        return Piwik_Access::getInstance()->getSuperUserLogin();
+        return Access::getInstance()->getSuperUserLogin();
     }
 
     /**
@@ -1612,7 +1614,7 @@ class Piwik
      */
     static public function getCurrentUserLogin()
     {
-        return Piwik_Access::getInstance()->getLogin();
+        return Access::getInstance()->getLogin();
     }
 
     /**
@@ -1622,7 +1624,7 @@ class Piwik
      */
     static public function getCurrentUserTokenAuth()
     {
-        return Piwik_Access::getInstance()->getTokenAuth();
+        return Access::getInstance()->getTokenAuth();
     }
 
     /**
@@ -1646,7 +1648,7 @@ class Piwik
      * Check that current user is either the specified user or the superuser
      *
      * @param string $theUser
-     * @throws Piwik_Access_NoAccessException  if the user is neither the super user nor the user $theUser
+     * @throws Access_NoAccessException  if the user is neither the super user nor the user $theUser
      */
     static public function checkUserIsSuperUserOrTheUser($theUser)
     {
@@ -1655,8 +1657,8 @@ class Piwik
                 // or to the super user
                 Piwik::checkUserIsSuperUser();
             }
-        } catch (Piwik_Access_NoAccessException $e) {
-            throw new Piwik_Access_NoAccessException(Piwik_Translate('General_ExceptionCheckUserIsSuperUserOrTheUser', array($theUser)));
+        } catch (Access_NoAccessException $e) {
+            throw new Access_NoAccessException(Piwik_Translate('General_ExceptionCheckUserIsSuperUserOrTheUser', array($theUser)));
         }
     }
 
@@ -1688,12 +1690,12 @@ class Piwik
     /**
      * Checks if user is not the anonymous user.
      *
-     * @throws Piwik_Access_NoAccessException  if user is anonymous.
+     * @throws Access_NoAccessException  if user is anonymous.
      */
     static public function checkUserIsNotAnonymous()
     {
         if (self::isUserIsAnonymous()) {
-            throw new Piwik_Access_NoAccessException(Piwik_Translate('General_YouMustBeLoggedIn'));
+            throw new \Piwik\NoAccessException(Piwik_Translate('General_YouMustBeLoggedIn'));
         }
     }
 
@@ -1705,7 +1707,7 @@ class Piwik
      */
     static public function setUserIsSuperUser($bool = true)
     {
-        Piwik_Access::getInstance()->setSuperUser($bool);
+        Access::getInstance()->setSuperUser($bool);
     }
 
     /**
@@ -1715,7 +1717,7 @@ class Piwik
      */
     static public function checkUserIsSuperUser()
     {
-        Piwik_Access::getInstance()->checkUserIsSuperUser();
+        Access::getInstance()->checkUserIsSuperUser();
     }
 
     /**
@@ -1742,7 +1744,7 @@ class Piwik
      */
     static public function checkUserHasAdminAccess($idSites)
     {
-        Piwik_Access::getInstance()->checkUserHasAdminAccess($idSites);
+        Access::getInstance()->checkUserHasAdminAccess($idSites);
     }
 
     /**
@@ -1767,7 +1769,7 @@ class Piwik
      */
     static public function checkUserHasSomeAdminAccess()
     {
-        Piwik_Access::getInstance()->checkUserHasSomeAdminAccess();
+        Access::getInstance()->checkUserHasSomeAdminAccess();
     }
 
     /**
@@ -1794,7 +1796,7 @@ class Piwik
      */
     static public function checkUserHasViewAccess($idSites)
     {
-        Piwik_Access::getInstance()->checkUserHasViewAccess($idSites);
+        Access::getInstance()->checkUserHasViewAccess($idSites);
     }
 
     /**
@@ -1819,7 +1821,7 @@ class Piwik
      */
     static public function checkUserHasSomeViewAccess()
     {
-        Piwik_Access::getInstance()->checkUserHasSomeViewAccess();
+        Access::getInstance()->checkUserHasSomeViewAccess();
     }
 
     /*
@@ -2311,7 +2313,7 @@ class Piwik
      * Performs a batch insert into a specific table using either LOAD DATA INFILE or plain INSERTs,
      * as a fallback. On MySQL, LOAD DATA INFILE is 20x faster than a series of plain INSERTs.
      *
-     * @param string $tableName  PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
+     * @param string $tableName  PREFIXED table name! you must call Common::prefixTable() before passing the table name
      * @param array $fields     array of unquoted field names
      * @param array $values     array of data to be inserted
      * @param bool $throwException Whether to throw an exception that was caught while trying
@@ -2372,7 +2374,7 @@ class Piwik
      *
      * NOTE: you should use tableInsertBatch() which will fallback to this function if LOAD DATA INFILE not available
      *
-     * @param string $tableName            PREFIXED table name! you must call Piwik_Common::prefixTable() before passing the table name
+     * @param string $tableName            PREFIXED table name! you must call Common::prefixTable() before passing the table name
      * @param array $fields               array of unquoted field names
      * @param array $values               array of data to be inserted
      * @param bool $ignoreWhenDuplicate  Ignore new rows that contain unique key values that duplicate old rows
diff --git a/core/Tracker.php b/core/Tracker.php
index d3d9a765b6..8e0fac450b 100644
--- a/core/Tracker.php
+++ b/core/Tracker.php
@@ -11,6 +11,7 @@
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Class used by the logging script piwik.php called by the javascript tag.
@@ -342,7 +343,7 @@ class Piwik_Tracker
             require_once PIWIK_INCLUDE_PATH . '/core/Loader.php';
             require_once PIWIK_INCLUDE_PATH . '/core/Option.php';
             
-            $access = Piwik_Access::getInstance();
+            $access = Access::getInstance();
             $config = Config::getInstance();
             
             try {
diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php
index d2d87d121e..da14bb6de0 100644
--- a/core/Tracker/Visit.php
+++ b/core/Tracker/Visit.php
@@ -1024,7 +1024,7 @@ class Piwik_Tracker_Visit implements Piwik_Tracker_Visit_Interface
     /**
      * Returns either
      * - "-1" for a known visitor
-     * - at least 16 char identifier in hex @see Piwik_Common::generateUniqId()
+     * - at least 16 char identifier in hex @see Common::generateUniqId()
      * @return int|string
      */
     protected function getVisitorUniqueId()
diff --git a/core/Updates/1.8.3-b1.php b/core/Updates/1.8.3-b1.php
index 3f3d579e58..77b9ffdf14 100644
--- a/core/Updates/1.8.3-b1.php
+++ b/core/Updates/1.8.3-b1.php
@@ -49,11 +49,11 @@ class Piwik_Updates_1_8_3_b1 extends Piwik_Updates
 
         try {
 
-            // Piwik_Common::prefixTable('pdf') has been heavily refactored to be more generic
+            // Common::prefixTable('pdf') has been heavily refactored to be more generic
             // The following actions are taken in this update script :
-            // - create the new generic report table Piwik_Common::prefixTable('report')
-            // - migrate previous reports, if any, from Piwik_Common::prefixTable('pdf') to Piwik_Common::prefixTable('report')
-            // - delete Piwik_Common::prefixTable('pdf')
+            // - create the new generic report table Common::prefixTable('report')
+            // - migrate previous reports, if any, from Common::prefixTable('pdf') to Common::prefixTable('report')
+            // - delete Common::prefixTable('pdf')
 
             $reports = Piwik_FetchAll('SELECT * FROM `' . Common::prefixTable('pdf') . '`');
             foreach ($reports AS $report) {
diff --git a/core/ViewDataTable.php b/core/ViewDataTable.php
index f4d0cbd3d8..be9770ce6d 100644
--- a/core/ViewDataTable.php
+++ b/core/ViewDataTable.php
@@ -858,7 +858,7 @@ abstract class Piwik_ViewDataTable
 
         // we escape the values that will be displayed in the javascript footer of each datatable
         // to make sure there is no malicious code injected (the value are already htmlspecialchar'ed as they
-        // are loaded with Piwik_Common::getRequestVar()
+        // are loaded with Common::getRequestVar()
         foreach ($javascriptVariablesToSet as &$value) {
             if (is_array($value)) {
                 $value = array_map('addslashes', $value);
diff --git a/core/ViewDataTable/GenerateGraphHTML.php b/core/ViewDataTable/GenerateGraphHTML.php
index 71a7787cb6..2543d2a64c 100644
--- a/core/ViewDataTable/GenerateGraphHTML.php
+++ b/core/ViewDataTable/GenerateGraphHTML.php
@@ -134,7 +134,7 @@ abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable
         // selectable columns
         if ($this->graphType != 'evolution') {
             $selectableColumns = array('nb_visits', 'nb_actions');
-            if (Piwik_Common::getRequestVar('period', false) == 'day') {
+            if (Common::getRequestVar('period', false) == 'day') {
                 $selectableColumns[] = 'nb_uniq_visitors';
             }
             $this->viewProperties['selectable_columns'] = $selectableColumns;
diff --git a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
index 0c316f84ad..125c1c92ed 100644
--- a/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
+++ b/core/ViewDataTable/GenerateGraphHTML/ChartEvolution.php
@@ -8,6 +8,7 @@
  * @category Piwik
  * @package Piwik
  */
+
 use Piwik\Common;
 
 /**
@@ -176,7 +177,7 @@ class Piwik_ViewDataTable_GenerateGraphHTML_ChartEvolution extends Piwik_ViewDat
         // period will be overridden when 'range' is requested in the UI // TODO: this code probably shouldn't be here...
         // but the graph will display for each day of the range.
         // Default 'range' behavior is to return the 'sum' for the range
-        if (Piwik_Common::getRequestVar('period', false) == 'range') {
+        if (Common::getRequestVar('period', false) == 'range') {
             $this->viewProperties['request_parameters_to_modify']['period'] = 'day';
         }
 
diff --git a/core/ViewDataTable/HtmlTable.php b/core/ViewDataTable/HtmlTable.php
index e7d409b853..dc23e95d2b 100644
--- a/core/ViewDataTable/HtmlTable.php
+++ b/core/ViewDataTable/HtmlTable.php
@@ -60,7 +60,7 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
 
     /**
      * @see Piwik_ViewDataTable::main()
-     * @throws Exception|Piwik_Access_NoAccessException
+     * @throws Exception|Access_NoAccessException
      * @return null
      */
     public function main()
@@ -73,7 +73,7 @@ class Piwik_ViewDataTable_HtmlTable extends Piwik_ViewDataTable
         $this->isDataAvailable = true;
         try {
             $this->loadDataTableFromAPI();
-        } catch (Piwik_Access_NoAccessException $e) {
+        } catch (Access_NoAccessException $e) {
             throw $e;
         } catch (Exception $e) {
             Piwik::log("Failed to get data from API: " . $e->getMessage());
diff --git a/libs/upgradephp/upgrade.php b/libs/upgradephp/upgrade.php
index 19df79a6f6..4d6bd7bbe2 100644
--- a/libs/upgradephp/upgrade.php
+++ b/libs/upgradephp/upgrade.php
@@ -35,7 +35,7 @@
  * Any contribution is appreciated. <milky*users#sf#net>
  *
  */
-use Piwik\Core\Common;
+use Piwik\Common;
 
 /**
  * @since PHP 5
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 2dc0ce766d..f55d83b934 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -146,7 +146,7 @@ class Piwik_API_API
             'segment'        => 'visitorId',
             'acceptedValues' => '34c31e04394bdc63 - any 16 Hexadecimal chars ID, which can be fetched using the Tracking API function getVisitorId()',
             'sqlSegment'     => 'log_visit.idvisitor',
-            'sqlFilter'      => array('Piwik_Common', 'convertVisitorIdToBin'),
+            'sqlFilter'      => array('Piwik\Common', 'convertVisitorIdToBin'),
             'permission'     => $isAuthenticatedWithViewAccess,
         );
         $segments[] = array(
diff --git a/plugins/ExamplePlugin/Controller.php b/plugins/ExamplePlugin/Controller.php
index 1bcb01479b..33b8e1d605 100644
--- a/plugins/ExamplePlugin/Controller.php
+++ b/plugins/ExamplePlugin/Controller.php
@@ -74,15 +74,15 @@ class Piwik_ExamplePlugin_Controller extends Piwik_Controller
         $out .= '<h3>Accessible from your plugin controller</h3>';
 
         $out .= '<code>$this->date</code> = current selected <b>Piwik_Date</b> object (<a href="https://github.com/piwik/piwik/blob/master/core/Date.php">class</a>)<br />';
-        $out .= '<code>$period = Piwik_Common::getRequestVar("period");</code> - Get the current selected period<br />';
-        $out .= '<code>$idSite = Piwik_Common::getRequestVar("idSite");</code> - Get the selected idSite<br />';
+        $out .= '<code>$period = Common::getRequestVar("period");</code> - Get the current selected period<br />';
+        $out .= '<code>$idSite = Common::getRequestVar("idSite");</code> - Get the selected idSite<br />';
         $out .= '<code>$site = new Piwik_Site($idSite);</code> - Build the Piwik_Site object (<a href="https://github.com/piwik/piwik/tree/master/core/Site.php">class</a>)<br />';
         $out .= '<code>$this->str_date</code> = current selected date in YYYY-MM-DD format<br />';
 
         $out .= '<h3>Misc</h3>';
         $out .= '<code>Piwik_AddMenu( $mainMenuName, $subMenuName, $url );</code> - Adds an entry to the menu in the Piwik interface (See the example in the <a href="https://github.com/piwik/piwik/blob/1.0/plugins/UserCountry/UserCountry.php#L76">UserCountry Plugin file</a>)<br />';
         $out .= '<code>Piwik_AddWidget( $widgetCategory, $widgetName, $controllerName, $controllerAction, $customParameters = array());</code> - Adds a widget that users can add in the dashboard, or export using the Widgets link at the top of the screen. See the example in the <a href="https://github.com/piwik/piwik/blob/1.0/plugins/UserCountry/UserCountry.php#L70">UserCountry Plugin file</a> or any other plugin)<br />';
-        $out .= '<code>Piwik_Common::prefixTable("site")</code> = <b>' . Common::prefixTable("site") . '</b><br />';
+        $out .= '<code>Common::prefixTable("site")</code> = <b>' . Common::prefixTable("site") . '</b><br />';
 
 
         $out .= '<h2>User access</h2>';
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php
index 7e24ebc155..05d3913043 100644
--- a/plugins/Installation/Controller.php
+++ b/plugins/Installation/Controller.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Installation controller
@@ -264,7 +265,7 @@ class Piwik_Installation_Controller extends Piwik_Controller_Admin
             $baseTablesInstalled = count($tablesInstalled) - count($archiveTables);
             $minimumCountPiwikTables = 17;
 
-            Piwik_Access::getInstance();
+            Access::getInstance();
             Piwik::setUserIsSuperUser();
             if ($baseTablesInstalled >= $minimumCountPiwikTables &&
                 count(Piwik_SitesManager_API::getInstance()->getAllSitesId()) > 0 &&
diff --git a/plugins/Login/Auth.php b/plugins/Login/Auth.php
index e8de6d3c38..1f643b2843 100644
--- a/plugins/Login/Auth.php
+++ b/plugins/Login/Auth.php
@@ -10,12 +10,14 @@
  */
 use Piwik\Config;
 use Piwik\Common;
+use Piwik\Auth;
+use Piwik\AuthResult;
 
 /**
  *
  * @package Piwik_Login
  */
-class Piwik_Login_Auth implements Piwik_Auth
+class Piwik_Login_Auth implements Auth
 {
     protected $login = null;
     protected $token_auth = null;
@@ -33,7 +35,7 @@ class Piwik_Login_Auth implements Piwik_Auth
     /**
      * Authenticates user
      *
-     * @return Piwik_Auth_Result
+     * @return AuthResult
      */
     public function authenticate()
     {
@@ -43,7 +45,7 @@ class Piwik_Login_Auth implements Piwik_Auth
 
         if (is_null($this->login)) {
             if ($this->token_auth === $rootToken) {
-                return new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, $rootLogin, $this->token_auth);
+                return new AuthResult(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, $rootLogin, $this->token_auth);
             }
 
             $login = Piwik_FetchOne(
@@ -53,7 +55,7 @@ class Piwik_Login_Auth implements Piwik_Auth
                 array($this->token_auth)
             );
             if (!empty($login)) {
-                return new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS, $login, $this->token_auth);
+                return new AuthResult(AuthResult::SUCCESS, $login, $this->token_auth);
             }
         } else if (!empty($this->login)) {
             if ($this->login === $rootLogin
@@ -61,7 +63,7 @@ class Piwik_Login_Auth implements Piwik_Auth
                 || $rootToken === $this->token_auth
             ) {
                 $this->setTokenAuth($rootToken);
-                return new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, $rootLogin, $this->token_auth);
+                return new AuthResult(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, $rootLogin, $this->token_auth);
             }
 
             $login = $this->login;
@@ -76,11 +78,11 @@ class Piwik_Login_Auth implements Piwik_Auth
                     || $userToken === $this->token_auth)
             ) {
                 $this->setTokenAuth($userToken);
-                return new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS, $login, $userToken);
+                return new AuthResult(AuthResult::SUCCESS, $login, $userToken);
             }
         }
 
-        return new Piwik_Auth_Result(Piwik_Auth_Result::FAILURE, $this->login, $this->token_auth);
+        return new AuthResult(AuthResult::FAILURE, $this->login, $this->token_auth);
     }
 
     /**
diff --git a/plugins/Overlay/API.php b/plugins/Overlay/API.php
index 83db709503..9db64023c8 100644
--- a/plugins/Overlay/API.php
+++ b/plugins/Overlay/API.php
@@ -1,6 +1,7 @@
 <?php
 use Piwik\Config;
 use Piwik\Piwik;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -113,7 +114,7 @@ class Piwik_Overlay_API
             array(&$notification, $allowCookieAuthentication = true));
 
         $auth = Zend_Registry::get('auth');
-        $success = Piwik_Access::getInstance()->reloadAccess($auth);
+        $success = Access::getInstance()->reloadAccess($auth);
 
         if (!$success) {
             throw new Exception('Authentication failed');
diff --git a/plugins/Referers/Controller.php b/plugins/Referers/Controller.php
index bff47a6dd7..050965a734 100644
--- a/plugins/Referers/Controller.php
+++ b/plugins/Referers/Controller.php
@@ -656,7 +656,7 @@ function DisplayTopKeywords($url = "")
     /**
      * Returns the i18n-ized label for a referrer type.
      *
-     * @param int $typeReferrer The referrer type. Referrer types are defined in Piwik_Common class.
+     * @param int $typeReferrer The referrer type. Referrer types are defined in Common class.
      * @return string The i18n-ized label.
      */
     public static function getTranslatedReferrerTypeLabel($typeReferrer)
@@ -668,7 +668,7 @@ function DisplayTopKeywords($url = "")
     /**
      * Returns the URL for the sparkline of visits with a specific referrer type.
      *
-     * @param int $referrerType The referrer type. Referrer types are defined in Piwik_Common class.
+     * @param int $referrerType The referrer type. Referrer types are defined in Common class.
      * @return string The URL that can be used to get a sparkline image.
      */
     private function getReferrerUrlSparkline($referrerType)
diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php
index 1400d50008..667258c327 100644
--- a/plugins/SitesManager/API.php
+++ b/plugins/SitesManager/API.php
@@ -10,6 +10,7 @@
  */
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * The SitesManager API gives you full control on Websites in Piwik (create, update and delete), and many methods to retrieve websites based on various attributes.
@@ -289,7 +290,7 @@ class Piwik_SitesManager_API
      */
     public function getSitesIdWithAdminAccess()
     {
-        $sitesId = Piwik_Access::getInstance()->getSitesIdWithAdminAccess();
+        $sitesId = Access::getInstance()->getSitesIdWithAdminAccess();
         return $sitesId;
     }
 
@@ -301,7 +302,7 @@ class Piwik_SitesManager_API
      */
     public function getSitesIdWithViewAccess()
     {
-        return Piwik_Access::getInstance()->getSitesIdWithViewAccess();
+        return Access::getInstance()->getSitesIdWithViewAccess();
     }
 
     /**
@@ -320,14 +321,14 @@ class Piwik_SitesManager_API
             && (Piwik::isUserIsSuperUserOrTheUser($_restrictSitesToLogin)
                 || Piwik_TaskScheduler::isTaskBeingExecuted())
         ) {
-            $accessRaw = Piwik_Access::getInstance()->getRawSitesWithSomeViewAccess($_restrictSitesToLogin);
+            $accessRaw = Access::getInstance()->getRawSitesWithSomeViewAccess($_restrictSitesToLogin);
             $sitesId = array();
             foreach ($accessRaw as $access) {
                 $sitesId[] = $access['idsite'];
             }
             return $sitesId;
         } else {
-            return Piwik_Access::getInstance()->getSitesIdWithAtLeastViewAccess();
+            return Access::getInstance()->getSitesIdWithAtLeastViewAccess();
         }
     }
 
@@ -392,12 +393,12 @@ class Piwik_SitesManager_API
                 'SELECT idsite
                 FROM ' . Common::prefixTable('site') . '
 					WHERE (main_url = ? OR main_url = ?)' .
-                    'AND idsite IN (' . Piwik_Access::getSqlAccessSite('idsite') . ') ' .
+                    'AND idsite IN (' . Access::getSqlAccessSite('idsite') . ') ' .
                     'UNION
                     SELECT idsite
                     FROM ' . Common::prefixTable('site_url') . '
 					WHERE (url = ? OR url = ?)' .
-                    'AND idsite IN (' . Piwik_Access::getSqlAccessSite('idsite') . ')',
+                    'AND idsite IN (' . Access::getSqlAccessSite('idsite') . ')',
                 array($url, $urlBis, $login, $url, $urlBis, $login));
         }
 
@@ -532,7 +533,7 @@ class Piwik_SitesManager_API
         $this->insertSiteUrls($idSite, $urls);
 
         // we reload the access list which doesn't yet take in consideration this new website
-        Piwik_Access::getInstance()->reloadAccess();
+        Access::getInstance()->reloadAccess();
         $this->postUpdateWebsite($idSite);
 
         Piwik_PostEvent('SitesManager.addSite', array($idSite));
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index 4c146e879b..3724ee2d8d 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -49,7 +49,7 @@ class Piwik_UserCountry_API
     {
         $dataTable = $this->getDataTable(Piwik_UserCountry_Archiver::COUNTRY_RECORD_NAME, $idSite, $period, $date, $segment);
 
-        $getContinent = array('Piwik_Common', 'getContinent');
+        $getContinent = array('Piwik\Common', 'getContinent');
         $dataTable->filter('GroupBy', array('label', $getContinent));
 
         $dataTable->filter('ColumnCallbackReplace', array('label', 'Piwik_ContinentTranslate'));
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index 3a804c70f0..17a2c84c47 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -11,6 +11,7 @@
 use Piwik\Config;
 use Piwik\Piwik;
 use Piwik\Common;
+use Piwik\Access;
 
 /**
  * The UsersManager API lets you Manage Users and their permissions to access specific websites.
@@ -388,7 +389,7 @@ class Piwik_UsersManager_API
         );
 
         // we reload the access list which doesn't yet take in consideration this new user
-        Piwik_Access::getInstance()->reloadAccess();
+        Access::getInstance()->reloadAccess();
         Piwik_Tracker_Cache::deleteTrackerCache();
 
         Piwik_PostEvent('UsersManager.addUser', array($userLogin));
@@ -567,7 +568,7 @@ class Piwik_UsersManager_API
         }
 
         // we reload the access list which doesn't yet take in consideration this new user access
-        Piwik_Access::getInstance()->reloadAccess();
+        Access::getInstance()->reloadAccess();
         Piwik_Tracker_Cache::deleteTrackerCache();
     }
 
@@ -613,7 +614,7 @@ class Piwik_UsersManager_API
 
     private function checkAccessType($access)
     {
-        $accessList = Piwik_Access::getListAccess();
+        $accessList = Access::getListAccess();
 
         // do not allow to set the superUser access
         unset($accessList[array_search("superuser", $accessList)]);
diff --git a/tests/LocalTracker.php b/tests/LocalTracker.php
index 7cdbab883e..e7c64ad96c 100755
--- a/tests/LocalTracker.php
+++ b/tests/LocalTracker.php
@@ -1,6 +1,6 @@
 <?php
 
-use Piwik\Core\Config;
+use Piwik\Config;
 
 $GLOBALS['PIWIK_TRACKER_DEBUG'] = false;
 $GLOBALS['PIWIK_TRACKER_DEBUG_FORCE_SCHEDULED_TASKS'] = false;
diff --git a/tests/PHPUnit/BaseFixture.php b/tests/PHPUnit/BaseFixture.php
index 88f90a471b..82b1b956cc 100644
--- a/tests/PHPUnit/BaseFixture.php
+++ b/tests/PHPUnit/BaseFixture.php
@@ -5,8 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Base type for all integration test fixtures. Integration test fixtures
@@ -200,7 +201,7 @@ abstract class Test_Piwik_BaseFixture extends PHPUnit_Framework_Assert
         // fake access is needed so API methods can call Piwik::getCurrentUserLogin(), e.g: 'PDFReports.addReport'
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         // retrieve available reports
         $availableReportMetadata = Piwik_PDFReports_API::getReportMetadata($idSite, Piwik_PDFReports::EMAIL_TYPE);
diff --git a/tests/PHPUnit/BenchmarkTestCase.php b/tests/PHPUnit/BenchmarkTestCase.php
index 3f753e401b..d89fd58846 100755
--- a/tests/PHPUnit/BenchmarkTestCase.php
+++ b/tests/PHPUnit/BenchmarkTestCase.php
@@ -5,8 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Common;
 
 require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/IntegrationTestCase.php';
 require_once PIWIK_INCLUDE_PATH . '/tests/LocalTracker.php';
diff --git a/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php b/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php
index 2f6a75143b..701a6066f8 100755
--- a/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php
+++ b/tests/PHPUnit/Benchmarks/Fixtures/SqlDump.php
@@ -5,9 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Common;
 
 /**
  * Reusable fixture. Loads a ~1GB SQL dump into the DB.
diff --git a/tests/PHPUnit/Core/AccessTest.php b/tests/PHPUnit/Core/AccessTest.php
index 09637df503..f6d8f6e103 100644
--- a/tests/PHPUnit/Core/AccessTest.php
+++ b/tests/PHPUnit/Core/AccessTest.php
@@ -5,6 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
+use Piwik\AuthResult;
+
 class AccessTest extends DatabaseTestCase
 {
     /**
@@ -13,7 +16,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetListAccess()
     {
-        $accessList = Piwik_Access::getListAccess();
+        $accessList = Access::getListAccess();
         $shouldBe = array('noaccess', 'view', 'admin', 'superuser');
         $this->assertEquals($shouldBe, $accessList);
     }
@@ -24,7 +27,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetTokenAuthWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertNull($access->getTokenAuth());
     }
 
@@ -34,7 +37,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetLoginWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertNull($access->getLogin());
     }
 
@@ -44,7 +47,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testIsSuperUserWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertFalse($access->isSuperUser());
     }
 
@@ -54,7 +57,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testIsSuperUserWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $this->assertTrue($access->isSuperUser());
     }
@@ -65,7 +68,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testIsSuperUserWithNoSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(false);
         $this->assertFalse($access->isSuperUser());
     }
@@ -76,7 +79,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetSitesIdWithAtLeastViewAccessWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertEmpty($access->getSitesIdWithAtLeastViewAccess());
     }
 
@@ -86,7 +89,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetSitesIdWithAdminAccessWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertEmpty($access->getSitesIdWithAdminAccess());
     }
 
@@ -96,18 +99,18 @@ class AccessTest extends DatabaseTestCase
      */
     public function testGetSitesIdWithViewAccessWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertEmpty($access->getSitesIdWithViewAccess());
     }
 
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserIsSuperUserWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $access->checkUserIsSuperUser();
     }
 
@@ -117,7 +120,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testCheckUserIsSuperUserWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $access->checkUserIsSuperUser();
     }
@@ -125,11 +128,11 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasSomeAdminAccessWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $access->checkUserHasSomeAdminAccess();
     }
 
@@ -139,7 +142,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testCheckUserHasSomeAdminAccessWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $access->checkUserHasSomeAdminAccess();
     }
@@ -151,13 +154,13 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasSomeAdminAccessWithSomeAccess()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAdminAccess')
         );
 
         $mock->expects($this->once())
-            ->method('getSitesIdWithAdminAccess')
-            ->will($this->returnValue(array(2, 9)));
+             ->method('getSitesIdWithAdminAccess')
+             ->will($this->returnValue(array(2, 9)));
 
         $mock->checkUserHasSomeAdminAccess();
     }
@@ -165,11 +168,11 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasSomeViewAccessWithEmptyAccess()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $access->checkUserHasSomeViewAccess();
     }
 
@@ -179,7 +182,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testCheckUserHasSomeViewAccessWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $access->checkUserHasSomeViewAccess();
     }
@@ -191,7 +194,7 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasSomeViewAccessWithSomeAccess()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAtLeastViewAccess')
         );
 
@@ -205,11 +208,11 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasViewAccessWithEmptyAccessNoSiteIdsGiven()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $access->checkUserHasViewAccess(array());
     }
 
@@ -219,7 +222,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testCheckUserHasViewAccessWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $access->checkUserHasViewAccess(array());
     }
@@ -231,7 +234,7 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasViewAccessWithSomeAccessSuccessIdSitesAsString()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAtLeastViewAccess')
         );
 
@@ -249,7 +252,7 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasViewAccessWithSomeAccessSuccessAllSites()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAtLeastViewAccess')
         );
 
@@ -263,12 +266,12 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasViewAccessWithSomeAccessFailure()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAtLeastViewAccess')
         );
 
@@ -285,7 +288,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testCheckUserHasAdminAccessWithSuperUserAccess()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $access->checkUserHasAdminAccess(array());
     }
@@ -293,11 +296,11 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasAdminAccessWithEmptyAccessNoSiteIdsGiven()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $access->checkUserHasViewAccess(array());
     }
 
@@ -308,7 +311,7 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasAdminAccessWithSomeAccessSuccessIdSitesAsString()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAdminAccess')
         );
 
@@ -326,7 +329,7 @@ class AccessTest extends DatabaseTestCase
     public function testCheckUserHasAdminAccessWithSomeAccessSuccessAllSites()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAdminAccess', 'getSitesIdWithAtLeastViewAccess')
         );
 
@@ -344,12 +347,12 @@ class AccessTest extends DatabaseTestCase
     /**
      * @group Core
      * @group Access
-     * @expectedException Piwik_Access_NoAccessException
+     * @expectedException Piwik\NoAccessException
      */
     public function testCheckUserHasAdminAccessWithSomeAccessFailure()
     {
         $mock = $this->getMock(
-            'Piwik_Access',
+            'Piwik\Access',
             array('getSitesIdWithAdminAccess')
         );
 
@@ -366,7 +369,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testReloadAccessWithEmptyAuth()
     {
-        $access = new Piwik_Access();
+        $access = new Access();
         $this->assertFalse($access->reloadAccess(null));
     }
 
@@ -376,7 +379,7 @@ class AccessTest extends DatabaseTestCase
      */
     public function testReloadAccessWithEmptyAuthSuperUser()
     {
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
         $this->assertTrue($access->reloadAccess(null));
     }
@@ -390,9 +393,9 @@ class AccessTest extends DatabaseTestCase
         $mock = $this->getMock('Piwik_Login_Auth', array('authenticate'));
         $mock->expects($this->once())
             ->method('authenticate')
-            ->will($this->returnValue(new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS, 'login', 'token')));
+            ->will($this->returnValue(new AuthResult(AuthResult::SUCCESS, 'login', 'token')));
 
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $this->assertTrue($access->reloadAccess($mock));
         $this->assertFalse($access->isSuperUser());
     }
@@ -406,9 +409,9 @@ class AccessTest extends DatabaseTestCase
         $mock = $this->getMock('Piwik_Login_Auth', array('authenticate'));
         $mock->expects($this->once())
             ->method('authenticate')
-            ->will($this->returnValue(new Piwik_Auth_Result(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, 'superuser', 'superusertoken')));
+            ->will($this->returnValue(new AuthResult(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, 'superuser', 'superusertoken')));
 
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $this->assertTrue($access->reloadAccess($mock));
         $this->assertTrue($access->isSuperUser());
     }
@@ -422,9 +425,9 @@ class AccessTest extends DatabaseTestCase
         $mock = $this->getMock('Piwik_Login_Auth', array('authenticate'));
         $mock->expects($this->once())
             ->method('authenticate')
-            ->will($this->returnValue(new Piwik_Auth_Result(Piwik_Auth_Result::FAILURE_CREDENTIAL_INVALID, null, null)));
+            ->will($this->returnValue(new AuthResult(AuthResult::FAILURE_CREDENTIAL_INVALID, null, null)));
 
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $this->assertFalse($access->reloadAccess($mock));
     }
 
diff --git a/tests/PHPUnit/Core/ArchiveProcessingTest.php b/tests/PHPUnit/Core/ArchiveProcessingTest.php
index 8a73c11113..a190983ce9 100644
--- a/tests/PHPUnit/Core/ArchiveProcessingTest.php
+++ b/tests/PHPUnit/Core/ArchiveProcessingTest.php
@@ -1,7 +1,8 @@
 <?php
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -18,7 +19,7 @@ class ArchiveProcessingTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
     }
 
     /**
diff --git a/tests/PHPUnit/Core/CommonTest.php b/tests/PHPUnit/Core/CommonTest.php
index 0163ff548a..b0f69a69c4 100644
--- a/tests/PHPUnit/Core/CommonTest.php
+++ b/tests/PHPUnit/Core/CommonTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Common;
+use Piwik\Common;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/ConfigTest.php b/tests/PHPUnit/Core/ConfigTest.php
index df6ef685a6..0922c7a20e 100644
--- a/tests/PHPUnit/Core/ConfigTest.php
+++ b/tests/PHPUnit/Core/ConfigTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/DataTable/ArrayTest.php b/tests/PHPUnit/Core/DataTable/ArrayTest.php
index 9ceaed5caa..2c1cc4e069 100755
--- a/tests/PHPUnit/Core/DataTable/ArrayTest.php
+++ b/tests/PHPUnit/Core/DataTable/ArrayTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
 
 class Test_Piwik_DataTable_Array extends PHPUnit_Framework_TestCase
 {
diff --git a/tests/PHPUnit/Core/DataTableTest.php b/tests/PHPUnit/Core/DataTableTest.php
index 9249d7ea72..2a7fdc1548 100644
--- a/tests/PHPUnit/Core/DataTableTest.php
+++ b/tests/PHPUnit/Core/DataTableTest.php
@@ -1,4 +1,7 @@
 <?php
+
+use Piwik\Common;
+
 /**
  * Piwik - Open source web analytics
  *
@@ -748,7 +751,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase
         // when the expanded parameter is false.
         $rowBeingDestructed->c[Piwik_DataTable_Row::DATATABLE_ASSOCIATED] = $mockedDataTable->getId();
 
-        destroy($rowBeingDestructed);
+        Common::destroy($rowBeingDestructed);
     }
 
     /**
@@ -778,7 +781,7 @@ class DataTableTest extends PHPUnit_Framework_TestCase
         $rowBeingDestructed = new Piwik_DataTable_Row();
         $rowBeingDestructed->setSubtable($mockedDataTable);
 
-        destroy($rowBeingDestructed);
+        Common::destroy($rowBeingDestructed);
     }
 
     protected function _getDataTable1ForTest()
diff --git a/tests/PHPUnit/Core/DateTest.php b/tests/PHPUnit/Core/DateTest.php
index 1b03141865..4b80aa3abd 100644
--- a/tests/PHPUnit/Core/DateTest.php
+++ b/tests/PHPUnit/Core/DateTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/IPTest.php b/tests/PHPUnit/Core/IPTest.php
index 375f441fa3..49a4741ca4 100644
--- a/tests/PHPUnit/Core/IPTest.php
+++ b/tests/PHPUnit/Core/IPTest.php
@@ -1,6 +1,6 @@
 <?php
-use Piwik\Core\Config;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Common;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/NonceTest.php b/tests/PHPUnit/Core/NonceTest.php
index 25ecd3579c..a776cee77e 100644
--- a/tests/PHPUnit/Core/NonceTest.php
+++ b/tests/PHPUnit/Core/NonceTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/OptionTest.php b/tests/PHPUnit/Core/OptionTest.php
index ea6bc19ef9..83625cfbae 100644
--- a/tests/PHPUnit/Core/OptionTest.php
+++ b/tests/PHPUnit/Core/OptionTest.php
@@ -5,7 +5,7 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Common;
+use Piwik\Common;
 
 require_once "Option.php";
 
diff --git a/tests/PHPUnit/Core/PiwikTest.php b/tests/PHPUnit/Core/PiwikTest.php
index 5ed4a51f24..e1697dde83 100644
--- a/tests/PHPUnit/Core/PiwikTest.php
+++ b/tests/PHPUnit/Core/PiwikTest.php
@@ -1,5 +1,6 @@
 <?php
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -212,7 +213,7 @@ class PiwikTest extends DatabaseTestCase
     {
         Piwik_Translate::getInstance()->loadEnglishTranslation();
 
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
 
         $idsite = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test");
diff --git a/tests/PHPUnit/Core/PluginsFunctions/WidgetsListTest.php b/tests/PHPUnit/Core/PluginsFunctions/WidgetsListTest.php
index b3f2add7c1..5bb375bd69 100644
--- a/tests/PHPUnit/Core/PluginsFunctions/WidgetsListTest.php
+++ b/tests/PHPUnit/Core/PluginsFunctions/WidgetsListTest.php
@@ -6,6 +6,8 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 
+use Piwik\Access;
+
 class WidgetsListTest extends DatabaseTestCase
 {
     /**
@@ -18,7 +20,7 @@ class WidgetsListTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         Test_Piwik_BaseFixture::createWebsite('2009-01-04 00:11:42');
 
@@ -64,7 +66,7 @@ class WidgetsListTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         Test_Piwik_BaseFixture::createWebsite('2009-01-04 00:11:42');
         Piwik_Goals_API::getInstance()->addGoal(1, 'Goal 1 - Thank you', 'title', 'Thank you', 'contains', $caseSensitive = false, $revenue = 10, $allowMultipleConversions = 1);
@@ -101,7 +103,7 @@ class WidgetsListTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         Test_Piwik_BaseFixture::createWebsite('2009-01-04 00:11:42', true);
         Piwik_Goals_API::getInstance()->addGoal(1, 'Goal 1 - Thank you', 'title', 'Thank you', 'contains', $caseSensitive = false, $revenue = 10, $allowMultipleConversions = 1);
diff --git a/tests/PHPUnit/Core/ReleaseCheckListTest.php b/tests/PHPUnit/Core/ReleaseCheckListTest.php
index d58cbfaea5..116ddae02c 100644
--- a/tests/PHPUnit/Core/ReleaseCheckListTest.php
+++ b/tests/PHPUnit/Core/ReleaseCheckListTest.php
@@ -1,6 +1,6 @@
 <?php
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Piwik;
+use Piwik\Common;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/SegmentTest.php b/tests/PHPUnit/Core/SegmentTest.php
index e86a0affdc..563bb906af 100644
--- a/tests/PHPUnit/Core/SegmentTest.php
+++ b/tests/PHPUnit/Core/SegmentTest.php
@@ -1,5 +1,6 @@
 <?php
-use Piwik\Core\Common;
+use Piwik\Common;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -16,7 +17,7 @@ class SegmentTest extends PHPUnit_Framework_TestCase
         // setup the access layer (required in Segment contrustor testing if anonymous is allowed to use segments)
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         // Load and install plugins
         IntegrationTestCase::loadAllPlugins();
diff --git a/tests/PHPUnit/Core/ServeStaticFileTest.php b/tests/PHPUnit/Core/ServeStaticFileTest.php
index 47747527f7..116edab40a 100644
--- a/tests/PHPUnit/Core/ServeStaticFileTest.php
+++ b/tests/PHPUnit/Core/ServeStaticFileTest.php
@@ -12,8 +12,8 @@
  */
 
 // This is Piwik logo, the static file used in this test suit
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Piwik;
+use Piwik\Common;
 
 define("TEST_FILE_LOCATION", realpath(dirname(__FILE__) . "/../../resources/lipsum.txt"));
 define("TEST_FILE_CONTENT_TYPE", "text/plain");
diff --git a/tests/PHPUnit/Core/Tracker/ActionTest.php b/tests/PHPUnit/Core/Tracker/ActionTest.php
index 83899537ea..22163644eb 100644
--- a/tests/PHPUnit/Core/Tracker/ActionTest.php
+++ b/tests/PHPUnit/Core/Tracker/ActionTest.php
@@ -1,5 +1,6 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -26,7 +27,7 @@ class Tracker_ActionTest extends DatabaseTestCase
     {
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
     }
 
     public function getTestUrls()
diff --git a/tests/PHPUnit/Core/Tracker/VisitTest.php b/tests/PHPUnit/Core/Tracker/VisitTest.php
index 7441bb6fe4..73514c7953 100644
--- a/tests/PHPUnit/Core/Tracker/VisitTest.php
+++ b/tests/PHPUnit/Core/Tracker/VisitTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
+
 class Tracker_VisitTest extends DatabaseTestCase
 {
     public function setUp()
@@ -14,7 +16,7 @@ class Tracker_VisitTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         Piwik_PluginsManager::getInstance()->loadPlugins(array('SitesManager'));
     }
diff --git a/tests/PHPUnit/Core/TranslationWriterTest.php b/tests/PHPUnit/Core/TranslationWriterTest.php
index 6b36c76dbf..c508bc2728 100644
--- a/tests/PHPUnit/Core/TranslationWriterTest.php
+++ b/tests/PHPUnit/Core/TranslationWriterTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Common;
+use Piwik\Common;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/Core/UrlTest.php b/tests/PHPUnit/Core/UrlTest.php
index 8bb62b9b70..1866d74128 100644
--- a/tests/PHPUnit/Core/UrlTest.php
+++ b/tests/PHPUnit/Core/UrlTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
 
 /**
  * Piwik - Open source web analytics
diff --git a/tests/PHPUnit/DatabaseTestCase.php b/tests/PHPUnit/DatabaseTestCase.php
index e432767b5b..edce58a99b 100644
--- a/tests/PHPUnit/DatabaseTestCase.php
+++ b/tests/PHPUnit/DatabaseTestCase.php
@@ -5,8 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
+use Piwik\Config;
+use Piwik\Piwik;
 
 /**
  * Tests extending DatabaseTestCase are much slower to run: the setUp will
diff --git a/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php b/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php
index a0a474af1d..8cd88282d5 100644
--- a/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php
+++ b/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php
@@ -5,6 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
 
 /**
  * Imports visits from several log files using the python log importer.
@@ -191,7 +192,7 @@ class Test_Piwik_Fixture_ManySitesImportedLogs extends Test_Piwik_BaseFixture
 }
 
 // needed by tests that use stored segments w/ the proxy index.php
-class Test_Piwik_Access_OverrideLogin extends Piwik_Access
+class Test_Access_OverrideLogin extends Access
 {
     public function getLogin()
     {
diff --git a/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php b/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
index dfb515b713..3f9a92e021 100644
--- a/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
+++ b/tests/PHPUnit/Fixtures/ManySitesImportedLogsWithXssAttempts.php
@@ -5,7 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Common;
+use Piwik\Common;
 
 require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/Fixtures/ManySitesImportedLogs.php';
 
diff --git a/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php b/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php
index 7344f79f4a..2c986b337c 100644
--- a/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php
+++ b/tests/PHPUnit/Fixtures/TwoSitesWithAnnotations.php
@@ -5,6 +5,7 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
 
 /**
  * A fixture that adds two websites and annotations for each website.
@@ -31,7 +32,7 @@ class Test_Piwik_Fixture_TwoSitesWithAnnotations extends Test_Piwik_BaseFixture
         // create fake access for fake username
         $access = new FakeAccess();
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($access);
+        Access::setSingletonInstance($access);
 
         // add two annotations per week for three months, starring every third annotation
         // first month in 2011, second two in 2012
diff --git a/tests/PHPUnit/Integration/AnnotationsTest.php b/tests/PHPUnit/Integration/AnnotationsTest.php
index 1e9995eeb5..d37d18a359 100755
--- a/tests/PHPUnit/Integration/AnnotationsTest.php
+++ b/tests/PHPUnit/Integration/AnnotationsTest.php
@@ -6,6 +6,8 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 
+use Piwik\Access;
+
 class AnnotationsTest extends IntegrationTestCase
 {
     public static $fixture = null;
@@ -306,7 +308,7 @@ class AnnotationsTest extends IntegrationTestCase
         FakeAccess::$superUser = false;
         FakeAccess::$idSitesAdmin = $hasAdminAccess ? array(self::$fixture->idSite1) : array();
         FakeAccess::$idSitesView = $hasViewAccess ? array(self::$fixture->idSite1) : array();
-        Piwik_Access::setSingletonInstance($access);
+        Access::setSingletonInstance($access);
 
         if ($checkException) {
             try {
diff --git a/tests/PHPUnit/Integration/ArchiveCronTest.php b/tests/PHPUnit/Integration/ArchiveCronTest.php
index ad0bbe3aae..eb49013b5d 100644
--- a/tests/PHPUnit/Integration/ArchiveCronTest.php
+++ b/tests/PHPUnit/Integration/ArchiveCronTest.php
@@ -5,7 +5,8 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
+use Piwik\Access;
 
 /**
  * Tests the archive.php cron script.
@@ -16,7 +17,7 @@ class Test_Piwik_Integration_ArchiveCronTest extends IntegrationTestCase
     
     public static function createAccessInstance()
     {
-        Piwik_Access::setSingletonInstance($access = new Test_Piwik_Access_OverrideLogin());
+        Access::setSingletonInstance($access = new Test_Access_OverrideLogin());
         Piwik_PostEvent('FrontController.initAuthenticationObject');
     }
     
diff --git a/tests/PHPUnit/Integration/BlobReportLimitingTest.php b/tests/PHPUnit/Integration/BlobReportLimitingTest.php
index 2f0389774a..367bfd21bf 100755
--- a/tests/PHPUnit/Integration/BlobReportLimitingTest.php
+++ b/tests/PHPUnit/Integration/BlobReportLimitingTest.php
@@ -6,7 +6,7 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 
-use Piwik\Core\Config;
+use Piwik\Config;
 
 require_once PIWIK_INCLUDE_PATH . '/tests/PHPUnit/MockLocationProvider.php';
 
diff --git a/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php b/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php
index 9ff5d73aba..89eaf8b7f4 100755
--- a/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php
+++ b/tests/PHPUnit/Integration/EcommerceOrderWithItemsTest.php
@@ -5,7 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
 
 /**
  * Tests API methods after ecommerce orders are tracked.
diff --git a/tests/PHPUnit/Integration/ImportLogsTest.php b/tests/PHPUnit/Integration/ImportLogsTest.php
index b8a52369b6..795cece9df 100755
--- a/tests/PHPUnit/Integration/ImportLogsTest.php
+++ b/tests/PHPUnit/Integration/ImportLogsTest.php
@@ -5,6 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
 
 /**
  * Tests the log importer.
@@ -54,7 +55,7 @@ class Test_Piwik_Integration_ImportLogs extends IntegrationTestCase
         self::$fixture->logVisitsWithDynamicResolver();
 
         // reload access so new sites are viewable
-        Piwik_Access::getInstance()->setSuperUser(true);
+        Access::getInstance()->setSuperUser(true);
 
         // make sure sites aren't created twice
         $piwikDotNet = Piwik_SitesManager_API::getInstance()->getSitesIdFromSiteUrl('http://piwik.net');
diff --git a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
index b8a4520456..78efdcaf57 100755
--- a/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
+++ b/tests/PHPUnit/Integration/OneVisitorOneWebsite_SeveralDaysDateRange_ArchivingTestsTest.php
@@ -5,8 +5,8 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Piwik;
+use Piwik\Common;
 
 /**
  * Tests some API using range periods & makes sure the correct amount of blob/numeric
diff --git a/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php b/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
index fa43ef7cea..a36b5ec809 100755
--- a/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
+++ b/tests/PHPUnit/Integration/TwoVisitsWithCustomVariables_SegmentMatchVisitorTypeTest.php
@@ -5,7 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Common;
+use Piwik\Common;
 
 /**
  * Tests use of custom variable segments.
diff --git a/tests/PHPUnit/Integration/UrlNormalizationTest.php b/tests/PHPUnit/Integration/UrlNormalizationTest.php
index cf0237bcc3..32fc1fffbd 100644
--- a/tests/PHPUnit/Integration/UrlNormalizationTest.php
+++ b/tests/PHPUnit/Integration/UrlNormalizationTest.php
@@ -1,5 +1,5 @@
 <?php
-use Piwik\Core\Common;
+use Piwik\Common;
 
 /**
  * Tests the URL normalization.
diff --git a/tests/PHPUnit/IntegrationTestCase.php b/tests/PHPUnit/IntegrationTestCase.php
index 624efa9b55..961f8d02a5 100755
--- a/tests/PHPUnit/IntegrationTestCase.php
+++ b/tests/PHPUnit/IntegrationTestCase.php
@@ -5,9 +5,10 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Common;
+use Piwik\Access;
 
 require_once PIWIK_INCLUDE_PATH . '/libs/PiwikTracker/PiwikTracker.php';
 
@@ -39,8 +40,8 @@ abstract class IntegrationTestCase extends PHPUnit_Framework_TestCase
      */
     public static function createAccessInstance()
     {
-        Piwik_Access::setSingletonInstance(null);
-        Piwik_Access::getInstance();
+        Access::setSingletonInstance(null);
+        Access::getInstance();
         Piwik_PostEvent('FrontController.initAuthenticationObject');
     }
     
diff --git a/tests/PHPUnit/Plugins/LanguagesManagerTest.php b/tests/PHPUnit/Plugins/LanguagesManagerTest.php
index 2b0571460c..4f12ebcf63 100755
--- a/tests/PHPUnit/Plugins/LanguagesManagerTest.php
+++ b/tests/PHPUnit/Plugins/LanguagesManagerTest.php
@@ -5,7 +5,7 @@
  * @link    http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Common;
+use Piwik\Common;
 
 require_once 'LanguagesManager/API.php';
 
diff --git a/tests/PHPUnit/Plugins/LoginTest.php b/tests/PHPUnit/Plugins/LoginTest.php
index e6b00deada..39799719fa 100644
--- a/tests/PHPUnit/Plugins/LoginTest.php
+++ b/tests/PHPUnit/Plugins/LoginTest.php
@@ -5,8 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Access;
 
 require_once 'Login/Auth.php';
 
@@ -23,7 +24,7 @@ class LoginTest extends DatabaseTestCase
 
         //finally we set the user as a super user by default
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         // we make sure the tests don't depend on the config file content
         Config::getInstance()->superuser = array(
@@ -42,7 +43,7 @@ class LoginTest extends DatabaseTestCase
         // no login; no token auth
         $auth = new Piwik_Login_Auth();
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -55,7 +56,7 @@ class LoginTest extends DatabaseTestCase
         $auth = new Piwik_Login_Auth();
         $auth->setLogin('');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -68,7 +69,7 @@ class LoginTest extends DatabaseTestCase
         $auth = new Piwik_Login_Auth();
         $auth->setLogin('nobody');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -82,7 +83,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('anonymous');
         $auth->setTokenAuth('');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -96,7 +97,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('');
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -110,7 +111,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(null);
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -124,7 +125,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('anonymous');
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -140,7 +141,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('anonymous');
         $auth->setTokenAuth('');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -156,7 +157,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('');
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -172,7 +173,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('anonymous');
         $auth->setTokenAuth(0);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -188,7 +189,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(null);
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS, $rc->getCode());
     }
 
     /**
@@ -204,7 +205,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('anonymous');
         $auth->setTokenAuth('anonymous');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS, $rc->getCode());
     }
 
     protected function _setUpUser()
@@ -232,7 +233,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth('');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -248,7 +249,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth($user['password']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -264,7 +265,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth(md5($user['password']));
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -280,7 +281,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('');
         $auth->setTokenAuth($user['tokenAuth']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -296,7 +297,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(0);
         $auth->setTokenAuth(0);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -312,7 +313,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(0);
         $auth->setTokenAuth($user['tokenAuth']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -328,7 +329,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth(0);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -344,7 +345,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(null);
         $auth->setTokenAuth($user['tokenAuth']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS, $rc->getCode());
     }
 
     /**
@@ -360,7 +361,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth($user['tokenAuth']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS, $rc->getCode());
     }
 
     /**
@@ -377,7 +378,7 @@ class LoginTest extends DatabaseTestCase
         $hash = $auth->getHashTokenAuth($user['login'], $user['tokenAuth']);
         $auth->setTokenAuth($hash);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS, $rc->getCode());
     }
 
     /**
@@ -395,7 +396,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth('');
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -413,7 +414,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth($user['password']);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -431,7 +432,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth($password);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -449,7 +450,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin('');
         $auth->setTokenAuth($tokenAuth);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -467,7 +468,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth(0);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::FAILURE, $rc->getCode());
+        $this->assertEquals(AuthResult::FAILURE, $rc->getCode());
     }
 
     /**
@@ -485,7 +486,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin(null);
         $auth->setTokenAuth($tokenAuth);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
     }
 
     /**
@@ -503,7 +504,7 @@ class LoginTest extends DatabaseTestCase
         $auth->setLogin($user['login']);
         $auth->setTokenAuth($tokenAuth);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
     }
 
     /**
@@ -522,6 +523,6 @@ class LoginTest extends DatabaseTestCase
         $hash = $auth->getHashTokenAuth($user['login'], $tokenAuth);
         $auth->setTokenAuth($hash);
         $rc = $auth->authenticate();
-        $this->assertEquals(Piwik_Auth_Result::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
+        $this->assertEquals(AuthResult::SUCCESS_SUPERUSER_AUTH_CODE, $rc->getCode());
     }
 }
diff --git a/tests/PHPUnit/Plugins/MobileMessagingTest.php b/tests/PHPUnit/Plugins/MobileMessagingTest.php
index 648038220f..7460f51cbe 100644
--- a/tests/PHPUnit/Plugins/MobileMessagingTest.php
+++ b/tests/PHPUnit/Plugins/MobileMessagingTest.php
@@ -6,6 +6,8 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 
+use Piwik\Access;
+
 class MobileMessagingTest extends DatabaseTestCase
 {
     protected $idSiteAccess;
@@ -18,7 +20,7 @@ class MobileMessagingTest extends DatabaseTestCase
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
         //finally we set the user as a super user by default
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test");
 
diff --git a/tests/PHPUnit/Plugins/MultiSitesTest.php b/tests/PHPUnit/Plugins/MultiSitesTest.php
index eab6e15bfb..c1765dd08b 100644
--- a/tests/PHPUnit/Plugins/MultiSitesTest.php
+++ b/tests/PHPUnit/Plugins/MultiSitesTest.php
@@ -6,6 +6,8 @@
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
 
+use Piwik\Access;
+
 class MultiSitesTest extends DatabaseTestCase
 {
     protected $idSiteAccess;
@@ -14,7 +16,7 @@ class MultiSitesTest extends DatabaseTestCase
     {
         parent::setUp();
 
-        $access = Piwik_Access::getInstance();
+        $access = Access::getInstance();
         $access->setSuperUser(true);
 
         $this->idSiteAccess = Piwik_SitesManager_API::getInstance()->addSite("test", "http://test");
diff --git a/tests/PHPUnit/Plugins/PDFReportsTest.php b/tests/PHPUnit/Plugins/PDFReportsTest.php
index a643a8bd4c..ce5a7333f7 100644
--- a/tests/PHPUnit/Plugins/PDFReportsTest.php
+++ b/tests/PHPUnit/Plugins/PDFReportsTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
+
 require_once 'PDFReports/PDFReports.php';
 
 class PDFReportsTest extends DatabaseTestCase
@@ -208,7 +210,7 @@ class PDFReportsTest extends DatabaseTestCase
     {
         $anonymousAccess = new FakeAccess;
         FakeAccess::$identity = 'anonymous';
-        Piwik_Access::setSingletonInstance($anonymousAccess);
+        Access::setSingletonInstance($anonymousAccess);
 
         $pdfReportPlugin = new Piwik_PDFReports();
         $this->assertEquals(
@@ -497,6 +499,6 @@ class PDFReportsTest extends DatabaseTestCase
     {
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
     }
 }
diff --git a/tests/PHPUnit/Plugins/PrivacyManagerTest.php b/tests/PHPUnit/Plugins/PrivacyManagerTest.php
index 3c8c32cd10..770efaa445 100755
--- a/tests/PHPUnit/Plugins/PrivacyManagerTest.php
+++ b/tests/PHPUnit/Plugins/PrivacyManagerTest.php
@@ -5,9 +5,9 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Config;
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Config;
+use Piwik\Piwik;
+use Piwik\Common;
 
 require_once 'PrivacyManager/PrivacyManager.php';
 
@@ -754,7 +754,7 @@ class PrivacyManagerTest extends IntegrationTestCase
         $this->assertEquals(27, $this->_getTableCount('log_action'));
 
         $archiveTables = self::_getArchiveTableNames();
-//        var_export(Piwik_FetchAll("SELECT * FROM " . Piwik_Common::prefixTable($archiveTables['numeric'][0])));
+//        var_export(Piwik_FetchAll("SELECT * FROM " . Common::prefixTable($archiveTables['numeric'][0])));
 
         $janMetricCount = $this->_getExpectedNumericArchiveCountJan();
         $this->assertEquals($janMetricCount, $this->_getTableCount($archiveTables['numeric'][0])); // January
diff --git a/tests/PHPUnit/Plugins/SEOTest.php b/tests/PHPUnit/Plugins/SEOTest.php
index d74c281ed5..23010423a1 100644
--- a/tests/PHPUnit/Plugins/SEOTest.php
+++ b/tests/PHPUnit/Plugins/SEOTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
+
 class SEOTest extends PHPUnit_Framework_TestCase
 {
     public function setUp()
@@ -18,7 +20,7 @@ class SEOTest extends PHPUnit_Framework_TestCase
 
         //finally we set the user as a super user by default
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         $user_agents = array(
             'Mozilla/6.0 (Macintosh; I; Intel Mac OS X 11_7_9; de-LI; rv:1.9b4) Gecko/2012010317 Firefox/10.0a4',
diff --git a/tests/PHPUnit/Plugins/SegmentEditorTest.php b/tests/PHPUnit/Plugins/SegmentEditorTest.php
index 18b0fabd68..115ff2d057 100644
--- a/tests/PHPUnit/Plugins/SegmentEditorTest.php
+++ b/tests/PHPUnit/Plugins/SegmentEditorTest.php
@@ -1,5 +1,6 @@
 <?php
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -24,7 +25,7 @@ class SegmentEditorTest extends DatabaseTestCase
         //finally we set the user as a super user by default
         FakeAccess::$superUser = true;
         FakeAccess::$superUserLogin = 'superusertest';
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         Piwik_SitesManager_API::getInstance()->addSite('test', 'http://example.org');
     }
diff --git a/tests/PHPUnit/Plugins/SitesManagerTest.php b/tests/PHPUnit/Plugins/SitesManagerTest.php
index 68a3302390..05cfb24095 100644
--- a/tests/PHPUnit/Plugins/SitesManagerTest.php
+++ b/tests/PHPUnit/Plugins/SitesManagerTest.php
@@ -5,6 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
+use Piwik\Access;
+
 class SitesManagerTest extends DatabaseTestCase
 {
     public function setUp()
@@ -14,7 +16,7 @@ class SitesManagerTest extends DatabaseTestCase
         // setup the access layer
         $pseudoMockAccess = new FakeAccess;
         FakeAccess::$superUser = true;
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
     }
 
     /**
@@ -953,7 +955,7 @@ class SitesManagerTest extends DatabaseTestCase
         $idsite = Piwik_SitesManager_API::getInstance()->addSite("site2", array("http://piwik.com", "http://piwik.net"));
         $idsite = Piwik_SitesManager_API::getInstance()->addSite("site3", array("http://piwik.com", "http://piwik.org"));
 
-        $saveAccess = Piwik_Access::getInstance();
+        $saveAccess = Access::getInstance();
 
         Piwik_UsersManager_API::getInstance()->addUser("user1", "geqgegagae", "tegst@tesgt.com", "alias");
         Piwik_UsersManager_API::getInstance()->setUserAccess("user1", "view", array(1));
@@ -971,7 +973,7 @@ class SitesManagerTest extends DatabaseTestCase
         FakeAccess::$identity = 'user1';
         FakeAccess::setIdSitesView(array(1));
         FakeAccess::setIdSitesAdmin(array());
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
         $idsites = Piwik_SitesManager_API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com');
         $this->assertEquals(1, count($idsites));
 
@@ -986,7 +988,7 @@ class SitesManagerTest extends DatabaseTestCase
         FakeAccess::$identity = 'user2';
         FakeAccess::setIdSitesView(array(1));
         FakeAccess::setIdSitesAdmin(array(3));
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
         $idsites = Piwik_SitesManager_API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com');
         $this->assertEquals(2, count($idsites));
 
@@ -995,11 +997,11 @@ class SitesManagerTest extends DatabaseTestCase
         FakeAccess::$identity = 'user3';
         FakeAccess::setIdSitesView(array(1, 2));
         FakeAccess::setIdSitesAdmin(array(3));
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
         $idsites = Piwik_SitesManager_API::getInstance()->getSitesIdFromSiteUrl('http://piwik.com');
         $this->assertEquals(3, count($idsites));
 
-        Piwik_Access::setSingletonInstance($saveAccess);
+        Access::setSingletonInstance($saveAccess);
     }
 
     /**
diff --git a/tests/PHPUnit/Plugins/UserCountryTest.php b/tests/PHPUnit/Plugins/UserCountryTest.php
index 1f4e20b766..effc0b64a9 100644
--- a/tests/PHPUnit/Plugins/UserCountryTest.php
+++ b/tests/PHPUnit/Plugins/UserCountryTest.php
@@ -5,7 +5,7 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
 
 require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/UserCountry.php';
 require_once 'UserCountry/functions.php';
diff --git a/tests/PHPUnit/Plugins/UsersManagerTest.php b/tests/PHPUnit/Plugins/UsersManagerTest.php
index e720a0082b..9144c67037 100644
--- a/tests/PHPUnit/Plugins/UsersManagerTest.php
+++ b/tests/PHPUnit/Plugins/UsersManagerTest.php
@@ -1,5 +1,6 @@
 <?php
-use Piwik\Core\Config;
+use Piwik\Config;
+use Piwik\Access;
 
 /**
  * Piwik - Open source web analytics
@@ -24,7 +25,7 @@ class UsersManagerTest extends DatabaseTestCase
         //finally we set the user as a super user by default
         FakeAccess::$superUser = true;
         FakeAccess::$superUserLogin = 'superusertest';
-        Piwik_Access::setSingletonInstance($pseudoMockAccess);
+        Access::setSingletonInstance($pseudoMockAccess);
 
         // we make sure the tests don't depend on the config file content
         Config::getInstance()->superuser = array(
diff --git a/tests/PHPUnit/UI/UIIntegrationTest.php b/tests/PHPUnit/UI/UIIntegrationTest.php
index 905ca23d1f..04cd86d70b 100644
--- a/tests/PHPUnit/UI/UIIntegrationTest.php
+++ b/tests/PHPUnit/UI/UIIntegrationTest.php
@@ -5,7 +5,8 @@
  * @link http://piwik.org
  * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
  */
-use Piwik\Core\Piwik;
+use Piwik\Piwik;
+use Piwik\Access;
 
 /**
  * Tests UI code by grabbing screenshots of webpages and comparing with expected files.
@@ -25,7 +26,7 @@ class Test_Piwik_Integration_UIIntegrationTest extends IntegrationTestCase
     
     public static function createAccessInstance()
     {
-        Piwik_Access::setSingletonInstance($access = new Test_Piwik_Access_OverrideLogin());
+        Access::setSingletonInstance($access = new Test_Access_OverrideLogin());
         Piwik_PostEvent('FrontController.initAuthenticationObject');
     }
     
diff --git a/tests/PHPUnit/bootstrap.php b/tests/PHPUnit/bootstrap.php
index e31ac8cc72..67d4e43382 100644
--- a/tests/PHPUnit/bootstrap.php
+++ b/tests/PHPUnit/bootstrap.php
@@ -102,7 +102,7 @@ Try again.
     if (strpos($fetched, $expectedString) === false) {
         echo "\nPiwik should be running at: " . $piwikServerUrl
             . "\nbut this URL returned an unexpected response: '"
-            . substr($fetched, 0, 300) . "...'\n\n";
+            . substr($fetched, 0, 700) . "...'\n\n";
         exit;
     }
 }
diff --git a/tests/PHPUnit/proxy/piwik.php b/tests/PHPUnit/proxy/piwik.php
index 1f4c58258c..b6ccd4711f 100755
--- a/tests/PHPUnit/proxy/piwik.php
+++ b/tests/PHPUnit/proxy/piwik.php
@@ -11,7 +11,7 @@
 
 // Wrapping the request inside ob_start() calls to ensure that the Test
 // calling us waits for the full request to process before unblocking
-use Piwik\Core\Config;
+use Piwik\Config;
 
 ob_start();
 
diff --git a/tests/resources/staticFileServer.php b/tests/resources/staticFileServer.php
index 510e1794dc..3860cf1910 100644
--- a/tests/resources/staticFileServer.php
+++ b/tests/resources/staticFileServer.php
@@ -9,8 +9,8 @@
  * This decision has a structural impact on the usual unit test file structure
  * serveStaticFile.test.php has been created to avoid making too many modifications to /tests/core/Piwik.test.php
  */
-use Piwik\Core\Piwik;
-use Piwik\Core\Common;
+use Piwik\Piwik;
+use Piwik\Common;
 
 define('PIWIK_DOCUMENT_ROOT', dirname(__FILE__).'/../../');
 if(file_exists(PIWIK_DOCUMENT_ROOT . '/bootstrap.php'))
-- 
GitLab