diff --git a/docs/guide/configuration.md b/docs/guide/configuration.md
index ab4e410..4c82ecd 100644
--- a/docs/guide/configuration.md
+++ b/docs/guide/configuration.md
@@ -3,35 +3,42 @@ Configuration
 
 Yii applications rely upon components to perform most of the common tasks, such as connecting to a database, routing browser
 requests, and handling sessions. How these stock components behave can be adjusted by *configuring* your Yii application.
-The majority of components have sensible defaults, so it's unlikely that you'll spend a lot of time configuring
-them. Still there are some mandatory settings, such as the database connection, that you will have to establish.
+The majority of components have sensible default settings, so it's unlikely that you'll do a lot of configuration. Still, there are some mandatory configuration settings that you will have to establish, such as the database connection.
 
-How an application is configured depends on application template but there are some general principles applying in any case.
+How an application is configured depends upon the application template in use, but there are some general principles that apply in every Yii case.
 
-Configuring options in bootstrap file
--------------------------------------
+Configuring options in the bootstrap file
+-----------------------------------------
 
-For each application in Yii there is at least one bootstrap file. For web applications it's typically `index.php`, for
-console applications it's `yii`. Both are doing nearly the same job:
+For each application in Yii there is at least one bootstrap file: a PHP script through which all requests are handled. For web applications, the bootstrap file is  typically `index.php`; for
+console applications, the bootstrap file is `yii`. Both bootstrap files perform nearly the same job:
 
 1. Setting common constants.
-2. Including Yii itself.
+2. Including the Yii framework itself.
 3. Including [Composer autoloader](http://getcomposer.org/doc/01-basic-usage.md#autoloading).
-4. Reading config file into `$config`.
-5. Creating new application instance using `$config` and running it.
+4. Reading the configuration file into `$config`.
+5. Creating a new application instance, configured via `$config`, and running that instance.
 
-The Bootstrap file is not the part of framework but your application so it's OK to adjust it to fit your application. Typical
-adjustments are the value of `YII_DEBUG` that should never be `true` on production and the way config is read:
+Like any resource in your Yii application, the bootstrap file can be edited to fit your needs. A typical change is to the value of `YII_DEBUG`. This constant should be `true` during development, but always `false` on production sites.
+
+The default bootstrap structure sets `YII_DEBUG` to `false` if not defined:
+
+```php
+defined('YII_DEBUG') or define('YII_DEBUG', false);
+```
+
+During development, you can change this to `true`:
 
 ```php
+define('YII_DEBUG', true); // Development only 
 defined('YII_DEBUG') or define('YII_DEBUG', false);
 ```
 
-Configuring application instance
---------------------------------
+Configuring the application instance
+------------------------------------
 
-It was mentioned above that application is configured in bootstrap file when its instance is created. Config is typically
-stored in a PHP file in the `/config` directory of the application and looks like the following:
+An application instance is configured when it's created in the bootstrap file. The configuration is typically
+stored in a PHP file stored in the `/config` application directory. The file has this structure to begin:
 
 ```php
 <?php
@@ -45,18 +52,18 @@ return [
 ];
 ```
 
-In the above array keys are names of application properties. Depending on application type you can check properties of
-either [[yii\web\Application]] or [[yii\console\Application]]. Both are extended from [[yii\base\Application]].
+The configuration is a large array of key-value pairs. In the above, the array keys are the names of application properties. Depending upon the application type, you can configure the properties of
+either [[yii\web\Application]] or [[yii\console\Application]] classes. Both classes extend  [[yii\base\Application]].
 
-> Note that you can configure not only public class properties but anything accessible via setter. For example, to
-  configure runtime path you can use key named `runtimePath`. There's no such property in the application class but
-  since there's a corresponding setter named `setRuntimePath` it will be properly configured.
-  This feature is added to any class that extends from [[yii\base\Object]] which is nearly any class of the Yii framework.
+Note that you can configure not only public class properties, but any property accessible via a setter. For example, to
+  configure the runtime path, you can use a key named `runtimePath`. There's no such property in the application class, but
+  since the class has a corresponding setter named `setRuntimePath`, `runtimePath` becomes configurable.
+  The ability to configure properties via setters is available to any class that extends from [[yii\base\Object]], which is nearly every class in the Yii framework.
 
 Configuring application components
 ----------------------------------
 
-Majority of Yii functionality are application components. These are attached to application via its `components` property:
+The majority of the Yii functionality comes from application components. These components are attached to the application instance via the instance's `components` property:
 
 ```php
 <?php
@@ -81,23 +88,21 @@ return [
 ];
 ```
 
-In the above four components are configured: `cache`, `user`, `errorHandler`, `log`. Each entry key is a component ID
-and the value is the configuration array. ID is used to access the component like `\Yii::$app->myComponent`.
-Configuration array has one special key named `class` that sets the component class. The rest of the keys and values are used
-to configure component properties in the same way as top-level keys are used to configure application properties.
+In the above code, four components are configured: `cache`, `user`, `errorHandler`, `log`. Each entry's key is a component ID. The values are subarrays used to configure that component. The component ID is also used to access the component anywhere within the application, using code like `\Yii::$app->myComponent`.
+
+The configuration array has one special key named `class` that identifies the component's base class. The rest of the keys and values are used
+to configure component properties in the same way as top-level keys are used to configure the application's properties.
 
-Each application has a predefined set of components. In case of configuring one of these, the `class` key is omitted and
-application default class is used instead. You can check `registerCoreComponents()` method of the application you are using
+Each application has a predefined set of components. To configure one of these, the `class` key can be omitted to use the default Yii class for that component. You can check the `registerCoreComponents()` method of the application you are using
 to get a list of component IDs and corresponding classes.
 
-Note that Yii is smart enough to configure the component when it's actually used i.e. if `cache` is never used it will
-not be instantiated and configured at all.
+Note that Yii is smart enough to only configure the component when it's actually being used: for example, if you configure the `cache` component in your configuration file but never use the `cache` component in your code, no instance of that component will be created and no time is wasted configuring it.
 
 Setting component defaults classwide
 ------------------------------------
 
-For each component you can specifiy classwide defaults. For example, if we want to change class for all `LinkPager`
-widgets without specifying it over and over again when widget is called we can do it like the following:
+For each component you can specifiy classwide defaults. For example, if you want to change the class used for all `LinkPager`
+widgets without specifying the class for every widget usage, you can do the following:
 
 ```php
 \Yii::$objectConfig = [
@@ -109,5 +114,5 @@ widgets without specifying it over and over again when widget is called we can d
 ];
 ```
 
-The code above should be executed once before `LinkPager` widget is used. It can be done in `index.php`, application
-config or anywhere else.
\ No newline at end of file
+The code above should be executed once before `LinkPager` widget is used. It can be done in `index.php`, the application
+configuration file, or anywhere else.
\ No newline at end of file