diff --git a/doc/sphinx/book/administration.rst b/doc/sphinx/book/administration.rst
index b48aed7b9174d1de0658b0778e1365747f4fa159..67bab6bac14621e8c7644c13006e872c2a3666fb 100644
--- a/doc/sphinx/book/administration.rst
+++ b/doc/sphinx/book/administration.rst
@@ -58,7 +58,7 @@ A Tarantool server's process title has these components:
   - "running" (ordinary node "ready to accept requests"),
   - "loading" (ordinary node recovering from old snap and wal files),
   - "orphan" (not in a cluster),
-  - "hot_standby" (see section :ref:`local hot standby <book-cfg-local_hot_standy>`), or
+  - "hot_standby" (see section :ref:`local hot standby <book_cfg_local_hot_standby>`), or
   - "dumper" + process-id (saving a snapshot).
 * **custom_proc_title** is taken from the :confval:`custom_proc_title` configuration parameter, if one was specified.
 
@@ -192,7 +192,7 @@ declaration does not have an ``end`` keyword). Example:
     console.delimiter('')!
 
 For a condensed Backus-Naur Form [BNF] description of the suggested form
-of client requests, see http://tarantool.org/doc/box-protocol.html.
+of client requests, see http://tarantool.org/doc/dev_guide/box-protocol.html.
 
 In *interactive* mode, one types requests and gets results. Typically the
 requests are typed in by the user following prompts. Here is an example of
@@ -257,12 +257,15 @@ and checking status.
             configuring for tarantoolctl
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The :program:`tarantoolctl` script will read a configuration file named
-:file:`~/.config/tarantool/default`, or
-:file:`/etc/sysconfig/tarantool`, or :file:`/etc/default/tarantool`. Most
+"The :codenormal:`tarantoolctl` script will look for a configuration file
+in the current directory (:codenormal:`$PWD/.tarantoolctl`).
+If that fails, it looks in the current user's home directory (:codenormal:`$HOME/.config/tarantool/tarantool`).
+If that fails, it looks in the SYSCONFDIR directory (usually :codenormal:`/etc/sysconfig/tarantool`
+but it may be different on some platforms).
+Most
 of the settings are similar to the settings used by ``box.cfg{...};``
 however, tarantoolctl adjusts some of them by adding an application name.
-A copy of :file:`/etc/sysconfig/tarantool`, with defaults for all settings,
+A copy of :file:`usr/local/etc/default/tarantool`, with defaults for all settings,
 would look like this:
 
 .. code-block:: lua
@@ -397,8 +400,8 @@ Create a directory named /tarantool_test:
 
     $ sudo mkdir /tarantool_test
 
-Edit /etc/sysconfig/tarantool. It might be necessary to
-say :codenormal:`sudo mkdir /etc/sysconfig` first. Let the new file contents be:
+Edit /usr/local/etc/default/tarantool. It might be necessary to
+say :codenormal:`sudo mkdir /usr/local/etc/default` first. Let the new file contents be:
 
 .. code-block:: lua
 
@@ -469,7 +472,7 @@ Stop. The only clean way to stop my_app is with tarantoolctl, thus:
 
     $ sudo tarantoolctl stop my_app
 
-Clean up. Restore the original contents of :file:`/etc/sysconfig/tarantool`, and ...
+Clean up. Restore the original contents of :file:`/usr/local/etc/default/tarantool`, and ...
 
 .. code-block:: console
 
@@ -967,8 +970,8 @@ before reading this section.
 The modules that come from Tarantool developers and community contributors are
 on rocks.tarantool.org_. Some of them
 -- :ref:`expirationd <package-expirationd>`,
-:ref:`mysql <d-plugins-mysql-example>`,
-:ref:`postgresql <d-plugins-postgresql-example>`,
+:ref:`mysql <d_plugins-mysql-example>`,
+:ref:`postgresql <d_plugins-postgresql-example>`,
 :ref:`shard <package-shard>` --
 are discussed elsewhere in this manual.
 
@@ -1128,10 +1131,99 @@ may be unaware of them.
 
 To see a sample Lua + C module, go to http_ on github.com/tarantool.
 
+=====================================================================
+       Backups
+=====================================================================
+
+The exact procedure for backing up a database depends on:
+how up-to-date the database must be,
+how frequently backups must be taken,
+whether it is okay to disrupt other users,
+and whether the procedure should be optimized for size (saving disk space) or for speed (saving time).
+So there is a spectrum of possible policies, ranging from cold-and-simple to hot-and-difficult.
+
+**Cold Backup**
+
+In essence:
+The last snapshot file is a backup of the entire database;
+and the WAL files that are made after the last snapshot are incremental backups.
+Therefore taking a backup is a matter of copying the snapshot and WAL files. |br|
+(1) Prevent all users from writing to the database.This can be done by
+shutting down the server, or by saying
+:codenormal:`box.cfg{read_only=true}` and then ensuring that all earlier
+writes are complete (fsync can be used for this purpose). |br|
+(2) If this is a backup of the whole database, say
+:codenormal:`box.snapshot()`. |br|
+(3) Use tar to make a (possibly compressed) copy of the
+latest .snap and .xlog files on the :ref:`snap_dir <box-cfg-snap-dir>` and :ref:`wal_dir <box-cfg-wal-dir>`
+directories. |br|
+(4) If there is a security policy, encrypt the tar file. |br|
+(5) Copy the tar file to a safe place. |br|
+... Later, restoring the database is a matter of taking the
+tar file and putting its contents back in the snap_dir and wal_dir
+directories.
+
+**Continuous remote backup**
+
+In essence: :ref:`replication <box-replication>`
+is useful for backup as well as for load balancing.
+Therefore taking a backup is a matter of ensuring that any given
+replica is up to date, and doing a cold backup on it.
+Since all the other replicas continue to operate, this is not a
+cold backup from the end user's point of view. This could be
+done on a regular basis, with a cron job or with a Tarantool fiber.
+
+**Hot backup**
+
+In essence:
+The logged changes done since the last cold backup must be
+secured, while the system is running.
+
+For this purpose one needs a "file copy" utility that will
+do the copying remotely and continuously, copying only the
+parts of a file that are changing. One such utility is
+rsync_.
+
+Alternatively, one needs an ordinary file copy utility,
+but there should be frequent production of new snapshot files or
+new WAL files as
+changes occur, so that only the new files need to be copied.
+One such utility is
+`tarantar <https://github.com/tarantool/tarantool/wiki/Tarantar>`_
+but it will require some modifications to work with the latest
+Tarantool version. Setting the :ref:`rows_per_wal <box-cfg-rows-per-wal>` configuration
+parameter is another option.
+
+Note re storage engines:
+sophia databases require additional steps, see the
+explanation in
+`the sophia manual <http://sophia.systems/v2.1/sophia_v21_manual.pdf>`_.
+
+=====================================================================
+       Upgrades
+=====================================================================
+
+This information applies for users who created databases with older
+versions of the Tarantool server, and have now installed a newer version.
+The request to make in this case is: :codenormal:`box.schema.upgrade()`.
+
+For example, here is what happens when one runs :codenormal:`box.schema.upgrade()`
+with a database that was created in early 2015. Only a small part of the output is shown. |br|
+:codenormal:`tarantool>` :codebold:`box.schema.upgrade()` |br|
+:codenormal:`alter index primary on _space set options to {"unique":true}, parts to [[0,"num"]]` |br|
+:codenormal:`alter space _schema set options to {}` |br|
+:codenormal:`create view _vindex...` |br|
+:codenormal:`grant read access to 'public' role for _vindex view` |br|
+:codenormal:`set schema version to 1.6.8` |br|
+:codenormal:`---` |br|
+:codenormal:`...` |br|
+
 .. _Lua-Modules-Tutorial: http://lua-users.org/wiki/ModulesTutorial
 .. _LuaRocks: http://rocks.tarantool.org
 .. _LuaRocks-Quick-Start-Guide: http://luarocks.org/#quick-start
 .. _rocks.tarantool.org: http://rocks.tarantool.org
 .. _rocks: github.com/tarantool/rocks <https://github.com/tarantool/rocks
 .. _CMake-scripts: https://github.com/tarantool/http
-.. _http: https://github.com/tarantool/http
\ No newline at end of file
+.. _http: https://github.com/tarantool/http
+.. _rsync: https://en.wikipedia.org/wiki/rsync
+
diff --git a/doc/sphinx/book/app/a-errcodes.rst b/doc/sphinx/book/app/a_errcodes.rst
similarity index 100%
rename from doc/sphinx/book/app/a-errcodes.rst
rename to doc/sphinx/book/app/a_errcodes.rst
diff --git a/doc/sphinx/book/app/b-internals.rst b/doc/sphinx/book/app/b_internals.rst
similarity index 98%
rename from doc/sphinx/book/app/b-internals.rst
rename to doc/sphinx/book/app/b_internals.rst
index c104a76d03eec6ea35b890fe25f64fe7c95eacb2..3ca52472fcc1152fe24ef9016f2b554f434a8112 100644
--- a/doc/sphinx/book/app/b-internals.rst
+++ b/doc/sphinx/book/app/b_internals.rst
@@ -22,7 +22,7 @@ file is based on the log sequence number of the first record in the file, plus
 an extension ``.xlog``.
 
 Apart from a log sequence number and the data change request (its format is the
-same as in the binary protocol and is described in `doc/box-protocol.html`_),
+same as in the binary protocol and is described in `doc/dev_guide/box-protocol.html`_),
 each WAL record contains a header, some metadata, and then the data formatted
 according to `msgpack`_ rules. For example this is what the WAL file looks like
 after the first INSERT request ("s:insert({1})") for the introductory sandbox
@@ -267,4 +267,4 @@ The following temporary limitations apply for version 1.6:
   limit is reached, users may have to reorganize the _cluster space manually.
 
 .. _MsgPack: https://en.wikipedia.org/wiki/MessagePack
-.. _doc/box-protocol.html: http://tarantool.org/doc/box-protocol.html
+.. _doc/dev_guide/box-protocol.html: http://tarantool.org/doc/dev_guide/box-protocol.html
diff --git a/doc/sphinx/book/app/c-lua_tutorial.rst b/doc/sphinx/book/app/c_lua_tutorial.rst
similarity index 100%
rename from doc/sphinx/book/app/c-lua_tutorial.rst
rename to doc/sphinx/book/app/c_lua_tutorial.rst
diff --git a/doc/sphinx/book/app/d-plugins.rst b/doc/sphinx/book/app/d_plugins.rst
similarity index 99%
rename from doc/sphinx/book/app/d-plugins.rst
rename to doc/sphinx/book/app/d_plugins.rst
index 6f8b04a084a3e0f4716c9d333f62e65f949fa3a4..9e3a9bc4157f53dfb4c5f9287128990514fef9d7 100644
--- a/doc/sphinx/book/app/d-plugins.rst
+++ b/doc/sphinx/book/app/d_plugins.rst
@@ -40,7 +40,7 @@ From a user's point of view the MySQL and PostgreSQL rocks are
 very similar, so the following sections -- "MySQL Example" and
 "PostgreSQL Example" -- contain some redundancy.
 
-.. _d-plugins-mysql-example:
+.. _d_plugins-mysql-example:
 
 ===========================================================
                   MySQL Example
@@ -388,7 +388,7 @@ Lua tutorial earlier in the Tarantool user manual.
 Observe the result. It contains "MySQL row". So this is the row that was inserted
 into the MySQL database. And now it's been selected with the Tarantool client.
 
-.. _d-plugins-postgresql-example:
+.. _d_plugins-postgresql-example:
 
 ===========================================================
                   PostgreSQL Example
diff --git a/doc/sphinx/book/app/e-sophia/i1.png b/doc/sphinx/book/app/e_sophia/i1.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i1.png
rename to doc/sphinx/book/app/e_sophia/i1.png
diff --git a/doc/sphinx/book/app/e-sophia/i10.png b/doc/sphinx/book/app/e_sophia/i10.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i10.png
rename to doc/sphinx/book/app/e_sophia/i10.png
diff --git a/doc/sphinx/book/app/e-sophia/i12.png b/doc/sphinx/book/app/e_sophia/i12.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i12.png
rename to doc/sphinx/book/app/e_sophia/i12.png
diff --git a/doc/sphinx/book/app/e-sophia/i13.png b/doc/sphinx/book/app/e_sophia/i13.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i13.png
rename to doc/sphinx/book/app/e_sophia/i13.png
diff --git a/doc/sphinx/book/app/e-sophia/i14.png b/doc/sphinx/book/app/e_sophia/i14.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i14.png
rename to doc/sphinx/book/app/e_sophia/i14.png
diff --git a/doc/sphinx/book/app/e-sophia/i2.png b/doc/sphinx/book/app/e_sophia/i2.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i2.png
rename to doc/sphinx/book/app/e_sophia/i2.png
diff --git a/doc/sphinx/book/app/e-sophia/i3.png b/doc/sphinx/book/app/e_sophia/i3.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i3.png
rename to doc/sphinx/book/app/e_sophia/i3.png
diff --git a/doc/sphinx/book/app/e-sophia/i4.png b/doc/sphinx/book/app/e_sophia/i4.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i4.png
rename to doc/sphinx/book/app/e_sophia/i4.png
diff --git a/doc/sphinx/book/app/e-sophia/i5.png b/doc/sphinx/book/app/e_sophia/i5.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i5.png
rename to doc/sphinx/book/app/e_sophia/i5.png
diff --git a/doc/sphinx/book/app/e-sophia/i6.png b/doc/sphinx/book/app/e_sophia/i6.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i6.png
rename to doc/sphinx/book/app/e_sophia/i6.png
diff --git a/doc/sphinx/book/app/e-sophia/i7.png b/doc/sphinx/book/app/e_sophia/i7.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i7.png
rename to doc/sphinx/book/app/e_sophia/i7.png
diff --git a/doc/sphinx/book/app/e-sophia/i8.png b/doc/sphinx/book/app/e_sophia/i8.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i8.png
rename to doc/sphinx/book/app/e_sophia/i8.png
diff --git a/doc/sphinx/book/app/e-sophia/i9.png b/doc/sphinx/book/app/e_sophia/i9.png
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/i9.png
rename to doc/sphinx/book/app/e_sophia/i9.png
diff --git a/doc/sphinx/book/app/e-sophia/index.rst b/doc/sphinx/book/app/e_sophia/index.rst
similarity index 100%
rename from doc/sphinx/book/app/e-sophia/index.rst
rename to doc/sphinx/book/app/e_sophia/index.rst
diff --git a/doc/sphinx/book/box/admin.rst b/doc/sphinx/book/box/admin.rst
index f3e9649f8d15a5bd5c12456e394a67a90e22da94..c2accd3f1c6e97fa1ecd09991fa3175b4b860d7f 100644
--- a/doc/sphinx/book/box/admin.rst
+++ b/doc/sphinx/book/box/admin.rst
@@ -34,7 +34,7 @@ A reference description also follows below:
 
     Although box.snapshot() does not cause a fork, there is a separate fiber
     which may produce snapshots at regular intervals -- see the discussion of
-    the :ref:`snapshot daemon <book-cfg-snapshot_daemon>`.
+    the :ref:`snapshot daemon <book_cfg_snapshot_daemon>`.
 
     **Example:**
 
diff --git a/doc/sphinx/book/box/box_index.rst b/doc/sphinx/book/box/box_index.rst
index d010e05f88a908577269768b28b4ca7759eeb473..8a695caa3994a6ba2b6130a5bad73fb7f5a423a3 100644
--- a/doc/sphinx/book/box/box_index.rst
+++ b/doc/sphinx/book/box/box_index.rst
@@ -1,3 +1,5 @@
+.. _box_index:
+
 -------------------------------------------------------------------------------
                             Package `box.index`
 -------------------------------------------------------------------------------
diff --git a/doc/sphinx/book/box/box_space.rst b/doc/sphinx/book/box/box_space.rst
index 88291358773721942726f4b0c9a40146160aa1c0..9dc2b7df86af542e26f15fd22c0d5901b02f3252 100644
--- a/doc/sphinx/book/box/box_space.rst
+++ b/doc/sphinx/book/box/box_space.rst
@@ -63,13 +63,13 @@ A list of all ``box.space`` functions follows, then comes a list of all
         | :func:`space_object:truncate()       | Delete all tuples               |
         | <space_object.truncate>`             |                                 |
         +--------------------------------------+---------------------------------+
-        | :func:`space_object:inc{}            | Increment a tuple's counter     |
+        | :func:`space_object:inc()            | Increment a tuple's counter     |
         | <space_object.inc>`                  |                                 |
         +--------------------------------------+---------------------------------+
-        | :func:`space_object:dec{}            | Decrement a tuple's counter     |
+        | :func:`space_object:dec()            | Decrement a tuple's counter     |
         | <space_object.dec>`                  |                                 |
         +--------------------------------------+---------------------------------+
-        | :func:`space_object:auto_increment{} | Generate key + Insert a tuple   |
+        | :func:`space_object:auto_increment() | Generate key + Insert a tuple   |
         | <space_object.auto_increment>`       |                                 |
         +--------------------------------------+---------------------------------+
         | :func:`space_object:pairs()          | Prepare for iterating           |
@@ -555,7 +555,7 @@ A list of all ``box.space`` functions follows, then comes a list of all
 
         Parameters: :samp:`{space_object}` = an :ref:`object reference <object-reference>`;
         :samp:`{tuple_value}` (type = Lua table or scalar) =
-        field values, must be passed as a Lua table if tuple_value contains more than one field;
+        field values, must be passed as a Lua table;
         :codeitalic:`{operator, field_no, value}` (type = Lua table) = a group of arguments for each
         operation, indicating what the operation is, what field the
         operation will apply to, and what value will be applied. The
@@ -666,8 +666,8 @@ A list of all ``box.space`` functions follows, then comes a list of all
 
     .. data:: index
 
-        A container for all defined indexes. An index is a Lua object of type
-        :mod:`box.index` with methods to search tuples and iterate over them in
+        A container for all defined indexes. There is a Lua object of type
+        :ref:`box.index <box_index>` with methods to search tuples and iterate over them in
         predefined order.
 
         Parameters: :samp:`{space_object}` = an :ref:`object reference <object-reference>`.
diff --git a/doc/sphinx/book/box/index.rst b/doc/sphinx/book/box/index.rst
index fc7f697a49c39056b91dbe6a37c155150ea24154..431d45f5216ac71d8103b3b412cb24b909c2eae3 100644
--- a/doc/sphinx/book/box/index.rst
+++ b/doc/sphinx/book/box/index.rst
@@ -232,7 +232,7 @@ Six examples of basic operations:
     tarantool> box.space.tester:update({999}, {{'=', 2, 'Tarantino'}})
 
     -- Upsert the tuple, changing field field[2] again.
-    -- The syntax of upsert is the same as the syntax of update,
+    -- The syntax of upsert is similar to the syntax of update,
     -- but the return value will be different.
     tarantool> box.space.tester:upsert({999}, {{'=', 2, 'Tarantism'}})
 
@@ -342,9 +342,9 @@ Since not all Tarantool operations can be expressed with the data-manipulation
 functions, or with Lua, to gain complete access to data manipulation
 functionality one must use a :ref:`Perl, PHP, Python or other programming language connector <box-connectors>`.
 The client/server protocol is open and documented: an annotated BNF can be found
-in the source tree, file `doc/box-protocol.html`_.
+in the source tree, file `doc/dev_guide/box-protocol.html`_.
 
-.. _doc/box-protocol.html: http://tarantool.org/doc/box-protocol.html
+.. _doc/dev_guide/box-protocol.html: http://tarantool.org/doc/dev_guide/box-protocol.html
 
 --------------
 Saving To Disk
@@ -360,7 +360,7 @@ is lost when the power goes off, Tarantool recovers it automatically
 when it starts up again, by reading the WAL files and redoing the requests
 (this is called the "recovery process").
 Users can change the timing of the WAL writer,
-or turn it off, by setting :confval:`wal_mode <wal_mode>`.
+or turn it off, by setting :ref:`wal_mode <confval-wal-mode>`.
 
 Tarantool also maintains a set of snapshot files.
 A snapshot file is an on-disk copy of the entire data set for a given moment.
@@ -625,8 +625,8 @@ introspection (inspecting contents of spaces, accessing server configuration).
     |                   | important than the others.                          |
     +-------------------+-----------------------------------------------------+
     | WAL settings      | The important setting for the write-ahead log is    |
-    |                   | :ref:`wal_mode <wal_mode>`. If the setting causes   |
-    |                   | no writing or                                       |
+    |                   | :ref:`wal_mode <confval-wal-mode>`. If the setting  |
+    |                   | causes no writing or                                |
     |                   | delayed writing, this factor is unimportant. If the |
     |                   | setting causes every data-change request to wait    |
     |                   | for writing to finish on a slow device, this factor |
diff --git a/doc/sphinx/book/configuration/cfg-basic.rst b/doc/sphinx/book/configuration/cfg_basic.rst
similarity index 98%
rename from doc/sphinx/book/configuration/cfg-basic.rst
rename to doc/sphinx/book/configuration/cfg_basic.rst
index 933f3197e43aab43d6d97a3e5a10e793787c8497..d4b6257b55e79e06842970e186ced88ea37da7d2 100644
--- a/doc/sphinx/book/configuration/cfg-basic.rst
+++ b/doc/sphinx/book/configuration/cfg_basic.rst
@@ -50,7 +50,7 @@
     administrative host and port).
 
     A typical value is 3301. The listen parameter may also be set for
-    :ref:`local hot standby <book-cfg-local_hot_standy>`.
+    :ref:`local hot standby <book_cfg_local_hot_standby>`.
 
     NOTE: A replica also binds to this port, and accepts connections, but these
     connections can only serve reads until the replica becomes a master.
diff --git a/doc/sphinx/book/configuration/cfg-binary_logging_snapshots.rst b/doc/sphinx/book/configuration/cfg_binary_logging_snapshots.rst
similarity index 98%
rename from doc/sphinx/book/configuration/cfg-binary_logging_snapshots.rst
rename to doc/sphinx/book/configuration/cfg_binary_logging_snapshots.rst
index 74c7d1f6ff0454eb6b9a791da75e447ef764ac0e..d77e49d5d04b68616c7d78b9cd91e2cbc7495c99 100644
--- a/doc/sphinx/book/configuration/cfg-binary_logging_snapshots.rst
+++ b/doc/sphinx/book/configuration/cfg_binary_logging_snapshots.rst
@@ -23,6 +23,8 @@
     Default: true |br|
     Dynamic: yes |br|
 
+.. _box-cfg-rows-per-wal:
+
 .. confval:: rows_per_wal
 
     How many log records to store in a single write-ahead log file.
diff --git a/doc/sphinx/book/configuration/cfg-logging.rst b/doc/sphinx/book/configuration/cfg_logging.rst
similarity index 100%
rename from doc/sphinx/book/configuration/cfg-logging.rst
rename to doc/sphinx/book/configuration/cfg_logging.rst
diff --git a/doc/sphinx/book/configuration/cfg-networking.rst b/doc/sphinx/book/configuration/cfg_networking.rst
similarity index 100%
rename from doc/sphinx/book/configuration/cfg-networking.rst
rename to doc/sphinx/book/configuration/cfg_networking.rst
diff --git a/doc/sphinx/book/configuration/cfg-replication.rst b/doc/sphinx/book/configuration/cfg_replication.rst
similarity index 100%
rename from doc/sphinx/book/configuration/cfg-replication.rst
rename to doc/sphinx/book/configuration/cfg_replication.rst
diff --git a/doc/sphinx/book/configuration/cfg-snapshot_daemon.rst b/doc/sphinx/book/configuration/cfg_snapshot_daemon.rst
similarity index 100%
rename from doc/sphinx/book/configuration/cfg-snapshot_daemon.rst
rename to doc/sphinx/book/configuration/cfg_snapshot_daemon.rst
diff --git a/doc/sphinx/book/configuration/cfg-storage.rst b/doc/sphinx/book/configuration/cfg_storage.rst
similarity index 96%
rename from doc/sphinx/book/configuration/cfg-storage.rst
rename to doc/sphinx/book/configuration/cfg_storage.rst
index 3951943ebf31a0e3e33de8ae3c2efd020fecf1e7..7a3c815088ef904d4472eb28f818271d7327883a 100644
--- a/doc/sphinx/book/configuration/cfg-storage.rst
+++ b/doc/sphinx/book/configuration/cfg_storage.rst
@@ -34,7 +34,7 @@
 .. confval:: slab_alloc_minimal
 
     Size of the smallest allocation unit. It can be decreased if most
-    of the tuples are very small.
+    of the tuples are very small. The value must be between 8 and 1048280.
 
     Type: integer |br|
     Default: 16 |br|
diff --git a/doc/sphinx/book/configuration/index.rst b/doc/sphinx/book/configuration/index.rst
index f0f6b2c78fa71d06ac23cc29dc587a98fbeb605e..0035fa03467be78b43ab43039dcc688cb5089997 100644
--- a/doc/sphinx/book/configuration/index.rst
+++ b/doc/sphinx/book/configuration/index.rst
@@ -193,47 +193,47 @@ for binary logging and snapshots, for replication, for networking, and for loggi
                  Basic parameters
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-basic.rst
+.. include:: cfg_basic.rst
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  Configuring the storage
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-storage.rst
+.. include:: cfg_storage.rst
 
-.. _book-cfg-snapshot_daemon:
+.. _book_cfg_snapshot_daemon:
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Snapshot daemon
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-snapshot_daemon.rst
+.. include:: cfg_snapshot_daemon.rst
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             Binary logging and snapshots
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-binary_logging_snapshots.rst
+.. include:: cfg_binary_logging_snapshots.rst
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     Replication
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-replication.rst
+.. include:: cfg_replication.rst
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        Networking
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-networking.rst
+.. include:: cfg_networking.rst
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          Logging
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. include:: cfg-logging.rst
+.. include:: cfg_logging.rst
 
-.. _book-cfg-local_hot_standy:
+.. _book_cfg_local_hot_standby:
 
 =====================================================================
                          Local hot standby
diff --git a/doc/sphinx/book/index.rst b/doc/sphinx/book/index.rst
index 063968476134b60eb7c4262d6e9946b9fe2fed4f..2f49d3a0ecd247c8ef69da7128bca3e0ca6dc740 100644
--- a/doc/sphinx/book/index.rst
+++ b/doc/sphinx/book/index.rst
@@ -14,8 +14,8 @@
     configuration/index
     administration
     connectors/index
-    app/a-errcodes
-    app/b-internals
-    app/c-lua_tutorial
-    app/d-plugins
-    app/e-sophia/index
+    app/a_errcodes
+    app/b_internals
+    app/c_lua_tutorial
+    app/d_plugins
+    app/e_sophia/index
diff --git a/doc/sphinx/book/replication/1-1.rst b/doc/sphinx/book/replication/1_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/1-1.rst
rename to doc/sphinx/book/replication/1_1.rst
diff --git a/doc/sphinx/book/replication/1-2.rst b/doc/sphinx/book/replication/1_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/1-2.rst
rename to doc/sphinx/book/replication/1_2.rst
diff --git a/doc/sphinx/book/replication/2-1.rst b/doc/sphinx/book/replication/2_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/2-1.rst
rename to doc/sphinx/book/replication/2_1.rst
diff --git a/doc/sphinx/book/replication/2-2.rst b/doc/sphinx/book/replication/2_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/2-2.rst
rename to doc/sphinx/book/replication/2_2.rst
diff --git a/doc/sphinx/book/replication/3-1.rst b/doc/sphinx/book/replication/3_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/3-1.rst
rename to doc/sphinx/book/replication/3_1.rst
diff --git a/doc/sphinx/book/replication/3-2.rst b/doc/sphinx/book/replication/3_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/3-2.rst
rename to doc/sphinx/book/replication/3_2.rst
diff --git a/doc/sphinx/book/replication/4-1.rst b/doc/sphinx/book/replication/4_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/4-1.rst
rename to doc/sphinx/book/replication/4_1.rst
diff --git a/doc/sphinx/book/replication/4-2.rst b/doc/sphinx/book/replication/4_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/4-2.rst
rename to doc/sphinx/book/replication/4_2.rst
diff --git a/doc/sphinx/book/replication/5-1.rst b/doc/sphinx/book/replication/5_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/5-1.rst
rename to doc/sphinx/book/replication/5_1.rst
diff --git a/doc/sphinx/book/replication/5-2.rst b/doc/sphinx/book/replication/5_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/5-2.rst
rename to doc/sphinx/book/replication/5_2.rst
diff --git a/doc/sphinx/book/replication/6-1.rst b/doc/sphinx/book/replication/6_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/6-1.rst
rename to doc/sphinx/book/replication/6_1.rst
diff --git a/doc/sphinx/book/replication/6-2.rst b/doc/sphinx/book/replication/6_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/6-2.rst
rename to doc/sphinx/book/replication/6_2.rst
diff --git a/doc/sphinx/book/replication/7-1.rst b/doc/sphinx/book/replication/7_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/7-1.rst
rename to doc/sphinx/book/replication/7_1.rst
diff --git a/doc/sphinx/book/replication/7-2.rst b/doc/sphinx/book/replication/7_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/7-2.rst
rename to doc/sphinx/book/replication/7_2.rst
diff --git a/doc/sphinx/book/replication/8-1.rst b/doc/sphinx/book/replication/8_1.rst
similarity index 100%
rename from doc/sphinx/book/replication/8-1.rst
rename to doc/sphinx/book/replication/8_1.rst
diff --git a/doc/sphinx/book/replication/8-2.rst b/doc/sphinx/book/replication/8_2.rst
similarity index 100%
rename from doc/sphinx/book/replication/8-2.rst
rename to doc/sphinx/book/replication/8_2.rst
diff --git a/doc/sphinx/book/replication/index.rst b/doc/sphinx/book/replication/index.rst
index 810e7bbbe9272491a753072e7d1df477c7c3c98d..77ee692033fb15f355c5d21aa25eda8bfa2e346c 100644
--- a/doc/sphinx/book/replication/index.rst
+++ b/doc/sphinx/book/replication/index.rst
@@ -71,7 +71,7 @@ a master and vice versa with the help of the :func:`box.cfg` statement.
 
 NOTE:
 The replica does not inherit the master's configuration parameters, such
-as the ones that cause the :ref:`snapshot daemon <book-cfg-snapshot_daemon>` to run on the master.
+as the ones that cause the :ref:`snapshot daemon <book_cfg_snapshot_daemon>` to run on the master.
 To get the same behavior, one would have to set the relevant parameters explicitly
 so that they are the same on both master and replica.
 
@@ -408,12 +408,12 @@ screen looks like this: (except that UUID values are always different):
         .. container:: b-documentation_tab
             :name: terminal-2-1
 
-            .. include:: 1-1.rst
+            .. include:: 1_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-2-2
 
-            .. include:: 1-2.rst
+            .. include:: 1_2.rst
 
     .. raw:: html
 
@@ -489,12 +489,12 @@ on Terminal #1, because both servers are in the same cluster.
         .. container:: b-documentation_tab
             :name: terminal-3-1
 
-            .. include:: 2-1.rst
+            .. include:: 2_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-3-2
 
-            .. include:: 2-2.rst
+            .. include:: 2_2.rst
 
     .. raw:: html
 
@@ -558,12 +558,12 @@ Now the screen looks like this:
         .. container:: b-documentation_tab
             :name: terminal-4-1
 
-            .. include:: 3-1.rst
+            .. include:: 3_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-4-2
 
-            .. include:: 3-2.rst
+            .. include:: 3_2.rst
 
     .. raw:: html
 
@@ -630,12 +630,12 @@ Now the screen looks like this (remember to click on the "Terminal #2" tab when
         .. container:: b-documentation_tab
             :name: terminal-5-1
 
-            .. include:: 4-1.rst
+            .. include:: 4_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-5-2
 
-            .. include:: 4-2.rst
+            .. include:: 4_2.rst
 
     .. raw:: html
 
@@ -704,12 +704,12 @@ similar sizes because they both contain the same tuples.
         .. container:: b-documentation_tab
             :name: terminal-6-1
 
-            .. include:: 5-1.rst
+            .. include:: 5_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-6-2
 
-            .. include:: 5-2.rst
+            .. include:: 5_2.rst
 
     .. raw:: html
 
@@ -774,12 +774,12 @@ messages):
         .. container:: b-documentation_tab
             :name: terminal-7-1
 
-            .. include:: 6-1.rst
+            .. include:: 6_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-7-2
 
-            .. include:: 6-2.rst
+            .. include:: 6_2.rst
 
     .. raw:: html
 
@@ -845,12 +845,12 @@ Now the screen looks like this:
         .. container:: b-documentation_tab
             :name: terminal-8-1
 
-            .. include:: 7-1.rst
+            .. include:: 7_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-8-2
 
-            .. include:: 7-2.rst
+            .. include:: 7_2.rst
 
     .. raw:: html
 
@@ -919,12 +919,12 @@ The screen now looks like this:
         .. container:: b-documentation_tab
             :name: terminal-9-1
 
-            .. include:: 8-1.rst
+            .. include:: 8_1.rst
 
         .. container:: b-documentation_tab
             :name: terminal-9-2
 
-            .. include:: 8-2.rst
+            .. include:: 8_2.rst
 
     .. raw:: html
 
diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py
index eabd0ece9b483556537a5f1b4e273affd7aff598..1da18453482e42400487c4da89c3718ed7999b74 100644
--- a/doc/sphinx/conf.py
+++ b/doc/sphinx/conf.py
@@ -38,9 +38,9 @@ version = '.'.join(release.split('.')[0:2])
 exclude_patterns = [
     '_build',
     'book/connectors/__*',
-    'book/replication/*-1.rst',
-    'book/replication/*-2.rst',
-    'book/configuration/cfg-*'
+    'book/replication/*_1.rst',
+    'book/replication/*_2.rst',
+    'book/configuration/cfg_*'
 ]
 
 pygments_style = 'sphinx'
diff --git a/doc/sphinx/dev_guide/box-protocol.rst b/doc/sphinx/dev_guide/box_protocol.rst
similarity index 100%
rename from doc/sphinx/dev_guide/box-protocol.rst
rename to doc/sphinx/dev_guide/box_protocol.rst
diff --git a/doc/sphinx/dev_guide/building_from_source.rst b/doc/sphinx/dev_guide/building_from_source.rst
index 3f3df8b2993c20f97701169b163ad5717044261e..129482cc73198d212b0538086fdf437062eac08b 100644
--- a/doc/sphinx/dev_guide/building_from_source.rst
+++ b/doc/sphinx/dev_guide/building_from_source.rst
@@ -149,6 +149,9 @@ explain what the steps are, then on the Internet you can look at some example sc
    the reasonable option
    is ``-DENABLE_DOC=false`` or just don't use the ``-DENABLE_DOC`` clause at all.
 
+   The option for hinting that the result will be distributed is :code:`-DENABLE_DIST=ON`.
+   If this option is on, then later ``make install`` will install tarantoolctl files in addition to tarantool files.
+
 6. Use make to complete the build.
 
    .. code-block:: bash
@@ -205,7 +208,6 @@ explain what the steps are, then on the Internet you can look at some example sc
 This is the end of the list of steps to take for source downloads.
 
 For your added convenience, github.com has README files with example scripts: |br|
-`README.CentOS <https://github.com/tarantool/tarantool/blob/1.6/README.CentOS>`_ for CentOS 5.8, |br|
 `README.FreeBSD <https://github.com/tarantool/tarantool/blob/1.6/README.FreeBSD>`_ for FreeBSD 10.1, |br|
 `README.MacOSX <https://github.com/tarantool/tarantool/blob/1.6/README.MacOSX>`_ for Mac OS X `El Capitan`, |br|
 `README.md <https://github.com/tarantool/tarantool/blob/1.6/README.md>`_ for generic GNU/Linux. |br|
diff --git a/doc/sphinx/dev_guide/index.rst b/doc/sphinx/dev_guide/index.rst
index b9acb181c30ce388c69c78b418f440e0b776100b..0479768e961e691600d3aef6ed24d80d572711e8 100644
--- a/doc/sphinx/dev_guide/index.rst
+++ b/doc/sphinx/dev_guide/index.rst
@@ -10,7 +10,7 @@
     building_documentation
     developer_guidelines
     documentation_guidelines
-    box-protocol
+    box_protocol
     c_style_guide
     python_style_guide
     release_management
diff --git a/doc/sphinx/reference/fiber-ipc.rst b/doc/sphinx/reference/fiber_ipc.rst
similarity index 100%
rename from doc/sphinx/reference/fiber-ipc.rst
rename to doc/sphinx/reference/fiber_ipc.rst
diff --git a/doc/sphinx/reference/index.rst b/doc/sphinx/reference/index.rst
index 995740e7061ea7f662f7f2c0fae08174552a15f8..3fd5cab0b7e37ced314a6a383406c40bc739a4a3 100644
--- a/doc/sphinx/reference/index.rst
+++ b/doc/sphinx/reference/index.rst
@@ -16,7 +16,7 @@
     box_error
     expirationd
     fiber
-    fiber-ipc
+    fiber_ipc
     fio
     fun
     jit