diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 61193d0..4a37bc2 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -7,21 +7,8 @@ use Drupal\Core\Language\Language;
 
 use Symfony\Component\DependencyInjection\ContainerBuilder;
 use Symfony\Component\DependencyInjection\Reference;
-use Drupal\Core\Installer\InstallerKernel;
-use Drupal\Core\Installer\Controller\SelectLanguage;
-use Drupal\Core\Installer\Controller\SelectProfile;
-use Drupal\Core\Installer\Controller\LoadProfile;
-use Drupal\Core\Installer\Controller\VerifyRequirements;
-
 use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Session;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\UrlMatcher;
+use Symfony\Component\HttpFoundation\Response;
 
 /**
  * @file
@@ -60,125 +47,6 @@ const INSTALL_TASK_RUN_IF_REACHED = 2;
  */
 const INSTALL_TASK_RUN_IF_NOT_COMPLETED = 3;
 
-function install_drupal_2() {
-
-  // So that the class loader works.
-  require_once DRUPAL_ROOT . '/core/includes/bootstrap.inc';
-  drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
-
-  install_drupal_2_init();
-
-  $request = Request::createFromGlobals();
-
-  $session = new Session(new NativeSessionStorage());
-  $session->start();
-  $request->setSession($session);
-
-  // We currently don't have a way of doing non-interactive
-  $settings = array();
-  $interactive = empty($settings);
-
-  $install_state = $session->get('install_state', array())
-    + $settings
-    + array('interactive' => $interactive)
-    + install_state_defaults();
-
-  $session->set('install_state', $install_state);
-
-  $routes = new RouteCollection();
-
-  $context = new RequestContext();
-  $matcher = new UrlMatcher($routes, $context);
-  $generator = new UrlGenerator($routes, $context);
-
-  $language_controller = new SelectLanguage($generator, $request);
-  $profile_controller = new SelectProfile($generator, $request);
-  $load_profile_controller = new LoadProfile($generator);
-  $requirements_controller = new VerifyRequirements($generator);
-
-  $routes->add('language', new Route('/language', array(
-    '_controller' => array($language_controller, 'interactive'),
-  )));
-  $routes->add('profile', new Route('/profile', array(
-    '_controller' => array($profile_controller, 'interactive'),
-  )));
-  $routes->add('home', new Route('/', array(
-    '_controller' => function() use ($generator) {
-      return new RedirectResponse($generator->generate('language'));
-    },
-  )));
-
-  $routes->add('load_profile', new Route('/load_profile', array(
-    '_controller' => array($load_profile_controller, 'interactive'),
-  )));
-  $routes->add('requirements', new Route('/requirements', array(
-    '_controller' => array($requirements_controller, 'interactive'),
-  )));
-
-
-  $kernel = new InstallerKernel($matcher);
-  $kernel->handle($request)->send();
-}
-
-/**
- * Include all the necessary libraries to make the installer work.
- *
- * @todo This entire function should get replaced as the following systems
- * become injectable OO.  This function should cease to exist before Drupal 8
- * ships.
- */
-function install_drupal_2_init() {
-  global $conf;
-
-  require_once DRUPAL_ROOT . '/core/includes/install.inc';
-  require_once DRUPAL_ROOT . '/core/includes/form.inc';
-  require_once DRUPAL_ROOT . '/core/includes/common.inc';
-  require_once DRUPAL_ROOT . '/core/includes/unicode.inc';
-  require_once DRUPAL_ROOT . '/core/includes/ajax.inc';
-  include_once DRUPAL_ROOT . '/core/includes/module.inc';
-  $module_list['system']['filename'] = 'core/modules/system/system.module';
-  $module_list['entity']['filename'] = 'core/modules/entity/entity.module';
-  $module_list['user']['filename']   = 'core/modules/user/user.module';
-  module_list('module_enabled', $module_list);
-  drupal_load('module', 'system');
-  drupal_load('module', 'entity');
-  drupal_load('module', 'user');
-
-  // Load the cache infrastructure using a "fake" cache implementation that
-  // does not attempt to write to the database. We need this during the initial
-  // part of the installer because the database is not available yet. We
-  // continue to use it even when the database does become available, in order
-  // to preserve consistency between interactive and command-line installations
-  // (the latter complete in one page request and therefore are forced to
-  // continue using the cache implementation they started with) and also
-  // because any data put in the cache during the installer is inherently
-  // suspect, due to the fact that Drupal is not fully set up yet.
-  require_once DRUPAL_ROOT . '/core/includes/cache.inc';
-  $conf['cache_classes']['cache'] = 'Drupal\Core\Cache\InstallBackend';
-
-  // Prepare for themed output. We need to run this at the beginning of the
-  // page request to avoid a different theme accidentally getting set. (We also
-  // need to run it even in the case of command-line installations, to prevent
-  // any code in the installer that happens to initialize the theme system from
-  // accessing the database before it is set up yet.)
-  drupal_maintenance_theme();
-
-  // Check existing settings.php.
-  $install_state['settings_verified'] = install_verify_settings();
-
-  if ($install_state['settings_verified']) {
-    // Initialize the database system. Note that the connection
-    // won't be initialized until it is actually requested.
-    require_once DRUPAL_ROOT . '/core/includes/database.inc';
-
-    // Verify the last completed task in the database, if there is one.
-    $task = install_verify_completed_task();
-
-  }
-
-}
-
-
 /**
  * Installs Drupal either interactively or via an array of passed-in settings.
  *
diff --git a/core/install.php b/core/install.php
index 540ce7c..6f046b2 100644
--- a/core/install.php
+++ b/core/install.php
@@ -33,5 +33,4 @@ if (version_compare(PHP_VERSION, '5.3.3') < 0) {
 
 // Start the installer.
 require_once DRUPAL_ROOT . '/core/includes/install.core.inc';
-//install_drupal();
-install_drupal_2();
\ No newline at end of file
+install_drupal();
diff --git a/core/lib/Drupal/Core/Installer/Controller/InstallController.php b/core/lib/Drupal/Core/Installer/Controller/InstallController.php
deleted file mode 100644
index 52a5212..0000000
--- a/core/lib/Drupal/Core/Installer/Controller/InstallController.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-
-
-/**
- * This is the most basic installation Controller. It makes handling the
- * install_state more convenient.
- */
-class InstallController {
-
-  protected $generator;
-  protected $request;
-  protected $install_state;
-
-  public function __construct(UrlGenerator $generator, Request $request) {
-    $this->generator = $generator;
-    $this->request = $request;
-    $session = $request->getSession();
-    $session->start();
-    $this->install_state = $session->get('install_state');
-  }
-
-  protected function saveInstallState($install_state) {
-    $this->request->getSession()->set('install_state', $install_state);
-  }
-}
diff --git a/core/lib/Drupal/Core/Installer/Controller/LoadProfile.php b/core/lib/Drupal/Core/Installer/Controller/LoadProfile.php
deleted file mode 100644
index faa1f95..0000000
--- a/core/lib/Drupal/Core/Installer/Controller/LoadProfile.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-
-/**
- * This is installer step 3.
- */
-class LoadProfile {
-
-  public function interactive(Request $request) {
-    $session = $request->getSession();
-    $session->start();
-    $install_state = $session->get('install_state');
-    $profile = $install_state['parameters']['profile'];
-    $langcode = $install_state['parameters']['langcode'];
-
-    $profile_file = DRUPAL_ROOT . '/profiles/' . $profile . '/' . $profile . '.profile';
-    if (file_exists($profile_file)) {
-      include_once $profile_file;
-      $install_state['profile_info'] = install_profile_info($profile, $langcode);
-
-      $session->set('install_state', $install_state);
-      return new RedirectResponse('requirements');
-    }
-    else {
-      return new Response(st('Sorry, the profile you have chosen cannot be loaded.'));
-    }
-  }
-}
-
diff --git a/core/lib/Drupal/Core/Installer/Controller/SelectLanguage.php b/core/lib/Drupal/Core/Installer/Controller/SelectLanguage.php
deleted file mode 100644
index 9d9cc45..0000000
--- a/core/lib/Drupal/Core/Installer/Controller/SelectLanguage.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-
-/**
- * This is installer step 1.
- */
-class SelectLanguage extends InstallController {
-
-  public function nonInteractive() {
-
-  }
-
-  public function interactive() {
-    $install_state = $this->install_state;
-
-    // Find all available translations.
-    require_once DRUPAL_ROOT . '/core/includes/file.inc';
-    $files = install_find_translations();
-    $install_state['translations'] = $files;
-
-    $langcode = $this->request->get('langcode');
-    if (empty($langcode)) {
-      // If only the built-in (English) language is available, and we are
-      // performing an interactive installation, inform the user that the
-      // installer can be translated. Otherwise we assume the user knows what he
-      // is doing.
-      if (count($files) == 1) {
-        if ($install_state['interactive']) {
-          $directory = variable_get('locale_translate_file_directory', conf_path() . '/files/translations');
-
-          drupal_set_title(st('Choose language'));
-          if (!empty($install_state['parameters']['translate'])) {
-            $output = '<p>Follow these steps to translate Drupal into your language:</p>';
-            $output .= '<ol>';
-            $output .= '<li>Download a translation from the <a href="http://localize.drupal.org/download" target="_blank">translation server</a>.</li>';
-            $output .= '<li>Place it into the following directory:<pre>' . $directory . '</pre></li>';
-            $output .= '</ol>';
-            $output .= '<p>For more information on installing Drupal in different languages, visit the <a href="http://drupal.org/localize" target="_blank">drupal.org handbook page</a>.</p>';
-            $output .= '<p>How should the installation continue?</p>';
-            $output .= '<ul>';
-            $output .= '<li><a href="' . check_url(drupal_current_script_url(array('translate' => NULL))) . '">Reload the language selection page after adding translations</a></li>';
-            $output .= '<li><a href="' . check_url(drupal_current_script_url(array('langcode' => 'en', 'translate' => NULL))) . '">Continue installation in English</a></li>';
-            $output .= '</ul>';
-          }
-          else {
-            include_once DRUPAL_ROOT . '/core/includes/form.inc';
-            $elements = drupal_get_form('install_select_language_form', $files);
-            $output = drupal_render($elements);
-          }
-          return new Response($output);
-        }
-        // One language, but not an interactive installation. Assume the user
-        // knows what he is doing.
-        $langcode = current($files);
-        $install_state['parameters']['langcode'] = $file->langcode;
-        return;
-      }
-      else {
-        // We still don't have a langcode, so display a form for selecting one.
-        // Only do this in the case of interactive installations, since this is
-        // not a real form with submit handlers (the database isn't even set up
-        // yet), rather just a convenience method for setting parameters in the
-        // URL.
-        if ($install_state['interactive']) {
-          drupal_set_title(st('Choose language'));
-          include_once DRUPAL_ROOT . '/core/includes/form.inc';
-          $elements = drupal_get_form('install_select_language_form', $files);
-          return new Response(drupal_render($elements));
-        }
-        else {
-          throw new Exception(st('Sorry, you must select a language to continue the installation.'));
-        }
-      }
-    }
-    else {
-      foreach ($files as $file) {
-        if ($langcode == $file->langcode) {
-          $install_state['parameters']['langcode'] = $file->langcode;
-          $this->saveInstallState($install_state);
-          return new RedirectResponse('profile');
-        }
-      }
-    }
-  }
-}
diff --git a/core/lib/Drupal/Core/Installer/Controller/SelectProfile.php b/core/lib/Drupal/Core/Installer/Controller/SelectProfile.php
deleted file mode 100644
index 9dde84e..0000000
--- a/core/lib/Drupal/Core/Installer/Controller/SelectProfile.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-
-/**
- * This is installer step 2.
- */
-class SelectProfile extends InstallController {
-  public function interactive(Request $request) {
-    if (empty($install_state['parameters']['profile'])) {
-
-      $install_state = $this->install_state;
-      $install_state['profiles'] = $this->install_find_profiles();
-
-      // Try to find a profile.
-      $profile = $this->_install_select_profile($install_state['profiles'], $request);
-
-      if (empty($profile)) {
-        // We still don't have a profile, so display a form for selecting one.
-        // Only do this in the case of interactive installations, since this is
-        // not a real form with submit handlers (the database isn't even set up
-        // yet), rather just a convenience method for setting parameters in the
-        // URL.
-
-        if ($install_state['interactive']) {
-          include_once DRUPAL_ROOT . '/core/includes/form.inc';
-          drupal_set_title(st('Select an installation profile'));
-          $form = drupal_get_form('install_select_profile_form', $install_state['profiles']);
-          return new Response(drupal_render($form));
-        }
-        else {
-          throw new Exception(install_no_profile_error());
-        }
-      }
-      else {
-        $install_state['parameters']['profile'] = $profile;
-        $this->request->getSession()->set('install_state', $install_state);
-        return new RedirectResponse('load_profile');
-      }
-    }
-  }
-
-  function install_find_profiles() {
-    return file_scan_directory('./profiles', '/\.profile$/', array('key' => 'name'));
-  }
-
-  /**
-   * Helper function for automatically selecting an installation profile from a
-   * list or from a selection passed in via $_POST.
-   */
-  function _install_select_profile($profiles, $request) {
-    if (sizeof($profiles) == 0) {
-      throw new Exception(install_no_profile_error());
-    }
-    // Don't need to choose profile if only one available.
-    if (sizeof($profiles) == 1) {
-      $profile = array_pop($profiles);
-      // TODO: is this right?
-      require_once DRUPAL_ROOT . '/' . $profile->uri;
-      return $profile->name;
-    }
-    else {
-      $profile_from_form = $request->get('profile');
-      if (!empty($profile_from_form)) {
-        foreach ($profiles as $profile) {
-          if ($profile_from_form == $profile->name) {
-            return $profile->name;
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/core/lib/Drupal/Core/Installer/Controller/VerifyRequirements.php b/core/lib/Drupal/Core/Installer/Controller/VerifyRequirements.php
deleted file mode 100644
index 65b2f96..0000000
--- a/core/lib/Drupal/Core/Installer/Controller/VerifyRequirements.php
+++ /dev/null
@@ -1,250 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer\Controller;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-
-/**
- * This is installer step 4.
- */
-class VerifyRequirements {
-
-  public function interactive(Request $request) {
-    $session = $request->getSession();
-    $session->start();
-
-    $install_state = $session->get('install_state');
-    // Check the installation requirements for Drupal and this profile.
-    $requirements = $this->install_check_requirements($install_state);
-
-    // Verify existence of all required modules.
-    $requirements += $this->drupal_verify_profile($install_state);
-
-    // Check the severity of the requirements reported.
-    $severity = drupal_requirements_severity($requirements);
-
-    // If there are errors, always display them. If there are only warnings, skip
-    // them if the user has provided a URL parameter acknowledging the warnings
-    // and indicating a desire to continue anyway. See drupal_requirements_url().
-    if ($severity == REQUIREMENT_ERROR || ($severity == REQUIREMENT_WARNING && empty($install_state['parameters']['continue']))) {
-      if ($install_state['interactive']) {
-        drupal_set_title(st('Requirements problem'));
-        $status_report = theme('status_report', array('requirements' => $requirements));
-        $status_report .= st('Check the messages and <a href="!url">try again</a>.', array('!url' => check_url(drupal_requirements_url($severity))));
-        return new Response($status_report);
-      }
-      else {
-        // Throw an exception showing any unmet requirements.
-        $failures = array();
-        foreach ($requirements as $requirement) {
-          // Skip warnings altogether for non-interactive installations; these
-          // proceed in a single request so there is no good opportunity (and no
-          // good method) to warn the user anyway.
-          if (isset($requirement['severity']) && $requirement['severity'] == REQUIREMENT_ERROR) {
-            $failures[] = $requirement['title'] . ': ' . $requirement['value'] . "\n\n" . $requirement['description'];
-          }
-        }
-        if (!empty($failures)) {
-          return new Response(implode("\n\n", $failures));
-        }
-      }
-    }
-  }
-
-  function install_check_requirements($install_state) {
-    $profile = $install_state['parameters']['profile'];
-
-    // Check the profile requirements.
-    $requirements = $this->drupal_check_profile($profile);
-
-    // If Drupal is not set up already, we need to create a settings file.
-    if (!$install_state['settings_verified']) {
-      $writable = FALSE;
-      $conf_path = './' . conf_path(FALSE, TRUE);
-      $settings_file = $conf_path . '/settings.php';
-      $default_settings_file = './sites/default/default.settings.php';
-      $file = $conf_path;
-      $exists = FALSE;
-      // Verify that the directory exists.
-      if (drupal_verify_install_file($conf_path, FILE_EXIST, 'dir')) {
-        // Check if a settings.php file already exists.
-        $file = $settings_file;
-        if (drupal_verify_install_file($settings_file, FILE_EXIST)) {
-          // If it does, make sure it is writable.
-          $writable = drupal_verify_install_file($settings_file, FILE_READABLE|FILE_WRITABLE);
-          $exists = TRUE;
-        }
-      }
-
-      // If default.settings.php does not exist, or is not readable, throw an
-      // error.
-      if (!drupal_verify_install_file($default_settings_file, FILE_EXIST|FILE_READABLE)) {
-        $requirements['default settings file exists'] = array(
-          'title'       => st('Default settings file'),
-          'value'       => st('The default settings file does not exist.'),
-          'severity'    => REQUIREMENT_ERROR,
-          'description' => st('The @drupal installer requires that the %default-file file not be modified in any way from the original download.', array('@drupal' => drupal_install_profile_distribution_name(), '%default-file' => $default_settings_file)),
-        );
-      }
-      // Otherwise, if settings.php does not exist yet, we can try to copy
-      // default.settings.php to create it.
-      elseif (!$exists) {
-        $copied = drupal_verify_install_file($conf_path, FILE_EXIST|FILE_WRITABLE, 'dir') && @copy($default_settings_file, $settings_file);
-        if ($copied) {
-          // If the new settings file has the same owner as default.settings.php,
-          // this means default.settings.php is owned by the webserver user.
-          // This is an inherent security weakness because it allows a malicious
-          // webserver process to append arbitrary PHP code and then execute it.
-          // However, it is also a common configuration on shared hosting, and
-          // there is nothing Drupal can do to prevent it. In this situation,
-          // having settings.php also owned by the webserver does not introduce
-          // any additional security risk, so we keep the file in place.
-          if (fileowner($default_settings_file) === fileowner($settings_file)) {
-            $writable = drupal_verify_install_file($settings_file, FILE_READABLE|FILE_WRITABLE);
-            $exists = TRUE;
-          }
-          // If settings.php and default.settings.php have different owners, this
-          // probably means the server is set up "securely" (with the webserver
-          // running as its own user, distinct from the user who owns all the
-          // Drupal PHP files), although with either a group or world writable
-          // sites directory. Keeping settings.php owned by the webserver would
-          // therefore introduce a security risk. It would also cause a usability
-          // problem, since site owners who do not have root access to the file
-          // system would be unable to edit their settings file later on. We
-          // therefore must delete the file we just created and force the
-          // administrator to log on to the server and create it manually.
-          else {
-            $deleted = @drupal_unlink($settings_file);
-            // We expect deleting the file to be successful (since we just
-            // created it ourselves above), but if it fails somehow, we set a
-            // variable so we can display a one-time error message to the
-            // administrator at the bottom of the requirements list. We also try
-            // to make the file writable, to eliminate any conflicting error
-            // messages in the requirements list.
-            $exists = !$deleted;
-            if ($exists) {
-              $settings_file_ownership_error = TRUE;
-              $writable = drupal_verify_install_file($settings_file, FILE_READABLE|FILE_WRITABLE);
-            }
-          }
-        }
-      }
-
-      // If settings.php does not exist, throw an error.
-      if (!$exists) {
-        $requirements['settings file exists'] = array(
-          'title'       => st('Settings file'),
-          'value'       => st('The settings file does not exist.'),
-          'severity'    => REQUIREMENT_ERROR,
-          'description' => st('The @drupal installer requires that you create a settings file as part of the installation process. Copy the %default_file file to %file. More details about installing Drupal are available in <a href="@install_txt">INSTALL.txt</a>.', array('@drupal' => drupal_install_profile_distribution_name(), '%file' => $file, '%default_file' => $default_settings_file, '@install_txt' => base_path() . 'core/INSTALL.txt')),
-        );
-      }
-      else {
-        $requirements['settings file exists'] = array(
-          'title'       => st('Settings file'),
-          'value'       => st('The %file file exists.', array('%file' => $file)),
-        );
-        // If settings.php is not writable, throw an error.
-        if (!$writable) {
-          $requirements['settings file writable'] = array(
-            'title'       => st('Settings file'),
-            'value'       => st('The settings file is not writable.'),
-            'severity'    => REQUIREMENT_ERROR,
-            'description' => st('The @drupal installer requires write permissions to %file during the installation process. If you are unsure how to grant file permissions, consult the <a href="@handbook_url">online handbook</a>.', array('@drupal' => drupal_install_profile_distribution_name(), '%file' => $file, '@handbook_url' => 'http://drupal.org/server-permissions')),
-          );
-        }
-        else {
-          $requirements['settings file'] = array(
-            'title'       => st('Settings file'),
-            'value'       => st('The settings file is writable.'),
-          );
-        }
-        if (!empty($settings_file_ownership_error)) {
-          $requirements['settings file ownership'] = array(
-            'title'       => st('Settings file'),
-            'value'       => st('The settings file is owned by the web server.'),
-            'severity'    => REQUIREMENT_ERROR,
-            'description' => st('The @drupal installer failed to create a settings file with proper file ownership. Log on to your web server, remove the existing %file file, and create a new one by copying the %default_file file to %file. More details about installing Drupal are available in <a href="@install_txt">INSTALL.txt</a>. If you have problems with the file permissions on your server, consult the <a href="@handbook_url">online handbook</a>.', array('@drupal' => drupal_install_profile_distribution_name(), '%file' => $file, '%default_file' => $default_settings_file, '@install_txt' => base_path() . 'core/INSTALL.txt', '@handbook_url' => 'http://drupal.org/server-permissions')),
-          );
-        }
-      }
-    }
-    return $requirements;
-  }
-
-  /**
-   * Check an install profile's requirements.
-   *
-   * @param $profile
-   *   Name of install profile to check.
-   * @return
-   *   Array of the install profile's requirements.
-   */
-  function drupal_verify_profile($install_state) {
-    $profile = $install_state['parameters']['profile'];
-
-    include_once DRUPAL_ROOT . '/core/includes/file.inc';
-    include_once DRUPAL_ROOT . '/core/includes/common.inc';
-
-    $profile_file = DRUPAL_ROOT . "/profiles/$profile/$profile.profile";
-
-    if (!isset($profile) || !file_exists($profile_file)) {
-      throw new Exception(install_no_profile_error());
-    }
-    $info = $install_state['profile_info'];
-
-    // Get a list of modules that exist in Drupal's assorted subdirectories.
-    $present_modules = array();
-    foreach (drupal_system_listing('/^' . DRUPAL_PHP_FUNCTION_PATTERN . '\.module$/', 'modules', 'name', 0) as $present_module) {
-      $present_modules[] = $present_module->name;
-    }
-
-    // The install profile is also a module, which needs to be installed after all the other dependencies
-    // have been installed.
-    $present_modules[] = drupal_get_profile();
-
-    // Verify that all of the profile's required modules are present.
-    $missing_modules = array_diff($info['dependencies'], $present_modules);
-
-    $requirements = array();
-
-    if (count($missing_modules)) {
-      $modules = array();
-      foreach ($missing_modules as $module) {
-        $modules[] = '<span class="admin-missing">' . drupal_ucfirst($module) . '</span>';
-      }
-      $requirements['required_modules'] = array(
-        'title'       => st('Required modules'),
-        'value'       => st('Required modules not found.'),
-        'severity'    => REQUIREMENT_ERROR,
-        'description' => st('The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as <em>sites/all/modules</em>. Missing modules: !modules', array('!modules' => implode(', ', $modules))),
-      );
-    }
-    return $requirements;
-  }
-
-  function drupal_check_profile($profile) {
-    include_once DRUPAL_ROOT . '/core/includes/file.inc';
-
-    $profile_file = DRUPAL_ROOT . "/profiles/$profile/$profile.profile";
-
-    if (!isset($profile) || !file_exists($profile_file)) {
-      throw new Exception(install_no_profile_error());
-    }
-
-    $info = install_profile_info($profile);
-
-    // Collect requirement testing results.
-    $requirements = array();
-    foreach ($info['dependencies'] as $module) {
-      module_load_install($module);
-      $function = $module . '_requirements';
-      if (function_exists($function)) {
-        $requirements = array_merge($requirements, $function('install'));
-      }
-    }
-    return $requirements;
-  }
-}
diff --git a/core/lib/Drupal/Core/Installer/InstallerKernel.php b/core/lib/Drupal/Core/Installer/InstallerKernel.php
deleted file mode 100644
index 43be918..0000000
--- a/core/lib/Drupal/Core/Installer/InstallerKernel.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-namespace Drupal\Core\Installer;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\Controller\ControllerResolver;
-use Symfony\Component\HttpKernel\EventListener\RouterListener;
-use Symfony\Component\HttpKernel\EventListener\ResponseListener;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-/**
- * Description of InstallerKernel
- *
- * @author crell
- */
-class InstallerKernel extends HttpKernel {
-
-  public function __construct(UrlMatcher $matcher) {
-    $resolver = new ControllerResolver();
-
-    $dispatcher = new EventDispatcher();
-    $dispatcher->addSubscriber(new RouterListener($matcher));
-    $dispatcher->addSubscriber(new ResponseListener('UTF-8'));
-
-    parent::__construct($dispatcher, $resolver);
-  }
-
-}
