diff --git a/.htaccess b/.htaccess
index 3c6e684..78fe056 100644
--- a/.htaccess
+++ b/.htaccess
@@ -2,8 +2,15 @@
 AddOutputFilter INCLUDES .html
 Redirect 301 /download.html /download.cgi
 Redirect 301 /news.html /events.html
-Redirect 301 /use-cases/database/key-value-database.html /use-cases/database/key-value-store.html
-Redirect 301 /use-cases/caching/key-value-store.html /use-cases/database/key-value-store.html
+Redirect 301 /features/java.html /features/multilanguage.html
+Redirect 301 /features/dotnet.html /features/multilanguage.html
+Redirect 301 /features/cpp.html /features/multilanguage.html
+Redirect 301 /features/clientprotos.html /features/multilanguage.html
+Redirect 301 collocatedprocessing.html /features/collocatedprocessing.html
+Redirect 301 /features/durablememory.html /arch/durablememory.html
+Redirect 301 memorycentric.html /arch/memorycentric.html
+Redirect 301 /features/persistence.html /arch/persistence.html
+Redirect 301 /features/deploy.html /arch/clustering.html
 
 RewriteEngine On 
 
diff --git a/addons.html b/addons.html
index ac7187d..61faeef 100644
--- a/addons.html
+++ b/addons.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Addons and Related Solutions - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/arch/clustering.html b/arch/clustering.html
new file mode 100644
index 0000000..7944694
--- /dev/null
+++ b/arch/clustering.html
@@ -0,0 +1,280 @@
+<!--
+▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
+▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
+▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
+░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
+▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
+▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
+ ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
+ ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
+     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
+-->
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="canonical" href="https://ignite.apache.org/arch/clustering.html" />
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>Clustering and Deployment - Apache Ignite</title>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
+    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+
+    <!--#include virtual="/includes/sh.html" -->
+</head>
+<body>
+<div id="wrapper">
+    <!--#include virtual="/includes/header.html" -->
+
+    <main id="main" role="main" class="container">
+        <section id="deployment-options" class="page-section">
+            <h1 class="first">Clustering and Deployment</h1>
+            <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0;">
+                    <p>
+                        Apache Ignite cluster is based on the shared-nothing architecture which implies that all the
+                        cluster nodes are equal, independent and self-sufficient, and there is no single point of failure
+                        across the cluster.
+                    </p>
+                    <p>
+                        Ignite nodes can automatically discover each other relying on flexible Discovery SPI component.
+                        This helps to scale the cluster out or down when needed and easily.
+                    </p>
+                    <p>
+                        Apache Ignite can run stand-alone, in a cluster, within Kubernetes and Docker containers, as well
+                        as on Apache Mesos and Hadoop Yarn. It can also run on physical servers as well as within
+                        virtual environments or clouds. Technically there are no limitations on where the cluster
+                        can be deployed.
+                    </p>
+                </div>
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0;">
+                    <img class="img-responsive" src="/images/ignite-deploy.png" width="540px" style="float:right;"/>
+                </div>
+            </div>&nbsp;
+
+            <div class="page-heading">Servers, Clients and Protocols</div>
+            <p>
+                There are two types of nodes defined in Ignite - client and server nodes. The nodes server a
+                different purpose.
+            </p>
+            <p>
+                The server nodes act as containers for data and computations. Once interconnected, the server nodes will
+                represent a distributed database (or data grid) that stores the data, participates in queries processing,
+                compute execution, stream processing, etc.
+            </p>
+            <p>
+                The client nodes, on their turn, provide an ability to connect to the distributed database (a group of server nodes)
+                remotely. Ignite native clients allow using the whole set of Ignite APIs, including SQL, transactions,
+                compute, streaming, services, etc. from the client side.
+            </p>
+            <p>
+                In addition to the client nodes, you can access the cluster by means of Ignite binary client protocol,
+                JDBC and ODBC drivers, or REST API.
+            </p>
+
+            <div class="page-heading">Public Clouds</div>
+            <p>
+                For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
+                and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
+                integrates with <code class="text-nowrap">Apache JClouds</code> that has support for most of the
+                <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing
+                    cloud providers</a>.
+            </p>
+            <div class="page-heading">Containers</div>
+            <p>
+                Ignite can freely run within container environments. Ignite's integration with <code>Docker</code>
+                allows to automatically build and deploy user code into Ignite prior to server startup.
+            </p>
+            <p>
+                Apache Ignite cluster can also be deployed in <code>Kubernetes</code> that allows automatic deployment and management of
+                containerized applications.
+            </p>
+
+            <div class="page-heading">Resource Managers</div>
+            <p>
+                Ignite provides native integration for <code class="text-nowrap">Hadoop Yarn</code>,<code>Kubernetes</code>,
+                and <code class="text-nowrap">Apache Mesos</code> making it very easy to seamlessly deploy Ignite
+                into specific environments and manage it there.
+            </p>
+
+            <div class="page-heading">More on Clustering and Deployment</div>
+            <table class="formatted" name="Deployment Options Features">
+                <thead>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="left">Clients and Servers</td>
+                    <td>
+                        <p>
+                            There are two types of nodes defined in Ignite - client and server nodes. The nodes server a
+                            different purpose:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Self-Healing Cluster</td>
+                    <td>
+                        <p>
+                            Ignite cluster can self-heal, where clients automatically reconnect in case of failures,
+                            slow clients are automatically kicked out, and data from failed nodes
+                            is automatically propagated to other nodes in the grid:
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Cross-platform Support</td>
+                    <td>
+                        <p>
+                            Applications can access the cluster from numerous programming languages as well as JDBC/ODBC
+                            drivers, and additional protocols:
+                        </p>
+                        <div  class="page-links">
+                            <a href="/features/multilanguage.html" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Zero Deployment</td>
+                    <td>
+                        <p>
+                            Ignite nodes automatically become aware of custom classes, eliminating the need to explicitly deploy them:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/zero-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Dynamic Schema Changes</td>
+                    <td>
+                        <p>
+                            Ignite stores objects in binary format eliminating the need to deploy classes on server nodes:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Stand-Alone Clusters</td>
+                    <td>
+                        <p>
+                            Ignite nodes can automatically discover each other. This helps to scale the cluster
+                            when needed, without having to restart the whole cluster - simply start up new additional
+                            nodes and they will automatically join the existing work loads:
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/cluster" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Docker Container</td>
+                    <td>
+                        <p>
+                            <code>Docker</code> allows to package Ignite deployment with all the dependencies into a
+                            standard container. Docker automates downloading the Ignite release, deploying users'
+                            code into Ignite, and configuring nodes. It also automatically starts up the fully
+                            configured Ignite node:
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/docker-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Kubernetes</td>
+                    <td>
+                        <p>
+                            Apache Ignite cluster can be easily deployed in and maintained by <code>Kubernetes</code> which is an
+                            open-source system for automating deployment, scaling, and management of containerized applications:
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/kubernetes-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Public Clouds</td>
+                    <td>
+                        <p>
+                            For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
+                            and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
+                            integrates with <code class="text-nowrap">Apache JClouds</code> which has support for most of the
+                            <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing cloud providers</a>.
+                        </p>
+                        <div class="page-links" style="line-height: 1.3;">
+                            <a href="https://apacheignite-mix.readme.io/docs/amazon-aws" target="docs">Amazon AWS Integration <i class="fa fa-angle-double-right"></i></a><br/>
+                            <a href="https://apacheignite-mix.readme.io/docs/google-compute-engine" target="docs">Google Cloud Integration <i class="fa fa-angle-double-right"></i></a><br/>
+                            <a href="https://apacheignite-mix.readme.io/docs/jclouds" target="docs">Apache JClouds Integration <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Apache Mesos</td>
+                    <td>
+                        <p>
+                            Ignite provides native integration for <code>Apache Mesos</code> making it very easy
+                            to deploy into Mesos data centers, such as, for example, Hadoop and Spark environments:
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/mesos-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Hadoop Yarn</td>
+                    <td>
+                        <p>
+                            Ignite provides native integration for <code>Hadoop Yarn</code> making it very easy
+                            to deploy into Hadoop and Spark environments:
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/yarn-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </section>
+    </main>
+
+    <!--#include virtual="/includes/footer.html" -->
+</div>
+<!--#include virtual="/includes/scripts.html" -->
+</body>
+</html>
diff --git a/features/durablememory.html b/arch/durablememory.html
similarity index 96%
rename from features/durablememory.html
rename to arch/durablememory.html
index 466adb3..6c2783b 100644
--- a/features/durablememory.html
+++ b/arch/durablememory.html
@@ -33,14 +33,14 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <link rel="canonical" href="https://ignite.apache.org/features/durablememory.html" />
+    <link rel="canonical" href="https://ignite.apache.org/arch/durablememory.html" />
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Durable Memory - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -58,7 +58,7 @@
                     <p>
                         Apache Ignite is based on the <nobr>Durable Memory</nobr>
                         architecture that allows storing and processing data and indexes both in memory and on disk
-                        when the <a href="/features/persistence.html">Ignite Native Persistence</a> feature is enabled.
+                        when the <a href="/arch/persistence.html">Ignite Native Persistence</a> feature is enabled.
                     </p>
                     <p>
                         The durable memory architecture helps achieve the performance and scale of in-memory computing
diff --git a/arch/memorycentric.html b/arch/memorycentric.html
new file mode 100644
index 0000000..bac10cd
--- /dev/null
+++ b/arch/memorycentric.html
@@ -0,0 +1,249 @@
+<!--
+▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
+▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
+▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
+░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
+▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
+▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
+ ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
+ ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
+     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
+-->
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="canonical" href="https://ignite.apache.org/arch/memorycentric.html" />
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>Memory Centric - Apache Ignite</title>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
+    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+
+    <!--#include virtual="/includes/sh.html" -->
+</head>
+<body>
+<div id="wrapper">
+    <!--#include virtual="/includes/header.html" -->
+
+    <main id="main" role="main" class="container">
+        <section id="memory-centric" class="page-section">
+            <h1 class="first">Memory-Centric Storage</h1>
+            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
+                    <p>
+                        Apache Ignite is based on distributed <i>memory-centric architecture</i> that combines the
+                        performance and scale of in-memory computing together with the disk durability and strong
+                        consistency in one system.
+                    </p>
+                    <p>
+                        The main difference between the memory-centric approach and the traditional disk-centric approach is that
+                        the memory is treated as a fully functional storage, not just as a caching layer, like most databases do.
+                        For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an
+                        In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one.
+                    </p>
+                </div>
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
+                    <img class="img-responsive" src="/images/memory-centric.png" width="440px" style="float: right; margin-top: -25px;"/>
+                </div>
+            </div>
+            <p>
+                On the other hand, when persistence is turned on, Ignite begins to function as a memory-centric system
+                where most of the processing happens in memory, but the data and indexes get persisted to disk. The main
+                difference here from the traditional disk-centric RDBMS or NoSQL system is that Ignite is strongly consistent,
+                horizontally scalable, and supports both SQL and key-value processing APIs.
+            </p>
+
+            <div class="page-heading">Collocated vs Client-Server Processing</div>
+            <p>
+                The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server approach, where
+                the data is brought from the server to the client side where it gets processed and then is usually discarded.
+                This approach does not scale well as moving the data over the network is the most expensive operation in a distributed system.
+            </p>
+            <p>
+                A much more scalable approach is <b>collocated processing</b> that reverses the flow by bringing the computations to the
+                servers where the data actually resides. This approach allows you to execute advanced logic or distributed SQL with JOINs
+                exactly where the data is stored avoiding expensive serialization and network trips.
+            </p>
+
+            <div class="page-heading">Partitioning & Replication</div>
+            <p>
+                Depending on the configuration, Ignite can either partition or replicate data across its memory-centric
+                storage. Unlike <code>REPLICATED</code> mode, where data is fully replicated across all nodes
+                in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data across
+                multiple cluster nodes, allowing for staring TBs of data both in memory and on disk.
+            </p>
+
+            <div class="page-heading">Redundancy</div>
+            <p>
+                Ignite also allows to configure multiple <b>backup copies</b> to guarantee data resiliency
+                in case of failures.
+            </p>
+
+            <div class="page-heading">Consistency</div>
+            <p>
+                Regardless of which replication scheme is used, Ignite guarantees data consistency across
+                all cluster members.
+            </p>
+
+            <div class="page-heading">Ignite as In-Memory Store</div>
+            <p>
+                The persistence is totally optional in Ignite that allows using the cluster in the memory-only mode
+                where all the data and indexes are stored solely in RAM. In this scenario, you can achieve the maximum
+                performance possible because the data is never written to disk. To prevent possible data loss when a
+                single cluster node fails, it is recommended to configure a number of backup copies (aka. replication
+                factor) appropriately.
+            </p>
+
+            <div class="page-heading">Ignite Persistence</div>
+            <p>
+                There are two ways to enable persistence in Ignite. The first approach is to use its own distributed,
+                ACID, and <nobr>SQL-compliant</nobr> persistence that transparently and efficiently integrates with
+                overall memory architecture.
+            </p>
+            <p>
+                With the the native persistence enabled, Ignite always stores a superset of data on disk,
+                and as much as possible in RAM. For example, if there are
+                100 entries and RAM has the capacity to store only 20, then all 100 will be stored on disk
+                and only 20 will be cached in RAM for better performance.
+            </p>
+
+            <div class="page-heading">Ignite and 3rd Party Database</div>
+            <p>
+                The second approach to have the persistence enabled, is to deploy Ignite above an existing 3rd party database
+                such as RDBMS, Apache Cassandra or MongoDB. This mode is usually used to accelerate the underlying
+                database by storing a copy of the data in memory in Ignite. Ignite supports both read-through and
+                write-through modes that ensure data consistency and keeps Ignite and the database in sync. Refer to
+                <a href="/arch/persistence.html" target="doc">Ignite persistence</a> page to compare Ignite persistence
+                vs 3rd Party Persistence modes.
+            </p>
+
+            <div class="page-heading">More on Memory-Centric Storage</div>
+            <table class="formatted" name="Deployment Options Features">
+                <thead>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="left">Durable Memory</td>
+                    <td>
+                        <p>
+                            Apache Ignite is based on the <nobr>Durable Memory</nobr>
+                            architecture that allows storing and processing data and indexes both in memory and on disk:
+                        </p>
+                        <div  class="page-links">
+                            <a href="/arch/durablememory.html">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Persistence</td>
+                    <td>
+                        <p>
+                            Ignite native persistence is a distributed, ACID, and <nobr>SQL-compliant</nobr> disk store
+                            that transparently integrates with Ignite's durable memory:
+                        </p>
+                        <div  class="page-links">
+                            <a href="/arch/persistence.html">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Partitioning & Replication</td>
+                    <td>
+                        <p>
+                            Depending on the configuration, Ignite can either <i>partition</i> or <i>replicate</i>
+                            data. Unlike <code>REPLICATED</code> mode, where data is fully replicated across
+                            all nodes in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data
+                            across multiple cluster nodes.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/cache-modes" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Distributed Database</td>
+                    <td>
+                        <p>
+                            Apache Ignite can be used as all-in-one distributed database that supports SQL, key-value,
+                            compute, machine learning and other data processing APIs:
+                        </p>
+                        <div  class="page-links">
+                            <a href="/use-cases/database/distributed-database.html">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">In-Memory Database</td>
+                    <td>
+                        <p>
+                            Apache Ignite can be used as a distributed and horizontally scalable in-memory database (IMDB):
+                        </p>
+                        <div  class="page-links">
+                            <a href="/use-cases/database/in-memory-database.html">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Data Grid</td>
+                    <td>
+                        <p>
+                            Ignite can act as a data grid that is a distributed, transactional key-value store. Unlike
+                            other in-memory data grids (IMDG), Ignite enables storing data both, in memory and on disk,
+                            and therefore is able to store more data than can fit in physical memory:
+                        </p>
+                        <div class="page-links">
+                            <a href="/features/datagrid.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Database Caching</td>
+                    <td>
+                        <p>
+                            Ignite is used as a caching layer (aka. data grid) above 3rd party databases such as RDBMS,
+                            Apache Cassandra, MongoDB:
+                        </p>
+                        <div class="page-links">
+                            <a href="/use-cases/caching/database-caching.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </section>
+    </main>
+
+    <!--#include virtual="/includes/footer.html" -->
+</div>
+<!--#include virtual="/includes/scripts.html" -->
+</body>
+</html>
diff --git a/features/persistence.html b/arch/persistence.html
similarity index 88%
rename from features/persistence.html
rename to arch/persistence.html
index 16a5eaf..6cffd62 100644
--- a/features/persistence.html
+++ b/arch/persistence.html
@@ -33,7 +33,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <link rel="canonical" href="https://ignite.apache.org/features/persistence.html" />
+    <link rel="canonical" href="https://ignite.apache.org/arch/persistence.html" />
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
@@ -41,7 +41,7 @@
     <meta http-equiv="Expires" content="0" />
     <title>Peristence - Apache Ignite</title>
     <meta name="description" content="Apache Ignite can be used as a memory-centric distributed SQL database that allows executing SQL queries over the data that is both in memory and on disk"/>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -56,15 +56,18 @@
             <h1 class="first">Ignite Native Persistence</h1>
                 <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
                     <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0;">
-                        <p>Ignite native persistence is a distributed, ACID, and <nobr>SQL-compliant</nobr> disk store
-                            that transparently integrates with Ignite's durable memory. Ignite persistence is optional
-                            and can be turned on and off. When turned off Ignite becomes a pure in-memory store.
+                        <p>
+                            As it is covered in <a href="/arch/memorycentric.html">memory-centric storage</a>,
+                            Ignite is widely used as a caching layer (aka. data grid) above an existing 3rd
+                            party database such as RDBMS, Apache Cassandra or MongoDB. This mode is used to
+                            accelerate the underlying database that persists the data.
+                            At the same time Ignite comes with its own persistence, that is considered as an alternate
+                            and preferable persistence layer for the Ignite cluster.
                         </p>
                         <p>
-                            With the the native persistence enabled, Ignite always stores a superset of data on disk,
-                            and as much as possible in RAM. For example, if there are
-                            100 entries and RAM has the capacity to store only 20, then all 100 will be stored on disk
-                            and only 20 will be cached in RAM for better performance.
+                            Ignite native persistence is a distributed, ACID, and <nobr>SQL-compliant</nobr> disk store
+                            that transparently integrates with Ignite's durable memory. Ignite persistence is optional
+                            and can be turned on and off. When turned off Ignite becomes a pure in-memory store.
                         </p>
                     </div>
                     <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0; top: -10px;">
@@ -72,6 +75,13 @@
                     </div>
                 </div>
                 <p>
+                    With the the native persistence enabled, Ignite always stores a superset of data on disk,
+                    and as much as possible in RAM. For example, if there are
+                    100 entries and RAM has the capacity to store only 20, then all 100 will be stored on disk
+                    and only 20 will be cached in RAM for better performance.
+                </p>
+
+                <p>
                     The native persistence has the following important characteristics:
                 </p>
                 <ul class="page-list" style="margin-bottom: 20px;">
diff --git a/blogs.html b/blogs.html
index 23727d2..c269df5 100644
--- a/blogs.html
+++ b/blogs.html
@@ -39,7 +39,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Blog Posts - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 </head>
diff --git a/collocatedprocessing.html b/collocatedprocessing.html
deleted file mode 100644
index 7acd03d..0000000
--- a/collocatedprocessing.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!--
-▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
-▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
-▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
- ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
- ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-    <link rel="canonical" href="https://ignite.apache.org/collocatedprocessing.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>Collocated Processing - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="memory-centric" class="page-section">
-            <h1 class="first">What is Collocated Processing?</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
-                    <p>
-                        The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server
-                        approach, where the data is brought from the server to the client side where it gets processed
-                        and then is usually discarded. This approach does not scale well as moving the data over the
-                        network is the most expensive operation in a distributed system.
-                    </p>
-                    <p>
-                        A much more scalable approach is <code>collocated</code> processing that reverses the flow by bringing
-                        the computations to the servers where the data actually resides. This approach allows you to
-                        execute advanced logic or distributed SQL with JOINs exactly where the data is stored avoiding
-                        expensive serialization and network trips.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/collocated_processing.png" width="440px" style="float: right; margin-top: -25px;"/>
-                </div>
-            </div>
-
-            <div class="page-heading">Usage Example</div>
-            <p>
-                Let's assume that a blizzard is approaching New York. As a telecommunication company, you have to
-                send a warning text message to 8 million New Yorkers.
-                With the client-server approach the company has to move all <nobr>8 million (!)</nobr> records
-                from the database to the client text messaging application, which does not scale.
-            </p>
-            <p>
-                A much more efficient approach would be to send the text-messaging logic to the cluster node responsible
-                for storing the New York residents. This approach moves only 1 computation instead of 8 million records
-                across the network, and performs a lot better.
-            </p>
-
-            <p>
-                Here is an example of how this logic might look like:
-            </p>
-            <!--<ul id="compute-example" class="nav nav-tabs">-->
-                <!--<li  class="active"><a href="#compute-task" aria-controls="profile" data-toggle="tab">Message Broadcasting Logic</a></li>-->
-            <!--</ul>-->
-
-            <div class="tab-content">
-
-                <div class="tab-pane active" id="compute-task">
-                        <pre class="brush:java">
-
-Ignite ignite = ...
-
-// NewYork ID.
-long newYorkId = 2;
-
-// Sending the logic to a cluster node that stores NewYork and all its inhabitants.
-ignite.compute().affinityRun("City", newYorkId, new IgniteRunnable() {
-
-  @IgniteInstanceResource
-  Ignite ignite;
-
-  @Override
-  public void run() {
-    // Getting an access to Persons cache.
-    IgniteCache&#60;BinaryObject, BinaryObject&#62; people = ignite.cache("Person").withKeepBinary();
-
-
-    ScanQuery&#60;BinaryObject, BinaryObject&#62; query = new ScanQuery &#60;BinaryObject, BinaryObject&#62;();
-
-    try (QueryCursor&#60;Cache.Entry&#60;BinaryObject, BinaryObject&#62;&#62; cursor = people.query(query)) {
-      // Iteration over the local cluster node data using the scan query.
-      for (Cache.Entry&#60;BinaryObject, BinaryObject&#62; entry : cursor) {
-        BinaryObject personKey = entry.getKey();
-
-        // Picking NewYorker's only.
-        if (personKey.&#60;Long&#62;field("CITY_ID") == newYorkId) {
-            person = entry.getValue();
-
-            // Sending the warning message to the person.
-        }
-      }
-    }
-  }
-}
-
-                        </pre>
-                </div>
-            </div>
-            <p>
-                Check more <a href="https://apacheignite.readme.io/docs/affinity-collocation" target="_blank">here</a>.
-            </p>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/community/contribute.html b/community/contribute.html
index a6cdb4b..80615c9 100644
--- a/community/contribute.html
+++ b/community/contribute.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Contribute - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/community/resources.html b/community/resources.html
index 08d8f04..c1e363a 100644
--- a/community/resources.html
+++ b/community/resources.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Community Resources - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/css/all.css b/css/all.css
index 5a6aa54..bbbdb1a 100755
--- a/css/all.css
+++ b/css/all.css
@@ -8678,7 +8678,6 @@
   text-align: center;
   margin-top: 50px;
   margin-bottom: 20px;
-  padding-top: 30px;
 }
 .section-heading h2 {
   font-size: 28px;
diff --git a/download.html b/download.html
index ee8e3ab..c9a7ede 100644
--- a/download.html
+++ b/download.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Downloads - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -92,10 +92,24 @@
                         <!--</div>-->
                         <div class="collapse navbar-collapse" id="top-navbar">
                             <ul class="nav navbar-nav">
-                                <li><a href="http://apache-ignite-users.70518.x6.nabble.com/" target="_blank"><i class="fa fa-users" aria-hidden="true"></i> User Forum</a></li>
-                                <li><a href="http://stackoverflow.com/questions/tagged/ignite" target="_blank"><i class="fa fa-stack-overflow" aria-hidden="true"></i> Stack Overflow</i></a></li>
-                                <li><a href="/events.html"><i class="fa fa-calendar" aria-hidden="true"></i> Events</a></li>
-                                <li><a href="/screencasts.html"><i class="fa fa-video-camera" aria-hidden="true"></i> Screencasts</a></li>
+                                <ul class="nav navbar-nav">
+                                    <li><a href="http://apache-ignite-users.70518.x6.nabble.com/" target="_blank"
+                                           onclick="ga('send', 'event', 'community', 'top_menu_click', 'user_forum');">
+                                        <i class="fa fa-users" aria-hidden="true"></i> User Forum</a>
+                                    </li>
+                                    <li><a href="http://stackoverflow.com/questions/tagged/ignite" target="_blank"
+                                           onclick="ga('send', 'event', 'community', 'top_menu_click', 'stack_overflow');">
+                                        <i class="fa fa-stack-overflow" aria-hidden="true"></i> Stack Overflow</i></a>
+                                    </li>
+                                    <li><a href="/events.html"
+                                           onclick="ga('send', 'event', 'community', 'top_menu_click', 'ignite_events');">
+                                        <i class="fa fa-calendar" aria-hidden="true"></i> Events</a>
+                                    </li>
+                                    <li><a href="/screencasts.html"
+                                           onclick="ga('send', 'event', 'community', 'top_menu_click', 'screencasts');">
+                                        <i class="fa fa-video-camera" aria-hidden="true"></i> Screencasts</a>
+                                    </li>
+                                </ul>
                             </ul>
                         </div>
                     </div>
@@ -106,6 +120,7 @@
             <div class="col-md-2 col-sm-2 col-xs-6">
                 <div class="logo" style="width:150px;"><a href="/index.html"><img src="/images/Ignite_tm_Logo_wht_RGB.svg" alt="ApacheIgnite"></a></div>
             </div>
+
             <div class="col-md-10 col-sm-10 col-xs-6">
                 <nav id="nav" class="navbar navbar-default" role="navigation">
                     <div class="container-fluid">
@@ -121,100 +136,172 @@
                             <ul class="nav navbar-nav">
                                 <li class="dropdown">
                                     <a href="/features.html">Features<span class="caret"></span></a>
-                                    <ul class="dropdown-menu lg-screen-menu" role="menu">
-                                        <div class="col-md-6 col-sm-6 col-xs-12 items" style="padding-right: 35px; border-right: 1px solid #d7d7d7;">
-                                            <li role="presentation" class="submenu-header">Overview</li>
-                                            <li><a href="/whatisignite.html">What is Ignite&trade;?</a></li>
-                                            <li><a href="/memorycentric.html">What is Memory-Centric?</a></li>
-                                            <li><a href="/collocatedprocessing.html">What is Collocated Processing?</a></li>
-                                            <li role="presentation" class="submenu-header">Main Features</li>
-                                            <li><a href="/features/durablememory.html">Durable Memory</a></li>
-                                            <li><a href="/features/persistence.html">Native Persistence</a></li>
-                                            <li><a href="/features/sql.html">SQL Database</a></li>
-                                            <li><a href="/features/datagrid.html">Data Grid</a></li>
-                                            <li><a href="/features/computegrid.html">Compute Grid</a></li>
-                                            <li><a href="/features/streaming.html">Streaming</a></li>
-                                            <li><a href="/features/machinelearning.html">Machine Learning<sup>&beta;eta</sup></a></li>
-                                            <li><a href="/features.html"><i>More Features</i></a></li>
-                                            <li role="presentation" class="submenu-header">Tooling</li>
-                                            <li><a href="/features/datavisualization.html#apache-ignite-web-console">Ignite Web Console</a></li>
-                                            <li><a href="/features/datavisualization.html"><i>More Tooling</i></a></li>
-                                        </div>
-                                        <div class="col-md-6 col-sm-6 col-xs-12 items" >
-                                            <li role="presentation" class="submenu-header">Runs Everywhere</li>
-                                            <li><a href="/features/java.html">Java</a></li>
-                                            <li><a href="/features/dotnet.html">.NET</a></li>
-                                            <li><a href="/features/cpp.html">C++</a></li>
-                                            <li><a href="/features/clientprotos.html">Client Protocols</a></li>
-                                            <li><a href="/features/deploy.html">Deployment Options</a></li>
-                                            <li role="presentation" class="submenu-header">Hadoop & Spark</li>
-                                            <li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>
-                                            <li><a href="/features/igfs.html">In-Memory File System</a></li>
-                                            <li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
-                                            <li role="presentation" class="submenu-header">Add-Ons</li>
-                                            <li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>
-                                            <li><a href="/addons.html"><i>More Add-ons</i></a></li>
-                                        </div>
-                                    </ul>
-                                    <ul class="dropdown-menu mobile-menu" role="menu">
+                                    <ul class="dropdown-menu" role="menu">
                                         <li role="presentation" class="submenu-header">Overview</li>
-                                        <li><a href="/whatisignite.html">What is Ignite&trade;?</a></li>
-                                        <li><a href="/memorycentric.html">What is Memory-Centric?</a></li>
-                                        <li><a href="/collocatedprocessing.html">What is Collocated Processing?</a></li>
-                                        <li role="presentation" class="submenu-header">Main Features</li>
-                                        <li><a href="/features/durablememory.html">Durable Memory</a></li>
-                                        <li><a href="/features/persistence.html">Native Persistence</a></li>
-                                        <li><a href="/features/sql.html">SQL Database</a></li>
-                                        <li><a href="/features/datagrid.html">Data Grid</a></li>
-                                        <li><a href="/features/computegrid.html">Compute Grid</a></li>
-                                        <li><a href="/features/streaming.html">Streaming</a></li>
-                                        <li><a href="/features/machinelearning.html">Machine Learning<sup>&beta;eta</sup></a></li>
+                                        <li><a href="/whatisignite.html"
+                                               onclick="ga('send', 'event', 'whatisignite', 'menu_click', 'whatisignite_page');">
+                                            What is Ignite&trade;?</a>
+                                        </li>
+                                        <li class="divider">
+
+                                            <!-- Ignite main features. -->
+                                        <li role="presentation" class="submenu-header">Features</li>
+                                        <li><a href="/features/sql.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_sql');">
+                                            Distributed SQL</a>
+                                        </li>
+                                        <li><a href="/features/datagrid.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_key_value');">
+                                            Distributed Key-Value</a>
+                                        </li>
+                                        <li><a href="/features/transactions.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'acid_transactions');">
+                                            ACID Transactions</a>
+                                        </li>
+                                        <li><a href="/features/collocatedprocessing.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'collocated_processing');">
+                                            Collocated Processing</a>
+                                        </li>
+                                        <li><a href="/features/machinelearning.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'machine_learning');">
+                                            Machine Learning</a>
+                                        </li>
+                                        <li><a href="/features/multilanguage.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'multi_language');">
+                                            Multi-Language</a>
+                                        </li>
                                         <li><a href="/features.html"><i>More Features</i></a></li>
+                                        <li class="divider">
+
+                                            <!-- Ignite architecture overview. -->
+                                        <li role="presentation" class="submenu-header">Architecture</li>
+                                        <li><a href="/arch/clustering.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'clustering');">
+                                            Clustering and Deployment</a>
+                                        </li>
+                                        <li><a href="/arch/memorycentric.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'memory_centric');">
+                                            Memory-Centric Storage</a>
+                                        </li>
+                                        <li><a href="/arch/durablememory.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'durable_meory');">
+                                            Durable Memory</a>
+                                        </li>
+                                        <li><a href="/arch/persistence.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'persistence');">
+                                            Persistence</a>
+                                        </li>
+                                        <li class="divider">
+
+                                            <!-- Ignite tooling. -->
                                         <li role="presentation" class="submenu-header">Tooling</li>
-                                        <li><a href="/features/datavisualization.html#apache-ignite-web-console">Ignite Web Console</a></li>
-                                        <li><a href="/features/datavisualization.html"><i>More Tooling</i></a></li>
-                                        <li role="presentation" class="submenu-header">Runs Everywhere</li>
-                                        <li><a href="/features/java.html">Java</a></li>
-                                        <li><a href="/features/dotnet.html">.NET</a></li>
-                                        <li><a href="/features/cpp.html">C++</a></li>
-                                        <li><a href="/features/clientprotos.html">Client Protocols</a></li>
-                                        <li><a href="/features/deploy.html">Deployment Options</a></li>
-                                        <li role="presentation" class="submenu-header">Hadoop & Spark</li>
-                                        <li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>
-                                        <li><a href="/features/igfs.html">In-Memory File System</a></li>
-                                        <li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
-                                        <li role="presentation" class="submenu-header">Add-Ons</li>
-                                        <li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>
-                                        <li><a href="/addons.html"><i>More Add-ons</i></a></li>
+                                        <li><a href="/features/datavisualization.html#apache-ignite-web-console"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'ignite_web_console');">
+                                            Ignite Web Console</a>
+                                        </li>
+                                        <li><a href="/features/datavisualization.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'data_visualization');">
+                                            Data Visualization and Analysis</a>
+                                        </li>
+
+                                        <!--<div class="col-md-6 col-sm-6 col-xs-12 items" >-->
+                                        <!--<li role="presentation" class="submenu-header">Runs Everywhere</li>-->
+                                        <!--<li><a href="/features/java.html">Java</a></li>-->
+                                        <!--<li><a href="/features/dotnet.html">.NET</a></li>-->
+                                        <!--<li><a href="/features/cpp.html">C++</a></li>-->
+                                        <!--<li><a href="/features/clientprotos.html">Client Protocols</a></li>-->
+                                        <!--<li><a href="/features/deploy.html">Deployment Options</a></li>-->
+                                        <!--<li role="presentation" class="submenu-header">Hadoop & Spark</li>-->
+                                        <!--<li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>-->
+                                        <!--<li><a href="/features/igfs.html">In-Memory File System</a></li>-->
+                                        <!--<li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>-->
+                                        <!--<li role="presentation" class="submenu-header">Add-Ons</li>-->
+                                        <!--<li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>-->
+                                        <!--<li><a href="/addons.html"><i>More Add-ons</i></a></li>-->
+                                        <!--</div>-->
                                     </ul>
                                 </li>
                                 <li class="dropdown">
                                     <a href="/usecases.html">Use Cases<span class="caret"></span></a>
                                     <ul class="dropdown-menu" role="menu">
                                         <li role="presentation" class="submenu-header">Proven by</li>
-                                        <li><a href="/provenusecases.html">Ignite&trade; in Production</a></li>
+                                        <li><a href="/provenusecases.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'proven_usecases');">
+                                            Ignite in Production</a>
+                                        </li>
                                         <li class="divider">
-                                        <li role="presentation" class="submenu-header">Database</li>
-                                        <li><a href="/use-cases/database/distributed-database.html">Distributed Database</a></li>
-                                        <li><a href="/use-cases/database/in-memory-database.html">In-Memory Database</a></li>
+
+                                            <!--Database-->
+                                        <li role="presentation" class="submenu-header">Data Store</li>
+                                        <li><a href="/use-cases/database/distributed-database.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
+                                            Distributed Database</a>
+                                        </li>
+                                        <li><a href="/use-cases/database/in-memory-database.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
+                                            In-Memory Database</a>
+                                        </li>
                                         <!--<li><a href="/use-cases/database/sql-database.html">SQL Database</a></li>-->
-                                        <li><a href="/use-cases/database/key-value-store.html">Key-Value Store</a></li>
+                                        <li><a href="/features/datagrid.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'data_grid');">
+                                            In-Memory Data Grid</a>
+                                        </li>
+                                        <li><a href="/use-cases/database/key-value-store.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'key_value_store');">
+                                            Key-Value Store</a>
+                                        </li>
                                         <li class="divider">
+
+                                        <!--In-Memory Caching-->
+                                        <li role="presentation" class="submenu-header">In-Memory Cache</li>
+                                        <li><a href="/use-cases/caching/database-caching.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'database-caching');">
+                                            Database Caching</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/jcache-provider.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'jcache-provider');">
+                                            JCache Provider</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/hibernate-l2-cache.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hibernate-l2-cache');">
+                                            Hibernate L2 Cache</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/web-session-clustering.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'web-session-clustering');">
+                                            Web Session Clustering</a>
+                                        </li>
+                                        <li class="divider">
+
+                                        <!-- Comparison -->
                                         <li role="presentation" class="submenu-header">Comparison</li>
-                                        <li><a href="/use-cases/comparison/ignite-for-nosql.html">Ignite for NoSQL Users</a></li>
-                                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html">Ignite for RDBMS Users</a></li>
+                                        <li><a href="/use-cases/comparison/ignite-for-nosql.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
+                                            Ignite for NoSQL Users</a>
+                                        </li>
+                                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
+                                            Ignite for RDBMS Users</a>
+                                        </li>
                                         <li class="divider">
-                                        <li role="presentation" class="submenu-header">In-Memory Caching</li>
-                                        <li><a href="/use-cases/caching/database-caching.html">Database Caching</a></li>
-                                        <li><a href="/use-cases/caching/jcache-provider.html">JCache Provider</a></li>
-                                        <li><a href="/use-cases/caching/hibernate-l2-cache.html">Hibernate L2 Cache</a></li>
-                                        <li><a href="/use-cases/caching/web-session-clustering.html">Web Session Clustering</a></li>
-                                        <li class="divider">
+
+                                        <!--Ignite with Spark & Hadoop-->
                                         <li role="presentation" class="submenu-header">Ignite with Spark & Hadoop</li>
-                                        <li><a href="/use-cases/spark/shared-memory-layer.html">Shared Memory Layer</a></li>
-                                        <li><a href="/use-cases/spark/sql-queries">Faster Sql Queries for Spark</a></li>
-                                        <li><a href="/use-cases/hadoop/hdfs-cache">IGFS as HDFS Cache</a></li>
-                                        <li><a href="/use-cases/hadoop/mapreduce">Faster In-Memory MapReduce</a></li>
+                                        <li><a href="/use-cases/spark/shared-memory-layer.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'shared-memory-layer');">
+                                            Spark Shared RDDs</a>
+                                        </li>
+                                        <li><a href="/use-cases/spark/sql-queries.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'sql-queries');">
+                                            Faster Sql for Spark</a>
+                                        </li>
+                                        <li><a href="/use-cases/hadoop/hdfs-cache.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hdfs-cache');">
+                                            IGFS as HDFS Cache</a>
+                                        </li>
+                                        <li><a href="/use-cases/hadoop/mapreduce.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'mapreduce');">
+                                            Faster MapReduce</a>
+                                        </li>
                                     </ul>
                                 </li>
                                 <li class="dropdown">
@@ -249,7 +336,7 @@
                                         <li><a href="/community/resources.html#ask">Ask a Question</a></li>
                                         <li><a href="/community/resources.html#mail-lists">Mailing Lists</a></li>
                                         <!--<li><a href="https://gitter.im/apacheignite/ignite" target="_blank">Chat-->
-                                            <!--<img src="/images/gitter-small.png" alt="Join the chat at https://gitter.im/apacheignite/ignite" style="padding-left:5px; padding-bottom:3px;"/></a>-->
+                                        <!--<img src="/images/gitter-small.png" alt="Join the chat at https://gitter.im/apacheignite/ignite" style="padding-left:5px; padding-bottom:3px;"/></a>-->
                                         <!--</li>-->
                                         <li><a href="https://twitter.com/ApacheIgnite" target="_blank">Twitter <i class="fa fa-twitter-square fa-lg" style="padding-left:5px;"></i></a></li>
                                         <li><a href="/screencasts.html">Screencasts</a></li>
diff --git a/events.html b/events.html
index 3fcf347..30c21f6 100644
--- a/events.html
+++ b/events.html
@@ -39,7 +39,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Meetups & Events - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 </head>
diff --git a/features.html b/features.html
index 903c0c7..83d32f3 100644
--- a/features.html
+++ b/features.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Product Features - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css" rel="stylesheet">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -59,42 +59,99 @@
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3>Main Features</h3>
                     <ul>
-                        <li><a href="/features/durablememory.html">Durable Memory</a></li>
-                        <li><a href="/features/persistence.html">Persistence</a></li>
-                        <li><a href="/features/sql.html">Distributed SQL</a></li>
-                        <li><a href="/features/datagrid.html">Data Grid</a></li>
-                        <li><a href="/features/computegrid.html">Compute Grid</a></li>
-                        <li><a href="/features/machinelearning.html">Machine Learning<sup>&beta;eta</sup></a></li>
+                        <li><a href="/features/sql.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'distributed_sql');">
+                            Distributed SQL</a>
+                        </li>
+                        <li><a href="/use-cases/database/key-value-store.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'distributed_key_value');">
+                            Distributed Key-Value</a>
+                        </li>
+                        <li><a href="/features/transactions.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'acid_transactions');">
+                            ACID Transactions</a>
+                        </li>
+                        <li><a href="/features/collocatedprocessing.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'collocated_processing');">
+                            Collocated Processing</a>
+                        </li>
+                        <li><a href="/features/machinelearning.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'machine_learning');">
+                            Machine Learning</a>
+                        </li>
+                        <li><a href="/features/multilanguage.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'multi_language');">
+                            Multi-Language</a>
+                        </li>
                     </ul>
                 </div>
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3>Extended Features</h3>
                     <ul>
-                        <li><a href="/features/servicegrid.html">Service Grid</a></li>
-                        <li><a href="/features/streaming.html">Streaming</a></li>
-                        <li><a href="/features/rdbmsintegration.html">RDBMS Integration</a></li>
-                        <li><a href="/features/datastructures.html">Data Structures</a></li>
-                        <li><a href="/features/messaging.html">Messaging & Events</a></li>
-                        <li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>
+                        <li><a href="/features/servicegrid.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'service_grid');">
+                            Service Grid</a>
+                        </li>
+                        <li><a href="/features/streaming.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'streaming');">
+                            Streaming</a>
+                        </li>
+                        <li><a href="/features/rdbmsintegration.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'rdbms_integration');">
+                            RDBMS Integration</a>
+                        </li>
+                        <li><a href="/features/datastructures.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'data_structures');">
+                            Data Structures</a>
+                        </li>
+                        <li><a href="/features/messaging.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'messaging');">
+                            Messaging & Events</a>
+                        </li>
+                        <li><a href="/addons.html#ga-grid"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'addons');">
+                            GA Grid<sup>&beta;eta</sup></a>
+                        </li>
                     </ul>
                 </div>
                 <div class="col-sm-3 col-md-3 col-xs-12">
-                    <h3>Runs Everywhere</h3>
+                    <h3>Architecture</h3>
                     <ul>
-                        <li><a href="/features/java.html">Java</a></li>
-                        <li><a href="/features/dotnet.html">.NET</a></li>
-                        <li><a href="/features/cpp.html">C++</a></li>
-                        <li><a href="/features/clientprotos.html">Client Protocols</a></li>
-                        <li><a href="/features/deploy.html">Deployment Options</a></li>
+                        <li><a href="/arch/clustering.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'clustering');">
+                            Clustering and Deployment</a>
+                        </li>
+                        <li><a href="/arch/memorycentric.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'memory_centric');">
+                            Memory-Centric Storage</a>
+                        </li>
+                        <li><a href="/arch/durablememory.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'durable_meory');">
+                            Durable Memory</a>
+                        </li>
+                        <li><a href="/arch/persistence.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'persistence');">
+                            Persistence</a>
+                        </li>
+                        <li class="empty"></li>
                         <li class="empty"></li>
                     </ul>
                 </div>
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3 class="last">Hadoop & Spark</h3>
                     <ul class="last">
-                        <li><a href="/features/igniterdd.html">Spark Shared RDD</a></li>
-                        <li><a href="/features/igfs.html">In-Memory File System</a></li>
-                        <li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
+                        <li><a href="/features/igniterdd.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'ignite_rdd');">
+                            Spark Shared RDD</a>
+                        </li>
+                        <li><a href="/features/igfs.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'igfs');">
+                            In-Memory File System</a>
+                        </li>
+                        <li><a href="/features/mapreduce.html"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'mapreduce');">
+                            In-Memory MapReduce</a>
+                        </li>
                         <li class="empty"></li>
                         <li class="empty"></li>
                         <li class="empty"></li>
@@ -442,64 +499,6 @@
                         </td>
                     </tr>
 
-                    <tr class="sub-heading">
-                        <th colspan="2" class="left">DISTRIBUTED TRANSACTIONS AND LOCKS</th>
-                    </tr>
-                    <tr>
-                        <td class="features-left">ACID Transactions</td>
-                        <td>
-                            <p>
-                                Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="features-left">Deadlock-Free Transactions</td>
-                        <td>
-                            <p>
-                                Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="features-left">Transactional Entry Processor</td>
-                        <td>
-                            <p>
-                                Ignite transactional entry processor allows executing collocated user logic on the server side within a transaction.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="features-left">Cross-Partition Transactions</td>
-                        <td>
-                            <p>
-                                In Ignite, transactions can be performed on all partitions of a cache across the whole cluster.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="features-left">Locks</td>
-                        <td>
-                            <p>
-                                Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/locks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
 
                     <tr class="sub-heading">
                         <th colspan="2" class="left">DISTRIBUTED QUERIES</th>
diff --git a/features/clientprotos.html b/features/clientprotos.html
deleted file mode 100644
index c03a401..0000000
--- a/features/clientprotos.html
+++ /dev/null
@@ -1,160 +0,0 @@
- <!--
- ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
- ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
- ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
-  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
-  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="canonical" href="https://ignite.apache.org/features/clientprotos.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>Supported Client Protocols - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="clients" class="page-section">
-            <h1 class="first">Supported Client Protocols</h1>
-            <p>
-                Ignite supports several protocols for client connectivity to Ignite clusters, including Ignite Native
-                Clients, REST/HTTP, SSL/TLS, Memcached, Redis, Node.js (under development), etc.
-            </p>
-            <div class="page-heading">GitHub Examples:</div>
-            <p>
-                See <a href="https://github.com/apache/ignite/tree/master/examples/memcached" target="github">memcached examples</a>
-                and <a href="https://github.com/apache/ignite/tree/master/examples/rest" target="github">REST examples</a>
-                available on GitHub.
-            </p>
-        </section>
-        <section id="key-features" class="page-section">
-            <h2>Supported Clients</h2>
-            <table class="formatted" name="Supported Clients Features">
-                <thead>
-                    <tr>
-                        <th width="35%" class="left">Feature</th>
-                        <th>Description</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr>
-                        <td class="left">Ignite Native Client</td>
-                        <td>
-                            <p>
-                                Ignite Native Clients provide full functionality of Ignite In-Memory Data Fabric to
-                                the remote clients connecting to the data fabric. It allows to use the whole set of
-                                <code>Ignite APIs</code>, including Near Caching, transactions, compute,
-                                streaming, services, etc.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Memcached</td>
-                        <td>
-                            <p>
-                                Ignite is <a href="http://memcached.org/" target="_blank">Memcached</a> compliant,
-                                which enables users to store and retrieve distributed data from Ignite cache using any
-                                Memcached compatible client, including Java, PHP, Python, Ruby, and other Memcached
-                                clients.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/memcached-support" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Redis</td>
-                        <td>
-                            <p>
-                                Ignite is partially <a href="http://redis.io/" target="_blank">Redis</a> compliant and enables users
-                                to store and retrieve distributed data from Apache Ignite caches using any Redis compatible client.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/redis" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">REST/HTTP</td>
-                        <td>
-                            <p>
-                                Ignite provides an HTTP REST client that gives you the ability to communicate with the
-                                grid over HTTP and HTTPS protocols using REST approach. REST APIs can be used to
-                                perform different operations, like read/write from/to cache, execute tasks, get
-                                various metrics and more.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/rest-api" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">SSL/TLS</td>
-                        <td>
-                            <p>
-                                Ignite allows you to use SSL socket communication among all Ignite client and server nodes.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/ssltls" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Node.JS (under development)</td>
-                        <td>
-                            <p>
-                                Ignite will provide Node.JS client connectivity which enables all cache operations, and
-                                SQL queries over JSON data stored in Ignite.
-                            </p>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/features/collocatedprocessing.html b/features/collocatedprocessing.html
new file mode 100644
index 0000000..405595d
--- /dev/null
+++ b/features/collocatedprocessing.html
@@ -0,0 +1,290 @@
+<!--
+▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
+▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
+▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
+░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
+▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
+▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
+ ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
+ ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
+     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
+-->
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="canonical" href="https://ignite.apache.org/features/collocatedprocessing.html" />
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>Collocated Processing - Apache Ignite</title>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
+    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+
+    <!--#include virtual="/includes/sh.html" -->
+</head>
+<body>
+<div id="wrapper">
+    <!--#include virtual="/includes/header.html" -->
+
+    <main id="main" role="main" class="container">
+        <section id="memory-centric" class="page-section">
+            <h1 class="first">Collocated Processing</h1>
+            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
+                    <p>
+                        The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server
+                        approach, where the data is brought from the server to the client side where it gets processed
+                        and then is usually discarded. This approach does not scale well as moving the data over the
+                        network is the most expensive operation in a distributed system.
+                    </p>
+                    <p>
+                        A much more scalable approach is <code>collocated</code> processing that reverses the flow by bringing
+                        the computations to the servers where the data actually resides. This approach allows you to
+                        execute advanced logic or distributed SQL with JOINs exactly where the data is stored avoiding
+                        expensive serialization and network trips.
+                    </p>
+                </div>
+                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
+                    <img class="img-responsive" src="/images/collocated_processing.png" width="440px" style="float: right; margin-top: -25px;"/>
+                </div>
+            </div>
+
+            <div class="page-heading">Data Collocation</div>
+            <p>
+                To start benefiting from the collocated processing, we need to ensure that the data is properly collocated
+                in the first place. If the business logic requires to access more than one entry, it is usually best to
+                collocate dependent entries on a single cluster node. This technique is also known as
+                <code>affinity collocation</code> of the data.
+            </p>
+            <p>
+                In the example below, we have <code>Country</code> and <code>City</code> tables and want to collocate
+                <code>City</code> entries with their corresponding <code>Country</code> entries. To achieve this,
+                we use the <code>WITH</code> clause and specify <code>affinityKey=CountryCode</code> as shown below:
+            </p>
+            <div class="tab-content">
+
+                <div class="tab-pane active" id="sql-tables">
+                        <pre class="brush:sql">
+                            CREATE TABLE Country (
+                                Code CHAR(3),
+                                Name CHAR(52),
+                                Continent CHAR(50),
+                                Region CHAR(26),
+                                SurfaceArea DECIMAL(10,2),
+                                Population INT(11),
+                                Capital INT(11),
+                                PRIMARY KEY (Code)
+                            ) WITH "template=partitioned, backups=1";
+
+                            CREATE TABLE City (
+                                ID INT(11),
+                                Name CHAR(35),
+                                CountryCode CHAR(3),
+                                District CHAR(20),
+                                Population INT(11),
+                                PRIMARY KEY (ID, CountryCode)
+                            ) WITH "template=partitioned, backups=1, affinityKey=CountryCode";
+                        </pre>
+                </div>
+            </div>
+            <p>
+                By collocating the tables together we can ensure that all the entries with the same <code>affinityKey</code>
+                will be stored on the same cluster node, hence avoiding costly network trips to fetch data from other
+                remote nodes.
+            </p>
+            <div class="page-heading">SQL and Distributed JOINs</div>
+            <p>
+                Apache Ignite SQL engine will always perform much more efficiently if a query is run against the
+                collocated data. It is especially crucial for execution of distributed JOINs within the cluster.
+            </p>
+            <p>
+                Taking the example of the two tables created above, let's get the most populated cities across China,
+                Russia and the USA joining the data stored in the <code>Country</code> and <code>City</code> tables, as follows:
+            </p>
+            <div class="tab-content">
+
+                <div class="tab-pane active" id="sql-joins-query">
+                        <pre class="brush:sql">
+                            SELECT country.name, city.name, MAX(city.population) as max_pop
+                            FROM country
+                            JOIN city ON city.countrycode = country.code
+                            WHERE country.code IN ('USA','RUS','CHN')
+                            GROUP BY country.name, city.name
+                            ORDER BY max_pop DESC;
+                        </pre>
+                </div>
+            </div>
+            <p>
+                Since all the cities were collocated with their countries, the JOIN will execute only on the nodes
+                that store China, Russia and the USA entries. This approach <i>avoids</i> expensive data movement
+                across the network, and therefore scales better and provides the fastest performance.
+            </p>
+            <div class="page-heading">Distributed Collocated Computations</div>
+            <p>
+                Apache Ignite compute grid and machine learning components allow to perform computations and execute
+                machine learning algorithms in parallel to achieve high performance, low latency, and linear scalability.
+                Furthermore, both components work best with collocated data and collocated processing in general.
+            </p>
+            <p>
+                For instance, let's assume that a blizzard is approaching New York. As a telecommunication company,
+                you have to send a warning text message to 8 million New Yorkers.
+                With the client-server approach the company has to move all <nobr>8 million (!)</nobr> records
+                from the database to the client text messaging application, which does not scale.
+            </p>
+            <p>
+                A much more efficient approach would be to send the text-messaging logic to the cluster node responsible
+                for storing the New York residents. This approach moves only 1 computation instead of 8 million records
+                across the network, and performs a lot better.
+            </p>
+
+            <p>
+                Here is an example of how this logic might look like:
+            </p>
+            <!--<ul id="compute-example" class="nav nav-tabs">-->
+                <!--<li  class="active"><a href="#compute-task" aria-controls="profile" data-toggle="tab">Message Broadcasting Logic</a></li>-->
+            <!--</ul>-->
+
+            <div class="tab-content">
+
+                <div class="tab-pane active" id="compute-task">
+                        <pre class="brush:java">
+
+Ignite ignite = ...
+
+// NewYork ID.
+long newYorkId = 2;
+
+// Sending the logic to a cluster node that stores NewYork and all its inhabitants.
+ignite.compute().affinityRun("City", newYorkId, new IgniteRunnable() {
+
+  @IgniteInstanceResource
+  Ignite ignite;
+
+  @Override
+  public void run() {
+    // Getting an access to Persons cache.
+    IgniteCache&#60;BinaryObject, BinaryObject&#62; people = ignite.cache("Person").withKeepBinary();
+
+
+    ScanQuery&#60;BinaryObject, BinaryObject&#62; query = new ScanQuery &#60;BinaryObject, BinaryObject&#62;();
+
+    try (QueryCursor&#60;Cache.Entry&#60;BinaryObject, BinaryObject&#62;&#62; cursor = people.query(query)) {
+      // Iteration over the local cluster node data using the scan query.
+      for (Cache.Entry&#60;BinaryObject, BinaryObject&#62; entry : cursor) {
+        BinaryObject personKey = entry.getKey();
+
+        // Picking NewYorker's only.
+        if (personKey.&#60;Long&#62;field("CITY_ID") == newYorkId) {
+            person = entry.getValue();
+
+            // Sending the warning message to the person.
+        }
+      }
+    }
+  }
+}
+
+                        </pre>
+                </div>
+            </div>
+
+            <div class="page-heading">More on Collocated Processing</div>
+            <table class="formatted" name="More on Ignite Transactions">
+                <thead>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="features-left">Affinity Collocation</td>
+                    <td>
+                        <p>
+                            If business logic requires to access more than one entry it can be reasonable to
+                            collocate dependent entries by storing them on a single cluster node:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/affinity-collocation" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Collocated Computations</td>
+                    <td>
+                        <p>
+                            It is also possible to route computations to the nodes where the data is stored:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/collocate-compute-and-data" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Compute Grid</td>
+                    <td>
+                        <p>
+                            Distributed computations are performed in parallel fashion to gain high performance, low latency, and linear scalability:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/compute-grid" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Distributed JOINs</td>
+                    <td>
+                        <p>
+                            Ignite supports collocated and non-collocated distributed SQL joins:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite-sql.readme.io/docs/distributed-joins" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Machine Learning</td>
+                    <td>
+                        <p>
+                            Ignite machine learning component allows users to run ML/DL training and inference directly
+                            on the data stored in an Ignite cluster and provides ML and DL algorithms:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/machine-learning" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </section>
+    </main>
+
+    <!--#include virtual="/includes/footer.html" -->
+</div>
+<!--#include virtual="/includes/scripts.html" -->
+</body>
+</html>
diff --git a/features/computegrid.html b/features/computegrid.html
index 7e72e6c..4ce6144 100644
--- a/features/computegrid.html
+++ b/features/computegrid.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>In-Memory Compute Grid - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/cpp.html b/features/cpp.html
deleted file mode 100644
index 86f8616..0000000
--- a/features/cpp.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!--
-▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
-▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
-▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
- ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
- ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="canonical" href="https://ignite.apache.org/features/cpp.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>C++ Support - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="cpp" class="page-section">
-            <h1 class="first">Apache Ignite for C++</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:0">
-                    <p>
-                        Ignites's In-Memory Data Fabric for C++ is designed to deliver uncompromised
-                        performance for a wide set of in-memory computing use cases through native, optimized C++ APIs.
-                    </p>
-                    <p>
-                        Ignite C++ is built on top of Ignite. This allows you to perform almost all the in-memory data grid operations including
-                        <a href="https://apacheignite-cpp.readme.io/docs/cache-operations" target="_blank">Basic Cache Operations</a>,
-                        <span style="white-space: nowrap"><a href="https://apacheignite-cpp.readme.io/docs/transactions" target="_blank">ACID Transactions</a></span>,
-                        <a href="https://apacheignite-sql.readme.io/docs/cplus-sql-api" target="_blank">SQL Queries</a>, and
-                        <a href="https://apacheignite-sql.readme.io/docs/cplus-sql-api#section-sqlquery" target="_blank">Distributed SQL Joins</a>,
-                        on replicated or partitioned caches distributed across the cluster.
-                    </p>
-                    <p>
-                        Ignite also supports <span style="white-space: nowrap"><a href="https://apacheignite-cpp.readme.io/docs/cross-platform-interoperability" target="_blank">Cross-Platform Interoperability</a></span>
-                        allowing applications to seamlessly interoperate between <b>Java</b>, <b>.NET</b>, and <b>C++</b> by writing and reading objects to and from the cache, respectively, in a common binary format.
-                        Additionally, both Ignite .NET and Ignite C++ provide native APIs and their implementations that delegate most of the calls to Java using JNI.
-                        Here, it is worth mentioning that the JNI overhead is minimal and does not cause any performance degradation, especially in distributed environments where network is the main obstacle.
-                        Furthermore, Ignite provides a pure C++ implementation of the Binary Marshaller to contribute to the perfomance.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-4 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/cpp.png" width="200" style="float:right;"/>
-                </div>
-            </div>
-
-            <div class="code-examples">
-                <div class="page-heading">Code Examples:</div>
-                <!-- Nav tabs -->
-                <ul id="messaging-examples" class="nav nav-tabs">
-                    <li class="active"><a href="#put-get" aria-controls="home" data-toggle="tab">Put and Get</a></li>
-                    <li><a href="#transactions" aria-controls="profile" data-toggle="tab">Transactions</a></li>
-                    <li><a href="#sql-query" aria-controls="profile" data-toggle="tab">SQL Query</a></li>
-                    <li><a href="#sql-join" aria-controls="profile" data-toggle="tab">SQL Join</a></li>
-                </ul>
-
-                <!-- Tab panes -->
-                <div class="tab-content">
-                    <div class="tab-pane active" id="put-get">
-                        <pre class="brush:cpp">
-                            // Get cache instance.
-                            Cache&lt;int, std::string&gt; cache = grid.GetCache&lt;int, std::string&gt;("myCache");
-
-                            // Store keys in cache (values will end up on different cache nodes).
-                            for (int i = 0; i &lt; 10; ++i)
-                            {
-                                std::stringstream value;
-                                value &lt;&lt; i;
-
-                                cache.Put(i, value.str());
-                            }
-
-                            for (int i = 0; i &lt; 10; ++i)
-                                std::cout &lt;&lt; "Got [key=" &lt;&lt; i &lt;&lt; ", val=" &lt;&lt; cache.Get(i) &lt;&lt; "]";
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="transactions">
-                        <pre class="brush:cpp">
-                            Transaction tx = transactions.TxStart();
-
-                            int hello = cache.Get("Hello");
-
-                            if (hello == 1)
-                              cache.Put("Hello", 11);
-
-                            cache.Put("World", 22);
-
-                            tx.Commit();
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-query">
-                        <pre class="brush:cpp">
-                            Cache&lt;int, Person&gt; cache = grid.GetOrCreateCache&lt;int, Person&gt;("personCache");
-
-                            SqlQuery qry("Person", "Salary &lt; 1000");
-
-                            QueryCursor&lt;int, Person&gt; cursor = cache.Query(qry);
-
-                            // Iterate over results.
-                            while (cursor.HasNext())
-                              std::cout &lt;&lt; cursor.GetNext().GetKey() &lt;&lt; std::endl;
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-join">
-                        <pre class="brush:cpp">
-                            Cache&lt;int, Person&gt; cache = grid.GetOrCreateCache&lt;int, Person&gt;("personCache");
-
-                            // SQL join on Person and Organization
-                            // to find all persons working for Ignite organization.
-                            SqlQuery qry("Person", "from Person as p, \"orgCache\".Organization as org"
-                                "where p.OrgId = org.Id "
-                                "and org.name = Ignite");
-
-                            QueryCursor&lt;int, Person&gt; cursor = cache.Query(qry);
-
-                            // Iterate over results.
-                            while (cursor.HasNext())
-                              std::cout &lt;&lt; cursor.GetNext().GetKey() &lt;&lt; std::endl;
-                        </pre>
-                    </div>
-                </div>
-            </div>
-            <div class="page-heading">GitHub Examples:</div>
-            <p>
-                Also see <a href="https://github.com/apache/ignite/tree/master/modules/platforms/cpp/examples" target="github">Ignite C++ examples</a>
-                available on GitHub.
-            </p>
-
-            <p>
-                <a href="https://apacheignite-cpp.readme.io/" target="_blank">
-                    <b>Get started with Ignite C++ <i class="fa fa-angle-double-right"></i></b>
-                </a>
-            </p>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/features/datagrid.html b/features/datagrid.html
index cc1c248..b223599 100644
--- a/features/datagrid.html
+++ b/features/datagrid.html
@@ -42,7 +42,7 @@
     <meta name="description" content="Apache Ignite In-Memory Data Grid is a distributed transactional key-value store that stores data
         in-memory and on-disk and supports key-value, SQL, and processing APIs"/>
     <title>In-Memory Data Grid - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027"/>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028"/>
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet"/>
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'/>
 
@@ -54,54 +54,69 @@
 
     <main id="main" role="main" class="container">
         <section id="datagrid" class="page-section">
-            <h1 class="first">In-Memory Data Grid</h1>
+            <h1 class="first">Key-Value In-Memory Data Grid</h1>
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
                 <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
                     <p>
-                        Ignite data grid is a <code>distributed, transactional key-value store</code>. Unlike other
-                        in-memory data grids (IMDG), Ignite enables storing data both, in memory and on disk, and
-                        therefore is able to store more data than can fit in physical memory.
-                        On top of the standard key-value data operations, including ACID transactions and all the
-                        JCache (JSR 107) functionality, Ignite also supports <nobr><code>SQL queries</code></nobr>
-                        over its data with the support for <nobr><code>distributed joins</code></nobr>.
+                        Ignite provides extensive and rich key-value APIs and can act as an in-memory data grid.
+                        You can think of Ignite as of a distributed partitioned hash map with every
+                        cluster node owning a portion of the overall data set. Unlike other in-memory data grids (IMDG),
+                        Ignite enables storing data both, in memory and on disk, and
+                        therefore is able to store more data than can fit in the physical memory.
+                    </p>
+                    <p>
+                        Ignite data grid is one of the fastest implementations of ACID transactions or
+                        atomic data updates in distributed clusters today. We know it because we constantly benchmark it ourselves.
                     </p>
                 </div>
-
                 <div class="col-sm-4 col-md-6 col-xs-12" style="padding-right:0">
                     <img class="img-responsive" src="/images/data_grid.png" width="500px" style="float:right;"/>
                 </div>
             </div>
 
+            <div class="page-heading">3rd Party Databases</div>
+            <p>
+                Inite in-memory data grid can improve performance and scalability of existing 3rd party databases, like RDBMS,
+                NoSQL, or Hadoop-based storages, by sliding in as a distribute cache between the application and database layers. This approach does not require
+                rip-and-replace of the existing data, and will automatically write-through or read-through all the updates
+                or reads to or from the underlying database. Ignite will automatically merge with the underlying database
+                transactions, providing transparent transactional behavior to the users.
+            </p>
+            <p>
+                However, this approach also has its limitations. For example, SQL or scan queries will only include the
+                results stored in memory, and not in the external database, since Ignite cannot index the external data.
+                If you require that data on disk should be indexed and accessible via SQL queries, we recommend that you look at
+                <a href="/arch/persistence.html">Ignite native persistence</a>.
+            </p>
+
+            <div class="page-heading">JCache APIs</div>
+            <p>
+                Ignite key-value APIs comply with <a href="/use-cases/caching/jcache-provider.html">JCache (JSR 107)</a>
+                specification that supports the following:
+            </p>
+            <ul class="page-list">
+                <li>In-Memory Key Value Store</li>
+                <li>Basic Cache Operations</li>
+                <li>ConcurrentMap APIs</li>
+                <li>Collocated Processing (EntryProcessor)</li>
+                <li>Events and Metrics</li>
+                <li>Pluggable Persistence</li>
+            </ul>
+
+            <div class="page-heading">Extended Key-Value APIs</div>
+            <p>
+                In addition to the standard JCache API, Ignites supports distributed ACID transactions,
+                scan and continuous queries, collocated processing and more.
+            </p>
+
             <p>
                 The data grid has been built from the ground up to linearly scale to hundreds of nodes with strong
                 semantics for data locality and affinity data routing to reduce redundant data noise. It can be
                 viewed as a distributed partitioned hash map with every cluster node owning a portion of the
                 overall data. This way the more cluster nodes we add, the more data we can cache.
             </p>
-            <p>
-                Ignite data grid is one of the fastest implementations of ACID transactions or
-                atomic data updates in distributed clusters today. We know it because we constantly benchmark it ourselves.
-            </p>
-            <p>
-                The data in the data grid can be stored either purely in memory, or can also be persisted to disk.
-                If <a href="/features/persistence.html" target="_blank">Ignite native persistence</a> is enabled,
-                then data and indexes will be persisted natively by Ignite on every cluster node. In this case,
-                memory only serves as a smaller caching layer of the overall persisted data set. All queries and transactions
-                span the whole data set stored on disk.
-            </p>
-            <p>
-                The in-memory data grid can also improve performance and scalability by integrating with existing 3rd party
-                databases, like RDBMS, NoSQL, or Hadoop-based storages. This approach does not require
-                rip-and-replace of the existing data, but has its limitations. For example, SQL or scan queries will only include the
-                results stored in memory, and not in the external database, since Ignite does not have any knowledge of the external data.
-            </p>
-            <p>
-                <a href="https://apacheignite.readme.io/docs/distributed-persistent-store" target="_blank">Read more</a>
-                about different types of persistence in Ignite.
-            </p>
-
             <div class="videos">
-                <div class="page-heading">Videos:</div>
+                <div class="page-heading">Videos</div>
                 <ul class="page-list">
                     <li>
                         <i class="fa fa-lg fa-play-circle-o"></i>
@@ -114,7 +129,7 @@
             </div>
 
             <div class="code-examples">
-                <div class="page-heading">Code Examples:</div>
+                <div class="page-heading">Code Examples</div>
                 <!-- Nav tabs -->
                 <ul id="datagrid-examples" class="nav nav-tabs">
                     <li class="active"><a href="#datagrid-example-basic" role="tab" data-toggle="tab">Put and Get</a></li>
@@ -250,364 +265,245 @@
                     </div>
                 </div>
             </div>
-            <div class="page-heading github-examples">GitHub Examples:</div>
-            <p>
-                Also see <a href="https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/datagrid" target="github">data grid examples</a>
-                available on GitHub.
-            </p>
         </section>
 
         <section id="key-features" class="page-section">
-            <h2>Data Grid Features</h2>
-            <table class="formatted" name="Data Grid Features">
+            <h2>More on Data Grid</h2>
+            <table class="formatted" name="key-value-apis">
                 <thead>
-                    <tr>
-                        <th width="35%" class="left">Feature</th>
-                        <th>Description</th>
-                    </tr>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
                 </thead>
                 <tbody>
-                    <tr>
-                        <td class="left">Key-Value Store</td>
-                        <td>
-                            <p>
-                                Ignite data grid is a <code>key-value store</code> which can store data both, in-memory
-                                and on-disk. It can be viewed as a distributed partitioned hash map, with every cluster
-                                node owning a portion of the overall data. This way the more cluster nodes we add,
-                                the more data we can store.
-                            </p>
-                            <p>
-                                Unlike other key-value stores, Ignite determines data locality using a pluggable hashing
-                                algorithm. Every client can determine which node a key belongs to by plugging it into a
-                                hashing function, without a need for any special mapping servers or name nodes.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/data-grid" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">SQL Support</td>
-                        <td>
-                            <p>
-                                In addition to key-value API, Ignite data grid has complete SQL support, including primary
-                                and secondary indexes and distributed JOINs.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite-sql.readme.io/docs/how-ignite-sql-works" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Durable Memory</td>
-                        <td>
-                            <p>
-                                Ignite <code>Durable Memory</code> allows storing and processing data and indexes
-                                both, in memory and on disk. The in-memory data, including indexes, is always
-                                stored and managed <code>off-heap</code>, completely removing any type of Garbage
-                                Collection overhead.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/durable-memory" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">JCache (JSR 107)</td>
-                        <td>
-                            <p>
-                                Ignite is a 100% compliant implementation of <span style="white-space: nowrap">JCache (JSR 107)</span> specification.
-                                JCache provides a very simple to use, yet very powerful API for data caching.
-                            </p>
-                            <p>
-                                Some of the JCache API features include:
-                            <ul class="page-list">
-                                <li>Basic Cache Operations</li>
-                                <li>ConcurrentMap APIs</li>
-                                <li>Collocated Processing (EntryProcessor)</li>
-                                <li>Events and Metrics</li>
-                                <li>Pluggable Persistence</li>
-                            </ul>
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/jcache" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Partitioning & Replication</td>
-                        <td>
-                            <p>
-                                Depending on the configuration, Ignite can either <i>partition</i> or <i>replicate</i>
-                                data. Unlike <code>REPLICATED</code> mode, where data is fully replicated across
-                                all nodes in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data
-                                across multiple cluster nodes.
-                            </p>
-                            <p>
-                                Ignite also allows to configure multiple <b>backup copies</b> to guarantee data resiliency
-                                in case of node failures.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/cache-modes" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Collocated Processing</td>
-                        <td>
-                            <p>
-                                Ignite allows executing any native Java, C++, and .NET/C# code directly on the server-side, close to the data, in collocated fashion.
-                            </p>
-                            <div  class="page-links">
-                                <a href="/collocatedprocessing.html" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Self-Healing Cluster</td>
-                        <td>
-                            <p>
-                                Ignite cluster can self-heal, where clients automatically reconnect in case of failures,
-                                slow clients are automatically kicked out, and data from failed nodes
-                                is automatically propagated to other nodes in the grid.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Client-side Near Caches</td>
-                        <td>
-                            <p>
-                                Near cache is local client-side cache that stores the most recently and most frequently accessed data.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/near-caches" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">ACID Transactions</td>
-                        <td>
-                            <p>
-                                Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.</p>
-                            <p>
-                                Ignite supports <code>OPTIMISTIC</code> and <code>PESSIMISTIC</code> concurrency modes
-                                as well as <code>READ_COMMITTED</code>, <code>REPEATABLE_READ</code>, and <code>SERIALIZABLE</code> isolation levels.</p>
-                            <p>
-                                Ignite transactions  utilize 2PC protocol with many one-phase-commit optimizations whenever applicable.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/transactions" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Deadlock-Free Transactions</td>
-                        <td>
-                            <p>
-                                Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks, and free users from worrying about the lock order. Such transactions also provide much better performance.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Transactional Entry Processor</td>
-                        <td>
-                            <p>
-                                Ignite transactional entry processor allows executing collocated user logic on the server side within a transaction.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Cross-Partition Transactions</td>
-                        <td>
-                            <p>
-                                In Ignite, transactions can be performed on all partitions of a cache across the whole cluster.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Locks</td>
-                        <td>
-                            <p>
-                                Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/distributed-locks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Continuous Queries</td>
-                        <td>
-                            <p>
-                                Continuous queries are useful for cases when you want to execute a query and then continue to get notified about the data changes that fall into your query filter.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Native Persistence</td>
-                        <td>
-                            <p>
-                                Ignite <code>Native Persistence</code> is a distributed ACID and SQL-compliant disk
-                                store that transparently integrates with Ignite's Durable Memory as an optional
-                                persistence layer, storing data and indexes on SSD, Flash, 3D XPoint, or any other
-                                types of storages.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/distributed-persistent-store" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">
-                            <b>Database Integration</b>
-                        </td>
-                        <td>
-                            <p>
-                                Ignite can automatically integrate with external databases, like RDBMS, NoSQL, HDFS and others.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/3rd-party-store" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left" width="35%">Write-Through</td>
-                        <td>
-                            <p>
-                                Write-Through mode allows updating the data in the database.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Read-Through</td>
-                        <td>
-                            <p>
-                                Read-Through mode allows reading the data from the database.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Write-Behind Caching</td>
-                        <td>
-                            <p>
-                                Ignite provides an option to asynchronously perform updates to the database via Write-Behind Caching.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#section-write-behind-caching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Web Session Clustering</td>
-                        <td>
-                            <p>
-                                Ignite data grid is capable of caching web sessions of all Java Servlet
-                                containers that follow Java Servlet 3.0 Specification, including Apache Tomcat,
-                                Eclipse Jetty, Oracle WebLogic, and others.
-                            </p>
-                            <p>
-                                Web sessions caching becomes useful when running a cluster of app servers to improve
-                                performance and scalability of the servlet container.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite-mix.readme.io/docs/web-session-clustering" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Hibernate L2 Caching</td>
-                        <td>
-                            <p>
-                                Ignite data grid can be used as <code>Hibernate Second-Level Cache</code> (or L2 cache),
-                                which can significantly speed-up the persistence layer of your application.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Spring Caching</td>
-                        <td>
-                            <p>
-                                Ignite provides Spring-annotation-based way to enable caching for Java methods so that
-                                the result of a method execution is stored in the Ignite cache. If later the same
-                                method is called with the same set of parameters, the result will be retrieved from
-                                the cache instead of actually executing the method.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite-mix.readme.io/docs/spring-caching" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Spring Data</td>
-                        <td>
-                            <p>
-                                Apache Ignite implements Spring Data <code>CrudRepository</code> interface that not only supports basic CRUD operations but also provides access to the Apache Ignite SQL capabilities via the unified Spring Data API.
-                            </p>
-                            <div class="page-links">
-                                <a href="https://apacheignite-mix.readme.io/docs/spring-data" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">XA/JTA</td>
-                        <td>
-                            <p>
-                                Ignite can be configured with a Java Transaction API (JTA) transaction manager lookup class.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/transactions#integration-with-jta" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">OSGI Support</td>
-                        <td>
-                            <p></p> &nbsp;
-                            <div  class="page-links">
-                                <a href="https://apacheignite-mix.readme.io/docs/starting-inside-an-osgi-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Binary Protocol</td>
-                        <td>
-                            <p>
-                                Apache Ignite stores data in caches as <code>BinaryObjects</code> that allows you to:
-                            </p>
-                            <ul class="page-list">
-                                <li>Read a serialized object's field without full object deserialization.</li>
-                                <li>Dynamically change  an object's structure.</li>
-                                <li>Dynamically create an object.</li>
-                            </ul>
-                            <div  class="page-links">
-                                <a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
+                <tr>
+                    <td class="left">Key-Value Store</td>
+                    <td>
+                        <p>
+                            Ignite data grid is a <code>key-value store</code> which can store data both, in-memory
+                            and on-disk. It can be viewed as a distributed partitioned hash map, with every cluster
+                            node owning a portion of the overall data. This way the more cluster nodes we add,
+                            the more data we can store:
+                        </p>
+
+                        <div class="page-links">
+                            <a href="/use-cases/database/key-value-store.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Durable Memory</td>
+                    <td>
+                        <p>
+                            Ignite <code>Durable Memory</code> allows storing and processing data and indexes
+                            both, in memory and on disk. The in-memory data, including indexes, is always
+                            stored and managed <code>off-heap</code>, completely removing any type of Garbage
+                            Collection overhead.
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/durable-memory" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">JCache (JSR 107)</td>
+                    <td>
+                        <p>
+                            Ignite is a 100% compliant implementation of <span style="white-space: nowrap">JCache (JSR 107)</span> specification.
+                            JCache provides a very simple to use, yet very powerful API for data caching:
+                        </p>
+                        <div class="page-links">
+                            <a href="/use-cases/caching/jcache-provider.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Memory-Centric Storage</td>
+                    <td>
+                        <p>
+                            Apache Ignite is based on distributed <i>memory-centric architecture</i> that combines the
+                            performance and scale of in-memory computing together with the disk durability and strong
+                            consistency in one system:
+                        </p>
+                        <div class="page-links">
+                            <a href="/arch/memorycentric.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Collocated Processing</td>
+                    <td>
+                        <p>
+                            Ignite allows executing any native Java, C++, and .NET/C# code directly on the server-side,
+                            close to the data, in collocated fashion:
+                        </p>
+                        <div  class="page-links">
+                            <a href="/features/collocatedprocessing.html" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Client-side Near Caches</td>
+                    <td>
+                        <p>
+                            Near cache is local client-side cache that stores the most recently and most frequently accessed data.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/near-caches" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">ACID Transactions</td>
+                    <td>
+                        <p>
+                            Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.
+                        </p>
+                        <div class="page-links">
+                            <a href="/features/transactions.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Deadlock-Free Transactions</td>
+                    <td>
+                        <p>
+                            Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks,
+                            and free users from worrying about the lock order.
+                            Such transactions also provide much better performance:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Transactional Entry Processor</td>
+                    <td>
+                        <p>
+                            Ignite transactional entry processor allows executing collocated user logic on the server
+                            side within a transaction:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Cross-Partition Transactions</td>
+                    <td>
+                        <p>
+                            In Ignite, transactions can be performed on all partitions of a cache across the whole
+                            cluster:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Locks</td>
+                    <td>
+                        <p>
+                            Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/distributed-locks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Continuous Queries</td>
+                    <td>
+                        <p>
+                            Continuous queries are useful for cases when you want to execute a query and then
+                            continue to get notified about the data changes that fall into your query filter:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Write-Through</td>
+                    <td>
+                        <p>
+                            Write-Through mode allows updating the data in the database.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Read-Through</td>
+                    <td>
+                        <p>
+                            Read-Through mode allows reading the data from the database.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Write-Behind Caching</td>
+                    <td>
+                        <p>
+                            Ignite provides an option to asynchronously perform updates to the database via Write-Behind Caching.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/3rd-party-store#section-write-behind-caching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Hibernate L2 Caching</td>
+                    <td>
+                        <p>
+                            Ignite data grid can be used as <code>Hibernate Second-Level Cache</code> (or L2 cache),
+                            which can significantly speed-up the persistence layer of your application.
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Spring Caching</td>
+                    <td>
+                        <p>
+                            Ignite provides Spring-annotation-based way to enable caching for Java methods so that
+                            the result of a method execution is stored in the Ignite cache. If later the same
+                            method is called with the same set of parameters, the result will be retrieved from
+                            the cache instead of actually executing the method.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite-mix.readme.io/docs/spring-caching" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Spring Data</td>
+                    <td>
+                        <p>
+                            Apache Ignite implements Spring Data <code>CrudRepository</code> interface that not only supports basic CRUD operations but also provides access to the Apache Ignite SQL capabilities via the unified Spring Data API.
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite-mix.readme.io/docs/spring-data" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">OSGI Support</td>
+                    <td>
+                        <p></p> &nbsp;
+                        <div  class="page-links">
+                            <a href="https://apacheignite-mix.readme.io/docs/starting-inside-an-osgi-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
                 </tbody>
             </table>
         </section>
diff --git a/features/datastructures.html b/features/datastructures.html
index 1d9b75d..e735a80 100644
--- a/features/datastructures.html
+++ b/features/datastructures.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Distributed Data Structures - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -63,7 +63,7 @@
             <p>
                 <div class="page-heading">Supported Data Structures:</div>
                 <ul class="page-list">
-                    <li><a href="datagrid.html">Concurrent Map (Cache)</a></li>
+                    <li><a href="/features/datagrid.html">Concurrent Map (Cache)</a></li>
                     <li><a href="http://apacheignite.readme.io/docs/queue-and-set" target="docs">Distributed Queues and Sets</a></li>
                     <li><a href="http://apacheignite.readme.io/docs/atomic-types" target="docs">AtomicLong</a></li>
                     <li><a href="http://apacheignite.readme.io/docs/atomic-types" target="docs">AtomicReference</a></li>
diff --git a/features/datavisualization.html b/features/datavisualization.html
index 0d06589..cef3c2d 100644
--- a/features/datavisualization.html
+++ b/features/datavisualization.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Data Visualization - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
diff --git a/features/deploy.html b/features/deploy.html
deleted file mode 100644
index a60432d..0000000
--- a/features/deploy.html
+++ /dev/null
@@ -1,225 +0,0 @@
- <!--
- ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
- ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
- ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
-  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
-  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="canonical" href="https://ignite.apache.org/features/deploy.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>Deployment Options - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="deployment-options" class="page-section">
-            <h1 class="first">Deployment Options</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0;">
-                    <p>
-                        Apache Ignite can run stand alone, in a cluster, within Kubernetes and Docker containers, as well
-                        as on Apache Mesos and Hadoop Yarn. It can also run on physical servers as well as within
-                        virtual environments.
-                    </p>
-                    <div class="page-heading">Public Clouds:</div>
-                    <p>
-                        For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
-                        and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
-                        integrates with <code class="text-nowrap">Apache JClouds</code> that has support for most of the
-                        <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing
-                            cloud providers</a>.
-                    </p>
-                </div>
-
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0;">
-                    <img class="img-responsive" src="/images/ignite-deploy.png" width="540px" style="float:right;"/>
-                </div>
-            </div>&nbsp;
-
-            <div class="page-heading">Containers:</div>
-            <p>
-                Ignite can freely run within container environments. Ignite's integration with <code>Docker</code>
-                allows to automatically build and deploy user code into Ignite prior to server startup.
-            </p>
-            <p>
-                Apache Ignite cluster can also be deployed in <code>Kubernetes</code> that allows automatic deployment and management of
-                containerized applications.
-            </p>
-
-            <div class="page-heading">Resource Managers:</div>
-            <p>
-                Ignite provides native integration for <code class="text-nowrap">Hadoop Yarn</code> and <code class="text-nowrap">Apache Mesos</code> making it very easy
-                to seamlessly deploy Ignite into Hadoop and Spark environments.
-            </p>
-        </section>
-
-
-        <section id="key-features" class="page-section">
-            <h2>Deployment Options</h2>
-            <table class="formatted" name="Deployment Options Features">
-                <thead>
-                    <tr>
-                        <th width="35%" class="left">Feature</th>
-                        <th>Description</th>
-                    </tr>
-                </thead>
-                <tbody>
-                <tr>
-                    <td class="left">Zero Deployment</td>
-                    <td>
-                        <p>
-                            Ignite nodes automatically become aware of custom classes, eliminating the need to explicitly deploy them.
-                        </p>
-                        <div  class="page-links">
-                            <a href="https://apacheignite.readme.io/docs/zero-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="left">Dynamic Schema Changes</td>
-                    <td>
-                        <p>
-                            Ignite stores objects in binary format eliminating the need to deploy classes on server nodes.
-                        </p>
-                        <div  class="page-links">
-                            <a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                        </div>
-                    </td>
-                </tr>
-                    <tr>
-                        <td class="left">Stand-Alone Clusters</td>
-                        <td>
-                            <p>
-                                Ignite nodes can automatically discover each other. This helps to scale the cluster
-                                when needed, without having to restart the whole cluster - simply start up new additional
-                                nodes and they will automatically join the existing work loads.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/cluster" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Docker Container</td>
-                        <td>
-                            <p>
-                                <code>Docker</code> allows to package Ignite deployment with all the dependencies into a
-                                standard container. Docker automates downloading the Ignite release, deploying users'
-                                code into Ignite, and configuring nodes. It also automatically starts up the fully
-                                configured Ignite node.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/docker-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                <tr>
-                    <td class="left">Kubernetes</td>
-                    <td>
-                        <p>
-                            Apache Ignite cluster can be easily deployed in and maintained by <code>Kubernetes</code> which is an
-                            open-source system for automating deployment, scaling, and management of containerized applications.
-                        </p>
-                        <div class="page-links">
-                            <a href="https://apacheignite.readme.io/docs/kubernetes-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                        </div>
-                    </td>
-                </tr>
-                    <tr>
-                        <td class="left">Public Clouds</td>
-                        <td>
-                            <p>
-                                For public cloud environments, Ignite has native integration with <code class="text-nowrap">Amazon AWS</code>
-                                and <code class="text-nowrap">Google Compute Engine</code>. For all other cloud environments, Ignite
-                                integrates with <code class="text-nowrap">Apache JClouds</code> which has support for most of the
-                                <a href="https://jclouds.apache.org/reference/providers/" target="_blank" class="text-nowrap">existing cloud providers</a>.
-                            </p>
-                            <div class="page-links" style="line-height: 1.3;">
-                                <a href="https://apacheignite-mix.readme.io/docs/amazon-aws" target="docs">Amazon AWS Integration <i class="fa fa-angle-double-right"></i></a><br/>
-                                <a href="https://apacheignite-mix.readme.io/docs/google-compute-engine" target="docs">Google Cloud Integration <i class="fa fa-angle-double-right"></i></a><br/>
-                                <a href="https://apacheignite-mix.readme.io/docs/jclouds" target="docs">Apache JClouds Integration <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Apache Mesos</td>
-                        <td>
-                            <p>
-                                Ignite provides native integration for <code>Apache Mesos</code> making it very easy
-                                to deploy into Mesos data centers, such as, for example, Hadoop and Spark environments.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/mesos-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td class="left">Hadoop Yarn</td>
-                        <td>
-                            <p>
-                                Ignite provides native integration for <code>Hadoop Yarn</code> making it very easy
-                                to deploy into Hadoop and Spark environments.
-                            </p>
-                            <div class="page-links">
-                                <a href="http://apacheignite.readme.io/docs/yarn-deployment" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                <tr>
-                    <td class="left">OSGI Support</td>
-                    <td>
-                        <p></p>&nbsp;
-                        <div  class="page-links">
-                            <a href="https://apacheignite-mix.readme.io/docs/installation-in-apache-karaf" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                        </div>
-                    </td>
-                </tr>
-                </tbody>
-            </table>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/features/dotnet.html b/features/dotnet.html
deleted file mode 100644
index e5c52ac..0000000
--- a/features/dotnet.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!--
-▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
-▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
-▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
- ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
- ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="canonical" href="https://ignite.apache.org/features/dotnet.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>.NET Support - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="dotnet" class="page-section">
-            <h1 class="first">Apache Ignite for .NET</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:0">
-                    <p>
-                        Ignites's In-Memory Data Fabric for .NET is designed to deliver uncompromised
-                        performance for a wide set of in-memory computing use cases on top of .NET platform -
-                        from high performance computing, to the industry most advanced data grid, CEP, and data streaming - all through native, optimized .NET APIs.
-                    </p>
-
-                    <p>
-                        Ignite .NET is built on top of Ignite. This allows you to perform almost all the in-memory data grid operations including
-                        <span style="white-space: nowrap"><a href="https://apacheignite-net.readme.io/docs/transactions" target="_blank">ACID Transactions</a></span>,
-                        <a href="https://apacheignite-sql.readme.io/docs/net-sql-api" target="_blank">SQL Queries</a>,
-                        <a href="https://apacheignite-sql.readme.io/docs/net-sql-api#section-sqlquery" target="_blank">Distributed SQL Joins</a>,
-                        <a href="https://apacheignite-net.readme.io/docs/topic-based" target="_blank">Messaging</a> and <a href="https://apacheignite-net.readme.io/docs/local-and-remote-events" target="_blank">Events</a>,
-                        <a href="https://apacheignite-net.readme.io/docs/streaming" target="_blank">Data Streaming</a>, and more, on replicated or partitioned caches distributed across the cluster.
-                    </p>
-                    <p>
-                        Ignite also supports <span style="white-space: nowrap"><a href="https://apacheignite-net.readme.io/docs/platform-interoperability" target="_blank">Cross-Platform Interoperability</a></span>
-                        allowing applications to seamlessly interoperate between <b>Java</b>, <b>.NET</b> and <b>C++</b> by writing/reading objects to/from cache in a common binary format.
-                        Additionally, both Ignite .NET and Ignite C++ provide native APIs and their implementations that delegate most of the calls to Java using JNI.
-                        Here, it is worth mentioning that the JNI overhead is minimal and does not cause any performance degradation, especially in distributed environments where network is the main obstacle.
-                        Furthermore, Ignite provides a pure .NET implementation of the Binary Marshaller to contribute to the perfomance.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-4 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/dotnet.png" width="200" style="float:right;"/>
-                </div>
-            </div>
-
-            <div class="code-examples">
-                <div class="page-heading">Code Examples:</div>
-                <!-- Nav tabs -->
-                <ul id="messaging-examples" class="nav nav-tabs">
-                    <li class="active"><a href="#put-get" aria-controls="home" data-toggle="tab">Put and Get</a></li>
-                    <li><a href="#transactions" aria-controls="profile" data-toggle="tab">Transactions</a></li>
-                    <li><a href="#sql-query" aria-controls="profile" data-toggle="tab">SQL Query</a></li>
-                    <li><a href="#sql-join" aria-controls="profile" data-toggle="tab">SQL Join</a></li>
-                    <li><a href="#linq" aria-controls="profile" data-toggle="tab">LINQ</a></li>
-                </ul>
-
-                <!-- Tab panes -->
-                <div class="tab-content">
-                    <div class="tab-pane active" id="put-get">
-                        <pre class="brush:csharp">
-                            using (var ignite = Ignition.Start())
-                            {
-                                var cache = ignite.GetOrCreateCache&lt;int, string&gt;("myCache");
-
-                                // Store keys in cache (values will end up on different cache nodes).
-                                for (int i = 0; i &lt; 10; i++)
-                                    cache.Put(i, i.ToString());
-
-                                for (int i = 0; i &lt; 10; i++)
-                                    Console.WriteLine("Got [key={0}, val={1}]", i, cache.Get(i));
-                            }
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="transactions">
-                        <pre class="brush:csharp">
-                            using (var tx = ignite.GetTransactions().TxStart())
-                            {
-                                var hello = cache.Get(1);
-
-                                if (hello == "1")
-                                    cache.Put(1, "Hello");
-
-                                cache.Put(22, "World");
-
-                                tx.Commit();
-                            }
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-query">
-                        <pre class="brush:csharp">
-                            var cache = ignite.GetOrCreateCache&lt;int, Person&gt;("personCache");
-
-                            var sql = new SqlQuery("Person", "Salary &lt; 1000");
-
-                            var cursor = cache.Query(sql);
-
-                            foreach (var cacheEntry in cursor)
-                                Console.WriteLine(cacheEntry.Value);
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-join">
-                        <pre class="brush:csharp">
-                            var cache = ignite.GetOrCreateCache&lt;int, Person&gt;("personCache");
-
-                            // SQL join on Person and Organization.
-                            var sql = new SqlQuery("Person", "from Person as p, \"orgCache\".Organization as org"
-                              + "where p.OrgId = org.Id "
-                              + "and org.name = Ignite");
-
-                            // Find all persons working for Ignite organization.
-                            foreach (var cacheEntry in cache.Query(sql))
-                                Console.WriteLine(cacheEntry.Value);
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="linq">
-                        <pre class="brush:csharp">
-                            var cache = ignite.GetOrCreateCache&lt;int, Person&gt;("personCache");
-
-                            var qry = cache.AsCacheQueryable().Where(x => x.Value.Salary < 1000);
-
-                            foreach (var cacheEntry in qry)
-                                Console.WriteLine(cacheEntry.Value);
-                        </pre>
-                    </div>
-                </div>
-            </div>
-            <div class="page-heading">GitHub Examples:</div>
-            <p>
-                Also see <a href="https://github.com/apache/ignite/tree/master/modules/platforms/dotnet/examples" target="github">Ignite .NET examples</a>
-                available on GitHub.
-            </p>
-
-            <p>
-                <a href="https://apacheignite-net.readme.io/docs/getting-started" target="_blank">
-                    <b>Get started with Ignite .NET <i class="fa fa-angle-double-right"></i></b>
-                </a>
-            </p>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/features/igfs.html b/features/igfs.html
index 34a6e32..a517944 100644
--- a/features/igfs.html
+++ b/features/igfs.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>In-Memory File System - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/igniterdd.html b/features/igniterdd.html
index 9fb674b..d575b38 100644
--- a/features/igniterdd.html
+++ b/features/igniterdd.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Apache Spark Shared RDDs - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/java.html b/features/java.html
deleted file mode 100644
index 3bcc960..0000000
--- a/features/java.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!--
-▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
-▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
-▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
- ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
- ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<link rel="canonical" href="https://ignite.apache.org/features/java.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>Java Powered - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="java" class="page-section">
-            <h1 class="first">Powered by Java</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:0">
-                    <p>
-                        Ignite In-Memory Data Fabric is developed predominantly in Java, and provides native support for other languages.
-                        It is designed to deliver uncompromised performance for a wide set of in-memory computing use cases -
-                        from high performance computing, to the industry most advanced data grid, CEP, and data streaming.
-                    </p>
-
-                    <p>
-                        Ignite data grid is an <b>in-memory key-value store</b> which enables caching data in-memory within distributed clusters. It supports
-                        <span style="white-space: nowrap"><a href="https://apacheignite.readme.io/docs/transactions" target="_blank">ACID Transactions</a></span>,
-                        <a href="https://apacheignite-sql.readme.io/docs/overview" target="_blank">SQL Queries</a>,
-                        <a href="https://apacheignite-sql.readme.io/docs/distributed-joins" target="_blank">Distributed SQL Joins</a>,
-                        <a href="https://apacheignite.readme.io/docs/messaging" target="_blank">Messaging</a> and <a href="https://apacheignite.readme.io/docs/events" target="_blank">Events</a>,
-                        <a href="https://apacheignite.readme.io/docs/streaming--cep" target="_blank">Data Streaming</a>, and more.
-                    </p>
-                    <p>
-                        Ignite also supports <a href="https://apacheignite.readme.io/docs/binary-marshaller" target="_blank">Cross-platform Interoperability</a>
-                        by writing objects to cache in a common binary format allowing application to seamlessly interoperate between <b>Java</b>, <b>.NET</b> and <b>C++</b>.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-4 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/java.png" width="300" style="float:right;"/>
-                </div>
-            </div>
-
-            <div class="code-examples">
-                <div class="page-heading">Code Examples:</div>
-                <!-- Nav tabs -->
-                <ul id="messaging-examples" class="nav nav-tabs">
-                    <li class="active"><a href="#put-get" aria-controls="home" data-toggle="tab">Put and Get</a></li>
-                    <li><a href="#transactions" aria-controls="profile" data-toggle="tab">Transactions</a></li>
-                    <li><a href="#sql-query" aria-controls="profile" data-toggle="tab">SQL Query</a></li>
-                    <li><a href="#sql-join" aria-controls="profile" data-toggle="tab">SQL Join</a></li>
-                </ul>
-
-                <!-- Tab panes -->
-                <div class="tab-content">
-                    <div class="tab-pane active" id="put-get">
-                        <pre class="brush:java">
-                            Ignite ignite = Ignition.ignite();
-
-                            IgniteCache&lt;Integer, String&gt; cache = ignite.cache(CACHE_NAME);
-
-                            // Store keys in cache (values will end up on different cache nodes).
-                            for (int i = 0; i &lt; 10; i++)
-                                cache.put(i, Integer.toString(i));
-
-                            for (int i = 0; i &lt; 10; i++)
-                                System.out.println("Got [key=" + i + ", val=" + cache.get(i) + ']');
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="transactions">
-                        <pre class="brush:java">
-                            try (Transaction tx = transactions.txStart()) {
-                                Integer hello = cache.get("Hello");
-
-                                if (hello == 1)
-                                    cache.put("Hello", 11);
-
-                                cache.put("World", 22);
-
-                                tx.commit();
-                            }
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-query">
-                        <pre class="brush:java">
-                            IgniteCache&lt;Long, Person&gt; cache = ignite.cache("personCache");
-
-                            SqlQuery sql = new SqlQuery(Person.class, "salary > ?");
-
-                            // Find persons earning more than 1,000.
-                            try (QueryCursor&lt;Entry&lt;Long, Person&gt;&gt; cursor = cache.query(sql.setArgs(1000))) {
-                              for (Entry&lt;Long, Person&gt; e : cursor)
-                                System.out.println(e.getValue().toString());
-                            }
-                        </pre>
-                    </div>
-                    <div class="tab-pane" id="sql-join">
-                        <pre class="brush:java">
-                            IgniteCache&lt;Long, Person&gt; cache = ignite.cache("personCache");
-
-                            // SQL join on Person and Organization.
-                            SqlQuery sql = new SqlQuery(Person.class,
-                              "from Person as p, \"orgCache\".Organization as org "
-                              + "where p.orgId = org.id "
-                              + "and lower(org.name) = lower(?)");
-
-                            // Find all persons working for Ignite organization.
-                            try (QueryCursor&lt;Entry&lt;Long, Person&gt;&gt; cursor = cache.query(sql.setArgs("Ignite"))) {
-                              for (Entry&lt;Long, Person&gt; e : cursor)
-                                System.out.println(e.getValue().toString());
-                            }
-                        </pre>
-                    </div>
-                </div>
-            </div>
-            <div class="page-heading">GitHub Examples:</div>
-            <p>
-                Also see <a href="https://github.com/apache/ignite/tree/master/examples" target="github">Ignite Java examples</a>
-                available on GitHub.
-            </p>
-
-            <p>
-                <a href="https://apacheignite.readme.io/docs/getting-started" target="_blank">
-                    <b>Get started with Ignite Java <i class="fa fa-angle-double-right"></i></b>
-                </a>
-            </p>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/features/machinelearning.html b/features/machinelearning.html
index fbce935..01f366f 100644
--- a/features/machinelearning.html
+++ b/features/machinelearning.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Machine Learning - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -52,20 +52,20 @@
 
     <main id="main" role="main" class="container">
         <section id="machine-learning" class="page-section">
-            <h1 class="first">Machine Learning<sup><span style="font-size: 20px;">&beta;eta</span></sup></h1>
+            <h1 class="first">Machine Learning</h1>
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left:0; padding-right:0;">
                 <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0; padding-right:0;">
                     <p>Apache Ignite 2.0 release introduced first version of its own distributed Machine Learning (ML) library called ML Grid.</p>
                     <p>
                         The rationale for building ML Grid is quite simple. Many users employ Ignite as the central high-performance storage and processing
-                        systems for various data sets. If they wanted to perform ML or Deep Learning (DL) on these data sets (i.e training sets or model inference)
-                        they had to ETL them first into some other systems like Apache Mahout or Apache Spark.
+                        system. If they want to execute ML or Deep Learning (DL) algorithms (i.e training sets or model inference)
+                        they can run them directly on Ignite cluster without having to ETL the data into some other system, like Apache Mahout or Apache Spark.
                     </p>
                     <p>
-                        Presently ML Grid supports core distributed algebra implementation based on Ignite co-located distributed processing
-                        as well as essential machine learning algorithms such as Linear Regression, Decision Trees, K-Means clustering and more.
+                        Presently ML Grid supports core distributed algebra implementation based on Ignite co-located distributed processing,
+                        as well as other essential machine learning algorithms such as Linear Regression, Decision Trees, K-Means clustering and more.
                         Future releases will introduce custom DSLs for Python, R and Scala,
-                        growing collection of optimized ML algorithms as well support for Ignite-optimized Neural Networks.
+                        growing collection of optimized ML algorithms as well as support for Ignite-optimized Neural Networks.
                     </p>
                 </div>
                 <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0; top: -10px;">
diff --git a/features/mapreduce.html b/features/mapreduce.html
index ab5dfcf..e86c5f8 100644
--- a/features/mapreduce.html
+++ b/features/mapreduce.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>In-Memory MapReduce - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/messaging.html b/features/messaging.html
index e03f546..838b7d3 100644
--- a/features/messaging.html
+++ b/features/messaging.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Distributed Messaging &amp; Events - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/multilanguage.html b/features/multilanguage.html
new file mode 100644
index 0000000..e0b6229
--- /dev/null
+++ b/features/multilanguage.html
@@ -0,0 +1,298 @@
+<!--
+▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
+▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
+▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
+░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
+▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
+▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
+ ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
+ ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
+     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
+-->
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="canonical" href="https://ignite.apache.org/features/multilanguage.html" />
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>Multi-Language Support</title>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1509574040">
+    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+
+    <!--#include virtual="/includes/sh.html" -->
+</head>
+<body>
+<div id="wrapper">
+    <!--#include virtual="/includes/header.html" -->
+    <main id="main" role="main" class="container">
+        <section id="java" class="page-section">
+            <h1 class="first">Multi-Language Support</h1>
+            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
+                <div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:0">
+                    <p>
+                        Apache Ignite is developed predominantly in <b>Java</b> and, thus, can be deployed and used on
+                        numerous operating systems and architectures supported by Java Virtual Machine. For instance,
+                        you can find Ignite deployments running on Linux, Windows, Mac OS, Oracle Solaris operating
+                        systems and x86, x64, SPARC, PowerPC instruction set architectures.
+                    </p>
+                    <p>
+                        <a href="https://apacheignite.readme.io/" target="_blank">Java APIs</a> are provided for every
+                        Ignite feature available. The APIs allow to embed Ignite related logic directly in Java or Scala
+                        powered applications and interact with the cluster by means of SQL and key-value operations,
+                        execute distributed computations and machine learning algorithms, and do much more.
+                    </p>
+                    <p>
+                        In addition to Java, Ignite natively supports <b>.NET</b> platform with <b>C#</b> and <b>C++</b>
+                        languages. Both <a href="https://apacheignite-net.readme.io/" target="_blank">Ignite .NET</a>
+                        and <a href="https://apacheignite-cpp.readme.io/" target="_blank">Ignite C++</a> APIs delegate most
+                        of the calls to Java using JNI. Here, it is worth mentioning that the JNI overhead is minimal
+                        and does not cause any performance degradation, especially in distributed environments where
+                        the network is a main contributor to the overall application performance.
+                    </p>
+                    <p>
+                        You can interact with Ignite as you would with any other <b>SQL</b> storage, using standard JDBC or
+                        ODBC connectivity. Ignite also provides native SQL APIs for Java, .NET and C++ developers
+                        for better performance.
+                    </p>
+                    <p>
+                        To access Ignite from other programming languages such as <b>Python</b>, <b>Ruby</b>, <b>PHP</b>
+                        or <b>Node.JS</b> consider using Ignite binary client protocol, JDBC and ODBC drivers, or other
+                        client protocols listed below.
+                    </p>
+                </div>
+                <div class="col-sm-6 col-md-4 col-xs-12" style="padding-right:0">
+                    <img class="img-responsive" src="/images/multilanguage.png" style="float:right;"/>
+                </div>
+
+            </div>
+
+            <div class="code-examples">
+                <div class="page-heading"> Getting Started Guides</div>
+
+                <p>
+                    The getting started guides that show how to start and make use of Apache Ignite in a matter of minutes:
+                </p>
+
+                <ul class="page-list">
+                    <li><a href="https://apacheignite.readme.io/docs/getting-started" target="_blank">Java Getting Started</a></li>
+                    <li><a href="https://apacheignite-net.readme.io/docs/getting-started-2" target="_blank">.NET Getting Started</a></li>
+                    <li><a href="https://apacheignite-cpp.readme.io/docs/getting-started-1" target="_blank">C++ Getting Started</a></li>
+                    <li><a href="https://apacheignite-sql.readme.io/docs/getting-started" target="_blank">SQL Getting Started</a></li>
+                </ul>
+            </div>
+
+            <div class="code-examples">
+                <div class="page-heading">Code Examples</div>
+                <!-- Nav tabs -->
+                <ul id="messaging-examples" class="nav nav-tabs">
+                    <li class="active"><a href="#java-ex" aria-controls="home" data-toggle="tab">Java</a></li>
+                    <li><a href="#dotnet-ex" aria-controls="profile" data-toggle="tab">.NET</a></li>
+                    <li><a href="#cpp-ex" aria-controls="profile" data-toggle="tab">C++</a></li>
+                    <li><a href="#php-ex" aria-controls="profile" data-toggle="tab">PHP</a></li>
+                </ul>
+
+                <!-- Tab panes -->
+                <div class="tab-content">
+                    <div class="tab-pane active" id="java-ex">
+                        <pre class="brush:java">
+                            Ignite ignite = Ignition.ignite();
+
+                            IgniteCache&lt;Integer, String&gt; cache = ignite.cache("myCache");
+
+                            // Store keys in cache (values will end up on different nodes).
+                            for (int i = 0; i &lt; 10; i++)
+                                cache.put(i, Integer.toString(i));
+
+                            for (int i = 0; i &lt; 10; i++)
+                                System.out.println("Got [key=" + i + ", val=" + cache.get(i) + ']');
+                        </pre>
+                    </div>
+                    <div class="tab-pane" id="dotnet-ex">
+                        <pre class="brush:csharp">
+                            using (var ignite = Ignition.Start())
+                            {
+                                var cache = ignite.GetOrCreateCache&lt;int, string&gt;("myCache");
+
+                                // Store keys in cache (values will end up on different nodes).
+                                for (int i = 0; i &lt; 10; i++)
+                                    cache.Put(i, i.ToString());
+
+                                for (int i = 0; i &lt; 10; i++)
+                                    Console.WriteLine("Got [key={0}, val={1}]", i, cache.Get(i));
+                            }
+                        </pre>
+                    </div>
+                    <div class="tab-pane" id="cpp-ex">
+                        <pre class="brush:cpp">
+                            // Get cache instance.
+                            Cache&lt;int, std::string&gt; cache = grid.GetCache&lt;int, std::string&gt;("myCache");
+
+                            // Store keys in cache (values will end up on different  nodes).
+                            for (int i = 0; i &lt; 10; ++i)
+                            {
+                                std::stringstream value;
+                                value &lt;&lt; i;
+
+                                cache.Put(i, value.str());
+                            }
+
+                            for (int i = 0; i &lt; 10; ++i)
+                                std::cout &lt;&lt; "Got [key=" &lt;&lt; i &lt;&lt; ", val=" &lt;&lt; cache.Get(i) &lt;&lt; "]";
+                        </pre>
+                    </div>
+                    <div class="tab-pane" id="php-ex">
+                        <pre class="brush:cpp">
+                           &lt;?php
+                                try {
+                                    // Connecting to Ignite using pre-configured DSN.
+                                    $dbh = new PDO('odbc:LocalApacheIgniteDSN');
+
+                                    // Changing PDO error mode.
+                                    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+
+                                    // Executing the query. The salary field is an indexed field.
+                                    $dbh->query('UPDATE Person SET salary = 42000 WHERE salary > 50000');
+
+                                } catch (PDOException $e) {
+                                    print "Error!: " . $e->getMessage() . "\n";
+                                    die();
+                                }
+                            ?&gt;
+                        </pre>
+                    </div>
+                </div>
+            </div>
+
+            <p>
+                More examples are available on
+                <a href="https://github.com/apache/ignite/tree/master" target="_blank">GitHub</a>:
+            <ul class="page-list">
+                <li><a href="https://github.com/apache/ignite/tree/master/examples" target="_blank">Java Examples</a></li>
+                <li><a href="https://github.com/apache/ignite/tree/master/modules/platforms/dotnet/examples" target="_blank">.NET Examples</a></li>
+                <li><a href="https://github.com/apache/ignite/tree/master/modules/platforms/cpp/examples" target="_blank">C++ Examples</a></li>
+            </ul>
+            </p>
+
+            <div class="page-heading">Supported Drivers and Protocols</div>
+            <table class="formatted" name="Supported Clients Features">
+                <thead>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="left">Ignite Native Client</td>
+                    <td>
+                        <p>
+                            Ignite Native Clients provide full functionality to remote applications connecting to
+                            the cluster. It allows to use the whole set of Ignite APIs, including SQL, key-value,
+                            transactions, compute, streaming, services, etc. The native clients can be used from
+                            Ignite Java, .NET or C++ APIs.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">JDBC/ODBC Drivers</td>
+                    <td>
+                        <p>
+                            Ignite is shipped with JDBC/ODBC Drivers that allow you to retrieve distributed data from
+                            the cluster using standard SQL queries.
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite-sql.readme.io/docs" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">REST/HTTP</td>
+                    <td>
+                        <p>
+                            Ignite provides an HTTP REST client that gives you the ability to communicate with the
+                            grid over HTTP and HTTPS protocols using REST approach. REST APIs can be used to
+                            perform different operations, like read/write from/to the cluster, execute tasks, get
+                            various metrics and more.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/rest-api" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Memcached</td>
+                    <td>
+                        <p>
+                            Ignite is <a href="http://memcached.org/" target="_blank">Memcached</a> compliant,
+                            which enables users to store and retrieve distributed data from Ignite cache using any
+                            Memcached compatible client, including Java, PHP, Python, Ruby, and other Memcached
+                            clients.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/memcached-support" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">PHP PDO</td>
+                    <td>
+                        <p>
+                            PHP provides a lightweight, consistent interface for accessing databases named PHP Data
+                            Objects - PDO. With the usage of Apache Ignite's ODBC driver, it's possible to connect to an
+                            Apache Ignite cluster from a PHP application accessing and modifying data that is stored there.
+                        </p>
+                        <div class="page-links">
+                            <a href="https://apacheignite-sql.readme.io/docs/php-pdo" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">Redis</td>
+                    <td>
+                        <p>
+                            Ignite is partially <a href="http://redis.io/" target="_blank">Redis</a> compliant and enables users
+                            to store data in and retrieve from Apache Ignite caches using any Redis compatible client.
+                        </p>
+                        <div class="page-links">
+                            <a href="http://apacheignite.readme.io/docs/redis" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </section>
+    </main>
+
+    <!--#include virtual="/includes/footer.html" -->
+</div>
+<!--#include virtual="/includes/scripts.html" -->
+</body>
+</html>
diff --git a/features/rdbmsintegration.html b/features/rdbmsintegration.html
index d95fbaa..0419623 100644
--- a/features/rdbmsintegration.html
+++ b/features/rdbmsintegration.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Automatic RDBMS Integration - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/runseverywhere.html b/features/runseverywhere.html
index 4935115..ff5c812 100644
--- a/features/runseverywhere.html
+++ b/features/runseverywhere.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Platform Interoperability, Client Protocol Support and Deployment Options - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/servicegrid.html b/features/servicegrid.html
index a69295f..2f35010 100644
--- a/features/servicegrid.html
+++ b/features/servicegrid.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Distributed Service Grid - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/sql.html b/features/sql.html
index d65301b..76bb265 100644
--- a/features/sql.html
+++ b/features/sql.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Distributed SQL - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -51,7 +51,7 @@
 
     <main id="main" role="main" class="container">
         <section id="sql-queries" class="page-section">
-            <h1 class="first">Distributed SQL Database</h1>
+            <h1 class="first">Distributed Memory-Centric SQL Database</h1>
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
                 <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0;">
                     <p>
@@ -61,9 +61,9 @@
                         use case.
                     </p>
                     <p>
-                        Unlike many distributed SQL databases, Ignite <a href="/features/durablememory.html">durable memory</a>
+                        Unlike many distributed SQL databases, Ignite <a href="/arch/durablememory.html">durable memory</a>
                         treats both memory and disk as active storage tiers. The disk tier, a.k.a.
-                        <nobr><a href="/features/persistence.html">native persistence</a></nobr>, is disabled by default,
+                        <nobr><a href="/arch/persistence.html">native persistence</a></nobr>, is disabled by default,
                         in which case Ignite becomes a pure
                         <nobr><a href="/use-cases/database/in-memory-database.html">in-memory database</a> (IMDB)</nobr>.
                     </p>
@@ -96,7 +96,7 @@
                         Ignite also provides extended support for distributed ACID transactions, continuous queries, partition scans, and more.
                     </li>
                     <li>
-                        <a href="/collocatedprocessing.html">Collocated Processing</a> - this approach allows you to
+                        <a href="/features/collocatedprocessing.html">Collocated Processing</a> - this approach allows you to
                         execute distributed SQL JOINs or custom user logic exactly on the nodes where the data is stored, avoiding
                         expensive serialization and network trips.
                     </li>
diff --git a/features/streaming.html b/features/streaming.html
index 274b8e5..0e06864 100644
--- a/features/streaming.html
+++ b/features/streaming.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Data Loading and Streaming - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/features/transactions.html b/features/transactions.html
new file mode 100644
index 0000000..a26794c
--- /dev/null
+++ b/features/transactions.html
@@ -0,0 +1,288 @@
+<!--
+▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
+▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
+▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
+░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
+▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
+▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
+ ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
+ ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
+     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
+-->
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="canonical" href="https://ignite.apache.org/features/transactions.html" />
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>ACID Transactions</title>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1509574040">
+    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
+    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+
+    <!--#include virtual="/includes/sh.html" -->
+</head>
+<body>
+<div id="wrapper">
+    <!--#include virtual="/includes/header.html" -->
+    <main id="main" role="main" class="container">
+        <section id="java" class="page-section">
+            <h1 class="first">ACID Transactions</h1>
+            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
+                <div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:0">
+                    <p>
+                        Apache Ignite is a strongly consistent platform that fully supports distributed ACID transactions.
+                        The consistency guarantees are met for both memory and disk tiers.
+                    </p>
+                    <p>
+                        Transactions in Apache Ignite can span multiple cluster nodes, caches (aka. tables) and partitions.
+                        Both pessimistic and optimistic locking are available for applications. The optimistic mode
+                        also supports deadlock-free transactions that help avoid distributed deadlocks in user code.
+                    </p>
+                </div>
+                <div class="col-sm-6 col-md-4 col-xs-12" style="padding-right:0">
+                    <img class="img-responsive" src="/images/in_memory_data.png" width="500" style="float:right;"/>
+                </div>
+            </div>
+
+            <div class="page-heading">Two-Phase-Commit Protocol</div>
+            <p>
+                In a distributed system, a transaction may span multiple cluster nodes. Obviously, this poses some
+                challenges when we want to ensure that the data is consistent across all the participating nodes.
+                For example, in the event of a cluster node failure, the transaction may not have fully committed on
+                the lost node. A widely-used approach to ensuring data consistency in this type of scenario is the
+                two-phase commit protocol (2PC).
+            </p>
+            <p>
+                Ignite comes with one the fastest implementations of 2PC protocol. Moreover,
+                often when transactions span only one node or one partition, Ignite will utilize a much faster
+                one-phase-commit (1PC) protocol. Whenever the data is updated within a transaction,
+                Ignite will keep the transactional state in a local transaction map until the changes are committed,
+                at which point the data is transferred to the participating remote nodes. Only the nodes that hold the
+                primary or backup copies of the data will participate in the transaction.
+            </p>
+            <div class="page-heading">Consistency and Ignite Persistence</div>
+            <p>
+                If Ignite native persistence is used then all the updates are written to the write-ahead log (WAL) file
+                that guarantees data consistency, even if the cluster or individual nodes go down in the middle
+                of a transaction.
+            </p>
+            <p>
+                The purpose of the WAL is to propagate updates to the disk in the append-only mode, which is the fastest
+                way to persist data to disk. WAL provides a recovery mechanism for failure scenarios when a single node
+                or the whole cluster go down. A cluster can always be recovered to the
+                latest successfully committed transaction.
+            </p>
+            <div class="page-heading">Consistency and 3rd Party Persistence</div>
+            <p>
+                In scenarios when Ignite is used as a caching layer on top of 3rd party databases, such as
+                RDBMS, Ignite transactions will span both, the cached data and the external database.
+                For instance, when an RDBMS is used as a persistence layer, Ignite will write the
+                transactional changes to the database before it sends the commit message to participating cluster nodes.
+                This way, if a transaction fails at the database level, Ignite can still send the rollback message
+                to every node involved, keeping the data consistent between the in-memory cache and the external database.
+            </p>
+
+            <div class="code-examples">
+                <div class="page-heading">Code Examples</div>
+                <!-- Nav tabs -->
+                <ul id="messaging-examples" class="nav nav-tabs">
+                    <li class="active"><a href="#java-ex" aria-controls="home" data-toggle="tab">Java</a></li>
+                    <li><a href="#dotnet-ex" aria-controls="profile" data-toggle="tab">.NET</a></li>
+                    <li><a href="#cpp-ex" aria-controls="profile" data-toggle="tab">C++</a></li>
+                </ul>
+
+                <!-- Tab panes -->
+                <div class="tab-content">
+                    <div class="tab-pane active" id="java-ex">
+                        <pre class="brush:java">
+                            try (Transaction tx = transactions.txStart()) {
+                                Integer hello = cache.get("Hello");
+
+                                if (hello == 1)
+                                    cache.put("Hello", 11);
+
+                                    cache.put("World", 22);
+
+                                tx.commit();
+                            }
+                        </pre>
+                    </div>
+                    <div class="tab-pane" id="dotnet-ex">
+                        <pre class="brush:csharp">
+                            using (ITransaction tx = transactions.TxStart())
+                            {
+                                var hello = cache.Get(1);
+
+                                if (hello != "Hello")
+                                    cache.Put(1, "Hello");
+
+                                    cache.Put(2, "World");
+
+                                tx.Commit();
+                            }
+                        </pre>
+                    </div>
+                    <div class="tab-pane" id="cpp-ex">
+                        <pre class="brush:cpp">
+                        Transaction tx = transactions.TxStart();
+
+                        int hello = cache.Get("Hello");
+
+                        if (hello == 1)
+                            cache.Put("Hello", 11);
+
+                        cache.Put("World", 22);
+
+                        tx.Commit();
+                        </pre>
+                    </div>
+                </div>
+            </div>
+
+            <div class="page-heading">More on Ignite Transactions</div>
+            <table class="formatted" name="More on Ignite Transactions">
+                <thead>
+                <tr>
+                    <th width="35%" class="left">Feature</th>
+                    <th>Description</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td class="features-left">ACID Transactions</td>
+                    <td>
+                        <p>
+                            Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">2-Phase-Commit</td>
+                    <td>
+                        <p>
+                            Ignite utilizes a Two-Phase-Commit (2PC) protocol for its transactions and optimizes
+                            to one-phase-commit whenever possible:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#two-phase-commit-2pc" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Write-Ahead Log</td>
+                    <td>
+                        <p>
+                            Ignite persistence maintains the WAL that propagates updates to disk in the fastest way possible and
+                            provides a recovery mechanism for scenarios where a single node or the whole cluster goes down:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/write-ahead-log" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Deadlock-Free Transactions</td>
+                    <td>
+                        <p>
+                            Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#deadlock-free-transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="features-left">Deadlocks Detection</td>
+                    <td>
+                        <p>
+                            Debugging and troubleshooting distributed deadlocks in Ignite:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#deadlock-detection" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Transactional Entry Processor</td>
+                    <td>
+                        <p>
+                            Ignite transactional entry processor allows executing collocated user logic on the server
+                            side within a transaction:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Cross-Partition Transactions</td>
+                    <td>
+                        <p>
+                            In Ignite, transactions can be performed on all partitions of a cache across the whole
+                            cluster:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left" width="35%">Locks</td>
+                    <td>
+                        <p>
+                            Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects:
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/distributed-locks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                <tr>
+                    <td class="left">XA/JTA</td>
+                    <td>
+                        <p>
+                            Ignite can be configured with a Java Transaction API (JTA) transaction manager lookup class.
+                        </p>
+                        <div  class="page-links">
+                            <a href="https://apacheignite.readme.io/docs/transactions#integration-with-jta" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                        </div>
+                    </td>
+                </tr>
+                </tbody>
+            </table>
+        </section>
+    </main>
+
+    <!--#include virtual="/includes/footer.html" -->
+</div>
+<!--#include virtual="/includes/scripts.html" -->
+</body>
+</html>
diff --git a/images/multilanguage.png b/images/multilanguage.png
new file mode 100644
index 0000000..cea2139
--- /dev/null
+++ b/images/multilanguage.png
Binary files differ
diff --git a/includes/header.html b/includes/header.html
index 35ad5a7..93088e4 100644
--- a/includes/header.html
+++ b/includes/header.html
@@ -22,10 +22,22 @@
                         <!--</div>-->
                         <div class="collapse navbar-collapse" id="top-navbar">
                             <ul class="nav navbar-nav">
-                                <li><a href="http://apache-ignite-users.70518.x6.nabble.com/" target="_blank"><i class="fa fa-users" aria-hidden="true"></i> User Forum</a></li>
-                                <li><a href="http://stackoverflow.com/questions/tagged/ignite" target="_blank"><i class="fa fa-stack-overflow" aria-hidden="true"></i> Stack Overflow</i></a></li>
-                                <li><a href="/events.html"><i class="fa fa-calendar" aria-hidden="true"></i> Events</a></li>
-                                <li><a href="/screencasts.html"><i class="fa fa-video-camera" aria-hidden="true"></i> Screencasts</a></li>
+                                <li><a href="http://apache-ignite-users.70518.x6.nabble.com/" target="_blank"
+                                       onclick="ga('send', 'event', 'community', 'top_menu_click', 'user_forum');">
+                                    <i class="fa fa-users" aria-hidden="true"></i> User Forum</a>
+                                </li>
+                                <li><a href="http://stackoverflow.com/questions/tagged/ignite" target="_blank"
+                                       onclick="ga('send', 'event', 'community', 'top_menu_click', 'stack_overflow');">
+                                    <i class="fa fa-stack-overflow" aria-hidden="true"></i> Stack Overflow</i></a>
+                                </li>
+                                <li><a href="/events.html"
+                                       onclick="ga('send', 'event', 'community', 'top_menu_click', 'ignite_events');">
+                                    <i class="fa fa-calendar" aria-hidden="true"></i> Events</a>
+                                </li>
+                                <li><a href="/screencasts.html"
+                                       onclick="ga('send', 'event', 'community', 'top_menu_click', 'screencasts');">
+                                    <i class="fa fa-video-camera" aria-hidden="true"></i> Screencasts</a>
+                                </li>
                             </ul>
                         </div>
                     </div>
@@ -52,100 +64,172 @@
                             <ul class="nav navbar-nav">
                                 <li class="dropdown">
                                     <a href="/features.html">Features<span class="caret"></span></a>
-                                    <ul class="dropdown-menu lg-screen-menu" role="menu">
-                                        <div class="col-md-6 col-sm-6 col-xs-12 items" style="padding-right: 35px; border-right: 1px solid #d7d7d7;">
-                                            <li role="presentation" class="submenu-header">Overview</li>
-                                            <li><a href="/whatisignite.html">What is Ignite&trade;?</a></li>
-                                            <li><a href="/memorycentric.html">What is Memory-Centric?</a></li>
-                                            <li><a href="/collocatedprocessing.html">What is Collocated Processing?</a></li>
-                                            <li role="presentation" class="submenu-header">Main Features</li>
-                                            <li><a href="/features/durablememory.html">Durable Memory</a></li>
-                                            <li><a href="/features/persistence.html">Native Persistence</a></li>
-                                            <li><a href="/features/sql.html">SQL Database</a></li>
-                                            <li><a href="/features/datagrid.html">Data Grid</a></li>
-                                            <li><a href="/features/computegrid.html">Compute Grid</a></li>
-                                            <li><a href="/features/streaming.html">Streaming</a></li>
-                                            <li><a href="/features/machinelearning.html">Machine Learning<sup>&beta;eta</sup></a></li>
-                                            <li><a href="/features.html"><i>More Features</i></a></li>
-                                            <li role="presentation" class="submenu-header">Tooling</li>
-                                            <li><a href="/features/datavisualization.html#apache-ignite-web-console">Ignite Web Console</a></li>
-                                            <li><a href="/features/datavisualization.html"><i>More Tooling</i></a></li>
-                                        </div>
-                                        <div class="col-md-6 col-sm-6 col-xs-12 items" >
-                                            <li role="presentation" class="submenu-header">Runs Everywhere</li>
-                                            <li><a href="/features/java.html">Java</a></li>
-                                            <li><a href="/features/dotnet.html">.NET</a></li>
-                                            <li><a href="/features/cpp.html">C++</a></li>
-                                            <li><a href="/features/clientprotos.html">Client Protocols</a></li>
-                                            <li><a href="/features/deploy.html">Deployment Options</a></li>
-                                            <li role="presentation" class="submenu-header">Hadoop & Spark</li>
-                                            <li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>
-                                            <li><a href="/features/igfs.html">In-Memory File System</a></li>
-                                            <li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
-                                            <li role="presentation" class="submenu-header">Add-Ons</li>
-                                            <li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>
-                                            <li><a href="/addons.html"><i>More Add-ons</i></a></li>
-                                        </div>
-                                   </ul>
-                                   <ul class="dropdown-menu mobile-menu" role="menu">
+                                    <ul class="dropdown-menu" role="menu">
                                         <li role="presentation" class="submenu-header">Overview</li>
-                                        <li><a href="/whatisignite.html">What is Ignite&trade;?</a></li>
-                                        <li><a href="/memorycentric.html">What is Memory-Centric?</a></li>
-                                        <li><a href="/collocatedprocessing.html">What is Collocated Processing?</a></li>
-                                        <li role="presentation" class="submenu-header">Main Features</li>
-                                        <li><a href="/features/durablememory.html">Durable Memory</a></li>
-                                        <li><a href="/features/persistence.html">Native Persistence</a></li>
-                                        <li><a href="/features/sql.html">SQL Database</a></li>
-                                        <li><a href="/features/datagrid.html">Data Grid</a></li>
-                                        <li><a href="/features/computegrid.html">Compute Grid</a></li>
-                                        <li><a href="/features/streaming.html">Streaming</a></li>
-                                        <li><a href="/features/machinelearning.html">Machine Learning<sup>&beta;eta</sup></a></li>
+                                        <li><a href="/whatisignite.html"
+                                               onclick="ga('send', 'event', 'whatisignite', 'menu_click', 'whatisignite_page');">
+                                            What is Ignite&trade;?</a>
+                                        </li>
+                                        <li class="divider">
+
+                                        <!-- Ignite main features. -->
+                                        <li role="presentation" class="submenu-header">Features</li>
+                                        <li><a href="/features/sql.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_sql');">
+                                            Distributed SQL</a>
+                                        </li>
+                                        <li><a href="/features/datagrid.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'distributed_key_value');">
+                                            Distributed Key-Value</a>
+                                        </li>
+                                        <li><a href="/features/transactions.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'acid_transactions');">
+                                            ACID Transactions</a>
+                                        </li>
+                                        <li><a href="/features/collocatedprocessing.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'collocated_processing');">
+                                            Collocated Processing</a>
+                                        </li>
+                                        <li><a href="/features/machinelearning.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'machine_learning');">
+                                            Machine Learning</a>
+                                        </li>
+                                        <li><a href="/features/multilanguage.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'multi_language');">
+                                            Multi-Language</a>
+                                        </li>
                                         <li><a href="/features.html"><i>More Features</i></a></li>
+                                        <li class="divider">
+
+                                        <!-- Ignite architecture overview. -->
+                                        <li role="presentation" class="submenu-header">Architecture</li>
+                                        <li><a href="/arch/clustering.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'clustering');">
+                                            Clustering and Deployment</a>
+                                        </li>
+                                        <li><a href="/arch/memorycentric.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'memory_centric');">
+                                            Memory-Centric Storage</a>
+                                        </li>
+                                        <li><a href="/arch/durablememory.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'durable_meory');">
+                                            Durable Memory</a>
+                                        </li>
+                                        <li><a href="/arch/persistence.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'persistence');">
+                                            Persistence</a>
+                                        </li>
+                                        <li class="divider">
+
+                                        <!-- Ignite tooling. -->
                                         <li role="presentation" class="submenu-header">Tooling</li>
-                                        <li><a href="/features/datavisualization.html#apache-ignite-web-console">Ignite Web Console</a></li>
-                                        <li><a href="/features/datavisualization.html"><i>More Tooling</i></a></li>
-                                        <li role="presentation" class="submenu-header">Runs Everywhere</li>
-                                        <li><a href="/features/java.html">Java</a></li>
-                                        <li><a href="/features/dotnet.html">.NET</a></li>
-                                        <li><a href="/features/cpp.html">C++</a></li>
-                                        <li><a href="/features/clientprotos.html">Client Protocols</a></li>
-                                        <li><a href="/features/deploy.html">Deployment Options</a></li>
-                                        <li role="presentation" class="submenu-header">Hadoop & Spark</li>
-                                        <li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>
-                                        <li><a href="/features/igfs.html">In-Memory File System</a></li>
-                                        <li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
-                                        <li role="presentation" class="submenu-header">Add-Ons</li>
-                                        <li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>
-                                        <li><a href="/addons.html"><i>More Add-ons</i></a></li>
+                                        <li><a href="/features/datavisualization.html#apache-ignite-web-console"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'ignite_web_console');">
+                                            Ignite Web Console</a>
+                                        </li>
+                                        <li><a href="/features/datavisualization.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_features', 'menu_click', 'data_visualization');">
+                                            Data Visualization and Analysis</a>
+                                        </li>
+
+                                        <!--<div class="col-md-6 col-sm-6 col-xs-12 items" >-->
+                                            <!--<li role="presentation" class="submenu-header">Runs Everywhere</li>-->
+                                            <!--<li><a href="/features/java.html">Java</a></li>-->
+                                            <!--<li><a href="/features/dotnet.html">.NET</a></li>-->
+                                            <!--<li><a href="/features/cpp.html">C++</a></li>-->
+                                            <!--<li><a href="/features/clientprotos.html">Client Protocols</a></li>-->
+                                            <!--<li><a href="/features/deploy.html">Deployment Options</a></li>-->
+                                            <!--<li role="presentation" class="submenu-header">Hadoop & Spark</li>-->
+                                            <!--<li><a href="/features/igniterdd.html">Spark Shared RDDs</a></li>-->
+                                            <!--<li><a href="/features/igfs.html">In-Memory File System</a></li>-->
+                                            <!--<li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>-->
+                                            <!--<li role="presentation" class="submenu-header">Add-Ons</li>-->
+                                            <!--<li><a href="/addons.html#ga-grid">GA Grid<sup>&beta;eta</sup></a></li>-->
+                                            <!--<li><a href="/addons.html"><i>More Add-ons</i></a></li>-->
+                                        <!--</div>-->
                                    </ul>
                                 </li>
                                 <li class="dropdown">
                                     <a href="/usecases.html">Use Cases<span class="caret"></span></a>
                                     <ul class="dropdown-menu" role="menu">
                                         <li role="presentation" class="submenu-header">Proven by</li>
-                                        <li><a href="/provenusecases.html">Ignite in Production</a></li>
+                                        <li><a href="/provenusecases.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'proven_usecases');">
+                                            Ignite in Production</a>
+                                        </li>
                                         <li class="divider">
-                                        <li role="presentation" class="submenu-header">Database</li>
-                                        <li><a href="/use-cases/database/distributed-database.html">Distributed Database</a></li>
-                                        <li><a href="/use-cases/database/in-memory-database.html">In-Memory Database</a></li>
+
+                                        <!--Database-->
+                                        <li role="presentation" class="submenu-header">Data Store</li>
+                                        <li><a href="/use-cases/database/distributed-database.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
+                                            Distributed Database</a>
+                                        </li>
+                                        <li><a href="/use-cases/database/in-memory-database.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
+                                            In-Memory Database</a>
+                                        </li>
                                         <!--<li><a href="/use-cases/database/sql-database.html">SQL Database</a></li>-->
-                                        <li><a href="/use-cases/database/key-value-store.html">Key-Value Store</a></li>
+                                        <li><a href="/features/datagrid.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'data_grid');">
+                                            In-Memory Data Grid</a>
+                                        </li>
+                                        <li><a href="/use-cases/database/key-value-store.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'key_value_store');">
+                                            Key-Value Store</a>
+                                        </li>
                                         <li class="divider">
+
+                                            <!--In-Memory Caching-->
+                                        <li role="presentation" class="submenu-header">In-Memory Cache</li>
+                                        <li><a href="/use-cases/caching/database-caching.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'database-caching');">
+                                            Database Caching</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/jcache-provider.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'jcache-provider');">
+                                            JCache Provider</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/hibernate-l2-cache.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hibernate-l2-cache');">
+                                            Hibernate L2 Cache</a>
+                                        </li>
+                                        <li><a href="/use-cases/caching/web-session-clustering.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'web-session-clustering');">
+                                            Web Session Clustering</a>
+                                        </li>
+                                        <li class="divider">
+
+                                        <!-- Comparison -->
                                         <li role="presentation" class="submenu-header">Comparison</li>
-                                        <li><a href="/use-cases/comparison/ignite-for-nosql.html">Ignite for NoSQL Users</a></li>
-                                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html">Ignite for RDBMS Users</a></li>
+                                        <li><a href="/use-cases/comparison/ignite-for-nosql.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
+                                            Ignite for NoSQL Users</a>
+                                        </li>
+                                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
+                                            Ignite for RDBMS Users</a>
+                                        </li>
                                         <li class="divider">
-                                        <li role="presentation" class="submenu-header">In-Memory Caching</li>
-                                        <li><a href="/use-cases/caching/database-caching.html">Database Caching</a></li>
-                                        <li><a href="/use-cases/caching/jcache-provider.html">JCache Provider</a></li>
-                                        <li><a href="/use-cases/caching/hibernate-l2-cache.html">Hibernate L2 Cache</a></li>
-                                        <li><a href="/use-cases/caching/web-session-clustering.html">Web Session Clustering</a></li>
-                                        <li class="divider">
+
+                                        <!--Ignite with Spark & Hadoop-->
                                         <li role="presentation" class="submenu-header">Ignite with Spark & Hadoop</li>
-                                        <li><a href="/use-cases/spark/shared-memory-layer.html">Shared Memory Layer</a></li>
-                                        <li><a href="/use-cases/spark/sql-queries">Faster Sql Queries for Spark</a></li>
-                                        <li><a href="/use-cases/hadoop/hdfs-cache">IGFS as HDFS Cache</a></li>
-                                        <li><a href="/use-cases/hadoop/mapreduce">Faster In-Memory MapReduce</a></li>
+                                        <li><a href="/use-cases/spark/shared-memory-layer.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'shared-memory-layer');">
+                                            Spark Shared RDDs</a>
+                                        </li>
+                                        <li><a href="/use-cases/spark/sql-queries.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'sql-queries');">
+                                            Faster Sql for Spark</a>
+                                        </li>
+                                        <li><a href="/use-cases/hadoop/hdfs-cache.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hdfs-cache');">
+                                            IGFS as HDFS Cache</a>
+                                        </li>
+                                        <li><a href="/use-cases/hadoop/mapreduce.html"
+                                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'mapreduce');">
+                                            Faster MapReduce</a>
+                                        </li>
                                     </ul>
                                 </li>
                                 <li class="dropdown">
diff --git a/index.html b/index.html
index eabc3b4..c5e38b1 100644
--- a/index.html
+++ b/index.html
@@ -41,12 +41,12 @@
     <title>Open source memory-centric distributed database, caching, and processing platform - Apache Ignite&trade;</title>
     <meta name="description" content="Apache Ignite&trade; is an open source memory-centric distributed database, caching, and processing platform
     used for transactional, analytical, and streaming workloads, delivering in-memory speed at petabyte scale">
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
 </head>
-<body>
+<div>
 <div id="ignite-header">
     <!--#include virtual="/includes/header.html" -->
 </div>
@@ -65,7 +65,7 @@
                         </div>
 
                         <div class="banner-buttons">
-                            <div class="banner-buttons-left"><a href="/whatisignite.html">
+                            <div class="banner-buttons-left"><a href="/whatisignite.html" onclick="ga('send', 'event', 'whatisignite', 'homepage_click', 'whatisignite_page');">
                                 <div class="banner-learn-more">
                                     <p>What is Ignite&trade;</p>
                                 </div>
@@ -106,461 +106,513 @@
     </div>
 </div>
 
-<main id="main" role="main" class="container">
-    <p style="text-align:center; font-size:21px; margin-bottom: 60px; margin-top:50px;">
-        Ignite&trade; is a memory-centric distributed
-        <strong>database</strong>, <strong>caching</strong>, and <strong>processing</strong> platform for<br/>
-        transactional, analytical, and streaming workloads,
-        delivering in-memory speeds at petabyte scale
-    </p>
-    <div class="section-heading">
-        <h2>MAIN BENEFITS</h2>
-    </div>
-    <hr>
-
-    <!-- Ignite Benefits section -->
-    <section id="benefits" class="page-section" style=" border: none; margin-top: -120px;">
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
-            <a href="/provenusecases.html" title="Apache Ignite&trade; is in use at">
-                <div class="ignite-used-by-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Ignite is Used by</h3>
-                </div>
-            </a>
-            <p>
-                <a href="https://www.imcsummit.org/2017/eu/sessions/journey-use-imdg-strengthen-electronic-banking-offering-ing-be" target="_blank">ING</a>,
-                <a href="https://www.imcsummit.org/us/sessions/high-availability-and-disaster-recovery-imdg" target="_blank">Sberbank</a>,
-                <a href="https://www.imcsummit.org/us/sessions/ignite-compute-grid-in-cloud" target="_blank">HomeAway</a>,
-                <br/>
-                <a href="https://www.imcsummit.org/us/sessions/implementation-investment-book-record-ibor-using-apache-ignitegridgain" target="_blank">Wellington</a>,
-
-                <a href=" https://www.youtube.com/embed/bOTR8GfVwGk" target="_blank">FSB</a>,
-                <a href="https://www.youtube.com/watch?v=1D8hyLWMtfM" target="_blank"><nobr>The Glue</nobr></a>,
-
-                <br/>
-                <a href="https://www.imcsummit.org/us/sessions/how-in-memory-solutions-can-assist-saas-integrations" target="_blank"><nobr>24 Hour Fitness</nobr></a>,
-                <a href="https://www.imcsummit.org/2017/eu/sessions/using-memory-grid-compute-achieve-scalability-and-high-performance-legacy-travel" target="_blank"><nobr>JacTravel</nobr></a>,
-
-                <br/>
-                and <a href="/provenusecases.html">many more</a>
-            </p>
-        </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
-            <a href="/use-cases/caching/database-caching.html" title="Database caching with Apache Ignite&trade;">
-                <div class="keep-your-database-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Keep Your Database</h3>
-                </div>
-            </a>
-            <p>
-                Accelerate existing Relational and NoSQL databases with <nobr>Ignite&trade;</nobr>
-                <nobr>in-memory data grid</nobr> and caching capabilities
-            </p>
-
-        </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
-            <a href="/use-cases/database/distributed-database.html" title="ACID compliant transactions ensuring guaranteed consistency">
-                <div class="sql-at-nosql-scale-panel">
-                    <p class="feature-icon"></p>
-                    <h3>SQL at NoSQL Scale</h3>
-                </div>
-            </a>
-            <p>
-                Achieve <nobr>horizontal scalability</nobr>, <nobr>strong consistency</nobr>, and <nobr>high availability</nobr>
-                with <nobr>Ignite&trade;</nobr> <nobr>distributed SQL</nobr>
-                <!--while accessing clustered data using Ignite distributed SQL-->
-            </p>
-
-        </div>
-        <p style="margin:0;">&nbsp;</p>
-    </section>
-
-    <div class="section-heading">
-        <h2>MAIN FEATURES</h2>
-    </div>
-    <hr>
-
-    <section id="features" class="page-section" style=" border: none;">
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
-            <a href="/features/sql.html" title="Apache Ignite&trade; as SQL Database">
-                <div class="key-value-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Distributed SQL</h3>
-                </div>
-            </a>
-            <p>
-                Distributed memory-centric SQL database with support for joins
-            </p>
-        </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
-            <a href="features/datagrid.html" title="Apache Ignite&trade; is an In-Memory Key Value Store">
-                <div class="distributed-sql-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Distributed Key-Value</h3>
-                </div>
-            </a>
-            <p>
-                Read, write, transact with fastest <nobr>key-value</nobr> data grid and cache
-            </p>
-
-        </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
-            <a href="https://apacheignite.readme.io/docs/transactions" title="ACID compliant transactions ensuring guaranteed consistency" target="_blank">
-                <div class="acid-transactions-panel">
-                    <p class="feature-icon"></p>
-                    <h3>ACID Transactions</h3>
-                </div>
-            </a>
-            <p>
-                Enforce full ACID compliance across distributed data sets
-            </p>
-
-        </div>
-        <p style="margin:0;">&nbsp;</p>
-    </section>
-    <section id="features-2" class="page-section" style="border:none; padding-top:110px;">
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
+<div id="main" role="main">
+    <div class="container">
+        <p style="text-align:center; font-size:21px; margin-bottom: 60px; margin-top:50px;">
+            Ignite&trade; is a memory-centric distributed
+            <strong>database</strong>, <strong>caching</strong>, and <strong>processing</strong> platform for<br/>
+            transactional, analytical, and streaming workloads,
+            delivering in-memory speeds at petabyte scale
+        </p>
+        <div class="section-heading">
+            <h2>MAIN BENEFITS</h2>
             <hr>
-            <a href="/features/durablememory.html" title="Apache Ignite&trade; Memory-Centric Architecture">
-                <div class="durable-memory-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Durable Memory</h3>
-                </div>
-            </a>
-            <p>
-                Store and process distributed data <br/>in memory and on disk
-            </p>
-
         </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
-            <hr>
-            <a href="/collocatedprocessing.html" title="Collocate computations with data using Apache Ignite&trade;">
-                <div class="collocated-processing-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Collocated Processing</h3>
-                </div>
-            </a>
-            <p>
-                Avoid data noise by sending computations to cluster nodes
-            </p>
-        </div>
-        <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
-            <hr>
-            <a href="/features/machinelearning.html" title="Apache Ignite&trade; supports machine learning capabilities">
-                <div class="machine-learning-panel">
-                    <p class="feature-icon"></p>
-                    <h3>Machine Learning <sup><span style="font-size: 16px;">&beta;eta</span></sup></h3>
-                </div>
-            </a>
-            <p>
-                Train and deploy distributed machine learning models
-            </p>
-        </div>
-        <p style="margin:0;">&nbsp;</p>
-    </section>
 
-    <div id="comparison-matrix" class="section-heading">
-        <h2>HOW IGNITE COMPARES</h2>
-        <hr>
-    </div>
-    <section id="comparison-matrix-section" class="page-section" style="border: none">
-        <table class="comparison-matrix" name="comparison-matrix">
-            <thead>
-            <tr>
-                <th data-toggle="tooltip" title="Feature Name">Feature</th>
-                <th data-toggle="tooltip" title="Relational Database">RDBMS</th>
-                <th data-toggle="tooltip" title="NoSQL Database">NoSQL</th>
-                <th data-toggle="tooltip" title="In-Memory Data Grid">IMDG</th>
-                <th data-toggle="tooltip" title="Apache Ignite&trade;">Ignite&trade;</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr>
-                <td>Scalability</td>
-                <td><span class="cross-mark">&#x2717;</span> vertical</td>
-                <td><span class="check-mark">&#x2713;</span> horizontal</td>
-                <td><span class="check-mark">&#x2713;</span> horizontal</td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> horizontal</b></td>
-            </tr>
-            <tr>
-                <td>Availability</td>
-                <td><span class="cross-mark">&#x2717;</span> failover only</td>
-                <td><span class="check-mark">&#x2713;</span> high</td>
-                <td><span class="check-mark">&#x2713;</span> high</td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> high</b></td>
-            </tr>
-            <tr>
-                <td>Consistency</td>
-                <td><span class="check-mark">&#x2713;</span> strong</td>
-                <td><span class="cross-mark">&#x2717;</span> eventual</td>
-                <td><span class="check-mark">&#x2713;</span> strong</td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> strong</b></td>
-            </tr>
-            <tr>
-                <td>In-Memory</td>
-                <td><span class="check-mark">&#x2713;</span> caching only</td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td><span class="check-mark">&#x2713;</span> in-memory store</td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> in-memory store</b></td>
-            </tr>
-            <tr>
-                <td>Persistence</td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
-            </tr>
-            <tr>
-                <td>SQL</td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
-            </tr>
-            <tr>
-                <td>Key-Value</td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
-            </tr>
-            <tr>
-                <td>Collocated Processing</td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td><span class="cross-mark">&#x2717;</span></td>
-                <td><span class="check-mark">&#x2713;</span></td>
-                <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
-            </tr>
-            </tbody>
-        </table>
 
-        <table class="comparison-matrix-mobile" name="comparison-matrix-sm">
-            <thead>
-            <tr><th>Scalability</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span> vertical</span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span> horizontal</span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> horizontal</span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>horizontal</b></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>Availability</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span> failover only</span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span> high</span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> high</span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>high</b></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>Consistency</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span> strong</span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span> eventual</span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> strong</span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>strong</b></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>In-Memory</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span> caching only</span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> in-memory store</span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>in-memory store</b></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>Persistence</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>SQL</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>Key-Value</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            </tbody>
-            <thead>
-            <tr><th>Collocated-Processing</th></tr>
-            </thead>
-            <tbody>
-            <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
-            <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
-            </tbody>
-        </table>
-    </section>
+        <!-- Ignite Benefits section -->
+        <section id="benefits" class="page-section" style=" border: none; margin-top: -120px;">
+            <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
+                <a href="/provenusecases.html"
+                   onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'provenusecases_page');"
+                   title="Apache Ignite&trade; is in use at">
+                    <div class="ignite-used-by-panel">
+                        <p class="feature-icon"></p>
+                        <h3>Ignite is Used by</h3>
+                    </div>
+                </a>
+                <p>
+                    <a href="https://www.imcsummit.org/2017/eu/sessions/journey-use-imdg-strengthen-electronic-banking-offering-ing-be"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'ING');"
+                       target="_blank">ING</a>,
+                    <a href="https://www.imcsummit.org/us/sessions/high-availability-and-disaster-recovery-imdg"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'Sberbank');"
+                       target="_blank">Sberbank</a>,
+                    <a href="https://www.imcsummit.org/us/sessions/ignite-compute-grid-in-cloud"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'HomeAway');"
+                       target="_blank">HomeAway</a>,
+                    <br/>
+                    <a href="https://www.imcsummit.org/us/sessions/implementation-investment-book-record-ibor-using-apache-ignitegridgain"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'Wellington');"
+                       target="_blank">Wellington</a>,
 
-    <div id="screencast" class="section-heading">
-        <h2>SCREENCASTS</h2>
-        <hr>
-    </div>
-    <section id="screencast-section" class="page-section" style="border: none;">
-        <div class="col-sm-12 col-md-4 col-xs-12 screencast-left" >
-            <div class="relative">
-                <!-- Trigger Modal -->
-                <a href="#sql-db-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
-                    <p class="video-image-text">DISTRIBUTED SQL <br/>DATABASE </p></a>
+                    <a href=" https://www.youtube.com/embed/bOTR8GfVwGk"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'FSB');"
+                       target="_blank">FSB</a>,
+                    <a href="https://www.youtube.com/watch?v=1D8hyLWMtfM"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'The_Glue');"
+                       target="_blank"><nobr>The Glue</nobr></a>,
+
+                    <br/>
+                    <a href="https://www.imcsummit.org/us/sessions/how-in-memory-solutions-can-assist-saas-integrations"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', '24_Hour_Fitness');"
+                       target="_blank"><nobr>24 Hour Fitness</nobr></a>,
+                    <a href="https://www.imcsummit.org/2017/eu/sessions/using-memory-grid-compute-achieve-scalability-and-high-performance-legacy-travel"
+                       onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'JacTravel');"
+                       target="_blank"><nobr>JacTravel</nobr></a>,
+
+                    <br/>
+                    and <a href="/provenusecases.html"
+                           onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'provenusecases_page');">
+                    many more</a>
+                </p>
             </div>
-            <span class="screencast-duration">02:59</span>
+            <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
+                <a href="/use-cases/caching/database-caching.html"
+                   onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'database-caching');"
+                   title="Database caching with Apache Ignite&trade;">
+                    <div class="keep-your-database-panel">
+                        <p class="feature-icon"></p>
+                        <h3>Keep Your Database</h3>
+                    </div>
+                </a>
+                <p>
+                    Accelerate existing Relational and NoSQL databases with <nobr>Ignite&trade;</nobr>
+                    <nobr>in-memory data grid</nobr> and caching capabilities
+                </p>
 
-            <!-- Modal HTML -->
-            <div id="sql-db-modal" class="modal fade">
-                <div class="modal-dialog">
-                    <div class="modal-content video-modal-content" >
-                        <div class="modal-header">
-                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                            <h4 class="modal-title">Apache Ignite&trade; Distributed SQL Database</h4>
+            </div>
+            <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
+                <a href="/use-cases/database/distributed-database.html"
+                   onclick="ga('send', 'event', 'apache_ignite_benefits', 'homepage_click', 'distributed-database');"
+                   title="Apache Ignite&trade; distributed database">
+                    <div class="sql-at-nosql-scale-panel">
+                        <p class="feature-icon"></p>
+                        <h3>SQL at NoSQL Scale</h3>
+                    </div>
+                </a>
+                <p>
+                    Achieve <nobr>horizontal scalability</nobr>, <nobr>strong consistency</nobr>, and <nobr>high availability</nobr>
+                    with <nobr>Ignite&trade;</nobr> <nobr>distributed SQL</nobr>
+                    <!--while accessing clustered data using Ignite distributed SQL-->
+                </p>
+
+            </div>
+            <p style="margin:0;">&nbsp;</p>
+        </section>
+    </div>
+
+    <div style="background: #f1f1f1;">
+        <div class="container">
+            <div class="section-heading">
+                <h2>MAIN FEATURES</h2>
+                <hr>
+            </div>
+
+            <section id="features" class="page-section" style=" border: none;">
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
+                    <a href="/features/sql.html"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'distributed_sql');"
+                       title="Apache Ignite&trade; as SQL Database">
+                        <div class="key-value-panel">
+                            <p class="feature-icon"></p>
+                            <h3>Distributed SQL</h3>
                         </div>
-                        <div class="modal-body">
-                            <iframe class="lazy_load" id="sql-db" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/FKS8A86h-VY?rel=0" frameborder="0" allowfullscreen></iframe>
+                    </a>
+                    <p>
+                        Distributed memory-centric SQL database with support for joins
+                    </p>
+                </div>
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
+                    <a href="/features/datagrid.html"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'distributed_key_value');"
+                       title="Apache Ignite&trade; is an In-Memory Key Value Store">
+                        <div class="distributed-sql-panel">
+                            <p class="feature-icon"></p>
+                            <h3>Distributed Key-Value</h3>
+                        </div>
+                    </a>
+                    <p>
+                        Read, write, transact with fastest <nobr>key-value</nobr> data grid and cache
+                    </p>
+
+                </div>
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
+                    <a href="https://apacheignite.readme.io/docs/transactions"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'acid_transactions');"
+                       title="ACID compliant transactions ensuring guaranteed consistency" target="_blank">
+                        <div class="acid-transactions-panel">
+                            <p class="feature-icon"></p>
+                            <h3>ACID Transactions</h3>
+                        </div>
+                    </a>
+                    <p>
+                        Enforce full ACID compliance across distributed data sets
+                    </p>
+
+                </div>
+                <p style="margin:0;">&nbsp;</p>
+            </section>
+            <section id="features-2" class="page-section" style="border:none; padding-top:110px;">
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-left">
+                    <hr>
+                    <a href="/arch/durablememory.html"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'durable_memory');"
+                       title="Apache Ignite&trade; Memory-Centric Architecture">
+                        <div class="durable-memory-panel">
+                            <p class="feature-icon"></p>
+                            <h3>Durable Memory</h3>
+                        </div>
+                    </a>
+                    <p>
+                        Store and process distributed data <br/>in memory and on disk
+                    </p>
+
+                </div>
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-center">
+                    <hr>
+                    <a href="/features/collocatedprocessing.html"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'collocated_processing');"
+                       title="Collocate computations with data using Apache Ignite&trade;">
+                        <div class="collocated-processing-panel">
+                            <p class="feature-icon"></p>
+                            <h3>Collocated Processing</h3>
+                        </div>
+                    </a>
+                    <p>
+                        Avoid data noise by sending computations to cluster nodes
+                    </p>
+                </div>
+                <div class="col-sm-4 col-md-4 col-xs-12 feature-box feature-box-right">
+                    <hr>
+                    <a href="/features/machinelearning.html"
+                       onclick="ga('send', 'event', 'apache_ignite_features', 'homepage_click', 'machine_learning');"
+                       title="Apache Ignite&trade; supports machine learning capabilities">
+                        <div class="machine-learning-panel">
+                            <p class="feature-icon"></p>
+                            <h3>Machine Learning <sup><span style="font-size: 16px;">&beta;eta</span></sup></h3>
+                        </div>
+                    </a>
+                    <p>
+                        Train and deploy distributed machine learning models
+                    </p>
+                </div>
+                <p style="margin:0;">&nbsp;</p>
+            </section>
+        </div>
+    </div>
+
+    <div class="container">
+        <div id="comparison-matrix" class="section-heading">
+            <h2>HOW IGNITE COMPARES</h2>
+            <hr>
+        </div>
+        <section id="comparison-matrix-section" class="page-section" style="border: none">
+            <table class="comparison-matrix" name="comparison-matrix">
+                <thead>
+                <tr>
+                    <th data-toggle="tooltip" title="Feature Name">Feature</th>
+                    <th data-toggle="tooltip" title="Relational Database">RDBMS</th>
+                    <th data-toggle="tooltip" title="NoSQL Database">NoSQL</th>
+                    <th data-toggle="tooltip" title="In-Memory Data Grid">IMDG</th>
+                    <th data-toggle="tooltip" title="Apache Ignite&trade;">Ignite&trade;</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr>
+                    <td>Scalability</td>
+                    <td><span class="cross-mark">&#x2717;</span> vertical</td>
+                    <td><span class="check-mark">&#x2713;</span> horizontal</td>
+                    <td><span class="check-mark">&#x2713;</span> horizontal</td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> horizontal</b></td>
+                </tr>
+                <tr>
+                    <td>Availability</td>
+                    <td><span class="cross-mark">&#x2717;</span> failover only</td>
+                    <td><span class="check-mark">&#x2713;</span> high</td>
+                    <td><span class="check-mark">&#x2713;</span> high</td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> high</b></td>
+                </tr>
+                <tr>
+                    <td>Consistency</td>
+                    <td><span class="check-mark">&#x2713;</span> strong</td>
+                    <td><span class="cross-mark">&#x2717;</span> eventual</td>
+                    <td><span class="check-mark">&#x2713;</span> strong</td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> strong</b></td>
+                </tr>
+                <tr>
+                    <td>In-Memory</td>
+                    <td><span class="check-mark">&#x2713;</span> caching only</td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td><span class="check-mark">&#x2713;</span> in-memory store</td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span> in-memory store</b></td>
+                </tr>
+                <tr>
+                    <td>Persistence</td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
+                </tr>
+                <tr>
+                    <td>SQL</td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
+                </tr>
+                <tr>
+                    <td>Key-Value</td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
+                </tr>
+                <tr>
+                    <td>Collocated Processing</td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td><span class="cross-mark">&#x2717;</span></td>
+                    <td><span class="check-mark">&#x2713;</span></td>
+                    <td class="highlight-ignite-comparison"><span class="check-mark">&#x2713;</span></b></td>
+                </tr>
+                </tbody>
+            </table>
+
+            <table class="comparison-matrix-mobile" name="comparison-matrix-sm">
+                <thead>
+                <tr><th>Scalability</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span> vertical</span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span> horizontal</span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> horizontal</span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>horizontal</b></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>Availability</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span> failover only</span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span> high</span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> high</span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>high</b></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>Consistency</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span> strong</span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span> eventual</span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> strong</span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>strong</b></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>In-Memory</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span> caching only</span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span> in-memory store</span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span> <b>in-memory store</b></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>Persistence</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>SQL</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>Key-Value</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                </tbody>
+                <thead>
+                <tr><th>Collocated-Processing</th></tr>
+                </thead>
+                <tbody>
+                <tr><td><span class="left">RDBMS</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr><td><span class="left">NoSQL</span><span class="right"><span class="cross-mark">&#x2717;</span></span></td></tr>
+                <tr><td><span class="left">IMDG</span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                <tr class="ignite"><td><span class="left"><b>Ignite&trade;</b></span><span class="right"><span class="check-mark">&#x2713;</span></span></td></tr>
+                </tbody>
+            </table>
+        </section>
+    </div>
+
+    <div style="background: #f1f1f1;">
+        <div class="container">
+            <div id="screencast" class="section-heading">
+                <h2>SCREENCASTS</h2>
+                <hr>
+            </div>
+            <section id="screencast-section" class="page-section" style="border: none;">
+                <div class="col-sm-12 col-md-4 col-xs-12 screencast-left" >
+                    <div class="relative">
+                        <!-- Trigger Modal -->
+                        <a href="#sql-db-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
+                            <p class="video-image-text">DISTRIBUTED SQL <br/>DATABASE </p></a>
+                    </div>
+                    <span class="screencast-duration">02:59</span>
+
+                    <!-- Modal HTML -->
+                    <div id="sql-db-modal" class="modal fade">
+                        <div class="modal-dialog">
+                            <div class="modal-content video-modal-content" >
+                                <div class="modal-header">
+                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                                    <h4 class="modal-title">Apache Ignite&trade; Distributed SQL Database</h4>
+                                </div>
+                                <div class="modal-body">
+                                    <iframe class="lazy_load" id="sql-db" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/FKS8A86h-VY?rel=0" frameborder="0" allowfullscreen></iframe>
+                                </div>
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
-        </div>
-        <div class="col-sm-12 col-md-4 col-xs-12 screencast-center">
-            <div class="relative">
-                <!-- Trigger Modal -->
-                <a href="#data-grid-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
-                    <p class="video-image-text">KEY-VALUE OPERATIONS<br/>AND ACID TRANSACTIONS </p></a>
-            </div>
-            <span class="screencast-duration">03:49</span>
+                <div class="col-sm-12 col-md-4 col-xs-12 screencast-center">
+                    <div class="relative">
+                        <!-- Trigger Modal -->
+                        <a href="#data-grid-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
+                            <p class="video-image-text">KEY-VALUE OPERATIONS<br/>AND ACID TRANSACTIONS </p></a>
+                    </div>
+                    <span class="screencast-duration">03:49</span>
 
-            <!-- Modal HTML -->
-            <div id="data-grid-modal" class="modal fade">
-                <div class="modal-dialog">
-                    <div class="modal-content video-modal-content">
-                        <div class="modal-header">
-                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                            <h4 class="modal-title">Apache Ignite&trade; Distributed Cache Operations and Transactions</h4>
-                        </div>
-                        <div class="modal-body">
-                            <iframe class="lazy_load" id="data-grid" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/pFbDWpOiMOU?rel=0" frameborder="0" allowfullscreen></iframe>
+                    <!-- Modal HTML -->
+                    <div id="data-grid-modal" class="modal fade">
+                        <div class="modal-dialog">
+                            <div class="modal-content video-modal-content">
+                                <div class="modal-header">
+                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                                    <h4 class="modal-title">Apache Ignite&trade; Distributed Cache Operations and Transactions</h4>
+                                </div>
+                                <div class="modal-body">
+                                    <iframe class="lazy_load" id="data-grid" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/pFbDWpOiMOU?rel=0" frameborder="0" allowfullscreen></iframe>
+                                </div>
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
-        </div>
-        <div class="col-sm-12 col-md-4 col-xs-12 screencast-right">
-            <div class="relative">
-                <!-- Trigger Modal -->
-                <a href="#clustering-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
-                    <p class="video-image-text">GETTING STARTED<br/> WITH COMPUTE GRID</p></a>
-            </div>
-            <span class="screencast-duration">03:50</span>
-            <!-- Modal HTML -->
-            <div id="clustering-modal" class="modal fade">
-                <div class="modal-dialog">
-                    <div class="modal-content video-modal-content">
-                        <div class="modal-header">
-                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                            <h4 class="modal-title">Apache Ignite&trade; Advanced Clustering</h4>
-                        </div>
-                        <div class="modal-body">
-                            <iframe class="lazy_load" id="clustering" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/J775J77_-B8?rel=0" frameborder="0" allowfullscreen></iframe>
+                <div class="col-sm-12 col-md-4 col-xs-12 screencast-right">
+                    <div class="relative">
+                        <!-- Trigger Modal -->
+                        <a href="#clustering-modal" data-toggle="modal"><img src="/images/video-screen-2-opt.jpg" width="300" height="180">
+                            <p class="video-image-text">GETTING STARTED<br/> WITH COMPUTE GRID</p></a>
+                    </div>
+                    <span class="screencast-duration">03:50</span>
+                    <!-- Modal HTML -->
+                    <div id="clustering-modal" class="modal fade">
+                        <div class="modal-dialog">
+                            <div class="modal-content video-modal-content">
+                                <div class="modal-header">
+                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                                    <h4 class="modal-title">Apache Ignite&trade; Advanced Clustering</h4>
+                                </div>
+                                <div class="modal-body">
+                                    <iframe class="lazy_load" id="clustering" width="668" height="400" data-src-lazy="https://www.youtube.com/embed/J775J77_-B8?rel=0" frameborder="0" allowfullscreen></iframe>
+                                </div>
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
+                <p>&nbsp;</p>
+            </section>
         </div>
-        <p>&nbsp;</p>
-    </section>
-    <div id="news"class="section-heading">
-        <h2>LATEST NEWS</h2>
-        <hr>
     </div>
-    <section id="events-tweets" class="page-section" style="border: none;">
-        <!--Ignite events -->
-        <div class="col-sm-8 col-md-8 col-xs-12 social-media">
-            <h3><i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;&nbsp;Upcoming Events</h3>
-            <div class="row event-row">
-                <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
-                    <div class="event-date">Feb 28</div>
-                    <hr class="vertical">
-                </div>
-                <div class="col-sm-6 col-md-10 col-xs-12 event-title">
-                    <a href="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1" target="_blank" class="event-link">
-                        Basics of In-Memory Computing for architects and developers - Part 1</a><br/>
-                    <span class="event-details">Webinar (in Russian), Denis Magda</span>
-                </div>
-            </div>
-            <hr class="vertical">
-            <div class="row event-row">
-                <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
-                    <div class="event-date">Mar 05</div>
-                </div>
-                <div class="col-sm-6 col-md-10 col-xs-12 event-title">
-                    <a href="https://www.meetup.com/BruJUG/events/247929324/" target="_blank" class="event-link">
-                        Skyrocket Java applications with the open-source Apache Ignite</a><br/>
-                    <span class="event-details">The Brussels Java User Group, Speaker - Akmal Chaudhri</span>
-                </div>
-            </div>
-            <hr class="vertical">
-            <div class="row event-row">
-                <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
-                    <div class="event-date">Mar 06</div>
-                </div>
-                <div class="col-sm-6 col-md-10 col-xs-12 event-title">
-                    <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/" target="_blank" class="event-link">
-                        Distributed Database DevOps Dilemmas? Kubernetes to the rescue!</a><br/>
-                    <span class="event-details">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span>
-                </div>
-            </div>
-            <hr class="vertical">
-            <div class="row event-row">
-                <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
-                    <div class="event-date">Mar 07</div>
-                    <hr class="vertical">
-                </div>
-                <div class="col-sm-6 col-md-10 col-xs-12 event-title">
-                    <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/" target="_blank" class="event-link">
-                        Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform</a><br/>
-                    <span class="event-details">Amsterdam Java User Group, Speaker - Akmal Chaudhri</span>
-                </div>
-            </div>
-            <hr class="vertical">
-            <div class="row event-row">
-                <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
-                    <div class="event-date">Mar 08</div>
-                </div>
-                <div class="col-sm-6 col-md-10 col-xs-12 event-title">
-                    <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/" target="_blank" class="event-link">
-                        In-Memory Computing Essentials for Java Developers</a><br/>
-                    <span class="event-details">Amsterdam Java User Group Workshop, Speaker - Akmal Chaudhri</span>
-                </div>
-            </div>
-            <p style="margin-top: 10px;"><a href="/events.html">Read more</a></p>
-        </div>
 
-        <!-- Twitter feeds -->
-        <div class="col-sm-4 col-md-4 col-xs-12 social-media">
-            <h3><i class="fa fa-twitter" aria-hidden="true"></i>&nbsp;Tweets</h3>
-            <div class="pre-scrollable">
-                <a class="twitter-timeline timeline-Tweet-text" href="https://twitter.com/ApacheIgnite" data-chrome="noheader noborders" data-tweet-limit="6" data-cards="hidden">Tweets by ApacheIgnite</a>
-            </div>
+    <div class="container">
+        <div id="news"class="section-heading">
+            <h2>LATEST NEWS</h2>
+            <hr>
         </div>
-        <p>&nbsp;</p>
-    </section>
+        <section id="events-tweets" class="page-section" style="border: none;">
+            <!--Ignite events -->
+            <div class="col-sm-8 col-md-8 col-xs-12 social-media">
+                <h3><i class="fa fa-calendar" aria-hidden="true"></i>&nbsp;&nbsp;Upcoming Events</h3>
+                <div class="row event-row">
+                    <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
+                        <div class="event-date">Feb 28</div>
+                        <hr class="vertical">
+                    </div>
+                    <div class="col-sm-6 col-md-10 col-xs-12 event-title">
+                        <a href="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1" target="_blank" class="event-link">
+                            Basics of In-Memory Computing for architects and developers - Part 1</a><br/>
+                        <span class="event-details">Webinar (in Russian), Denis Magda</span>
+                    </div>
+                </div>
+                <hr class="vertical">
+                <div class="row event-row">
+                    <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
+                        <div class="event-date">Mar 05</div>
+                    </div>
+                    <div class="col-sm-6 col-md-10 col-xs-12 event-title">
+                        <a href="https://www.meetup.com/BruJUG/events/247929324/" target="_blank" class="event-link">
+                            Skyrocket Java applications with the open-source Apache Ignite</a><br/>
+                        <span class="event-details">The Brussels Java User Group, Speaker - Akmal Chaudhri</span>
+                    </div>
+                </div>
+                <hr class="vertical">
+                <div class="row event-row">
+                    <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
+                        <div class="event-date">Mar 06</div>
+                    </div>
+                    <div class="col-sm-6 col-md-10 col-xs-12 event-title">
+                        <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/" target="_blank" class="event-link">
+                            Distributed Database DevOps Dilemmas? Kubernetes to the rescue!</a><br/>
+                        <span class="event-details">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span>
+                    </div>
+                </div>
+                <hr class="vertical">
+                <div class="row event-row">
+                    <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
+                        <div class="event-date">Mar 07</div>
+                        <hr class="vertical">
+                    </div>
+                    <div class="col-sm-6 col-md-10 col-xs-12 event-title">
+                        <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/" target="_blank" class="event-link">
+                            Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform</a><br/>
+                        <span class="event-details">Amsterdam Java User Group, Speaker - Akmal Chaudhri</span>
+                    </div>
+                </div>
+                <hr class="vertical">
+                <div class="row event-row">
+                    <div class="col-sm-6 col-md-2 col-xs-12 event-date-col">
+                        <div class="event-date">Mar 08</div>
+                    </div>
+                    <div class="col-sm-6 col-md-10 col-xs-12 event-title">
+                        <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/" target="_blank" class="event-link">
+                            In-Memory Computing Essentials for Java Developers</a><br/>
+                        <span class="event-details">Amsterdam Java User Group Workshop, Speaker - Akmal Chaudhri</span>
+                    </div>
+                </div>
+                <p style="margin-top: 10px;"><a href="/events.html">Read more</a></p>
+            </div>
+
+            <!-- Twitter feeds -->
+            <div class="col-sm-4 col-md-4 col-xs-12 social-media">
+                <h3><i class="fa fa-twitter" aria-hidden="true"></i>&nbsp;Tweets</h3>
+                <div class="pre-scrollable">
+                    <a class="twitter-timeline timeline-Tweet-text" href="https://twitter.com/ApacheIgnite" data-chrome="noheader noborders" data-tweet-limit="6" data-cards="hidden">Tweets by ApacheIgnite</a>
+                </div>
+            </div>
+            <p>&nbsp;</p>
+        </section>
+    </div>
 </main>
 
 <!--#include virtual="/includes/footer.html" -->
diff --git a/memorycentric.html b/memorycentric.html
deleted file mode 100644
index 963fefe..0000000
--- a/memorycentric.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!--
-▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
-▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
-▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
-░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
-▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
-▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
- ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
- ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
-     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
--->
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-    <link rel="canonical" href="https://ignite.apache.org/memorycentric.html" />
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-    <meta http-equiv="Pragma" content="no-cache" />
-    <meta http-equiv="Expires" content="0" />
-    <title>Memory Centric - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
-
-    <!--#include virtual="/includes/sh.html" -->
-</head>
-<body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="memory-centric" class="page-section">
-            <h1 class="first">What is Memory-Centric?</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
-                    <p>
-                        Apache Ignite is based on <i>memory-centric architecture</i> that combines the performance and scale of
-                        in-memory computing together with the disk durability and strong consistency in one system.
-                    </p>
-                    <p>
-                        The main difference between the memory-centric approach and the traditional disk-centric approach is that
-                        the memory is treated as a fully functional storage, not just as a caching layer, like most databases do.
-                        For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an
-                        In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/memory-centric.png" width="440px" style="float: right; margin-top: -25px;"/>
-                </div>
-            </div>
-
-            <p>
-                On the other hand, when persistence is turned on, Ignite begins to function as a memory-centric system
-                where most of the processing happens in memory, but the data and indexes get persisted to disk. The main
-                difference here from the traditional disk-centric RDBMS or NoSQL system is that Ignite is strongly consistent,
-                horizontally scalable, and supports both SQL and key-value processing APIs.
-            </p>
-            <br/>
-            <br/>
-            <h2>Collocated vs Client-Server Processing</h2>
-            <p>
-                The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server approach, where
-                the data is brought from the server to the client side where it gets processed and then is usually discarded.
-                This approach does not scale well as moving the data over the network is the most expensive operation in a distributed system.
-            </p>
-            <p>
-                A much more scalable approach is <b>collocated processing</b> that reverses the flow by bringing the computations to the
-                servers where the data actually resides. This approach allows you to execute advanced logic or distributed SQL with JOINs
-                exactly where the data is stored avoiding expensive serialization and network trips.
-            </p>
-
-            <p><a href="/whatisignite.html">Learn more</a></p>
-        </section>
-    </main>
-
-    <!--#include virtual="/includes/footer.html" -->
-</div>
-<!--#include virtual="/includes/scripts.html" -->
-</body>
-</html>
diff --git a/provenusecases.html b/provenusecases.html
index 60e4f2c..7d0f291 100644
--- a/provenusecases.html
+++ b/provenusecases.html
@@ -33,14 +33,14 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <link rel="canonical" href="https://ignite.apache.org/memorycentric.html" />
+    <link rel="canonical" href="https://ignite.apache.org/provenusecases.html" />
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Proven Use Cases - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/screencasts.html b/screencasts.html
index f7320ff..b1474a4 100644
--- a/screencasts.html
+++ b/screencasts.html
@@ -39,7 +39,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Screencasts - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 </head>
diff --git a/scss/ignite.scss b/scss/ignite.scss
index 50c8f55..595ff7a 100644
--- a/scss/ignite.scss
+++ b/scss/ignite.scss
@@ -1157,7 +1157,6 @@
     text-align: center;
     margin-top: 50px;
     margin-bottom: 20px;
-    padding-top:30px;
 
     h2 {
         font-size: 28px;
diff --git a/use-cases/caching/database-caching.html b/use-cases/caching/database-caching.html
index 111799c..585fefc 100644
--- a/use-cases/caching/database-caching.html
+++ b/use-cases/caching/database-caching.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Database Caching Use Case - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -54,7 +54,8 @@
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
                 <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0;">
                     <p>
-                        Ignite <code>database caching</code> is implemented in the <nobr><a href="/features/datagrid.html">data grid</a></nobr>
+                        Ignite <code>database caching</code> is implemented in the
+                        <nobr><a href="/features/datagrid.html">data grid</a></nobr>
                         component. It enables users to keep the most frequently accessed data in memory, by either
                         partitioning or replicating it across a cluster of computers.
                     </p>
@@ -87,7 +88,8 @@
             </p>
             <div class="page-heading">In-Memory Data Grid</div>
             <p>
-                See <a href="/features/datagrid.html" class="text-nowrap" target="_blank"><b>in-memory data grid</b></a> for more information.
+                See <a href="/features/datagrid.html" class="text-nowrap" target="_blank"><b>in-memory data grid</b></a>
+                for more information.
             </p>
 
             <p>
diff --git a/use-cases/caching/hibernate-l2-cache.html b/use-cases/caching/hibernate-l2-cache.html
index e3f2283..36ab18c 100644
--- a/use-cases/caching/hibernate-l2-cache.html
+++ b/use-cases/caching/hibernate-l2-cache.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Hibernate Second-Level Cache Use Case - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
diff --git a/use-cases/caching/jcache-provider.html b/use-cases/caching/jcache-provider.html
index ed40416..4b8a113 100644
--- a/use-cases/caching/jcache-provider.html
+++ b/use-cases/caching/jcache-provider.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>JCache Provider - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
@@ -88,11 +88,6 @@
                 In addition to JCache, Ignite provides ACID transactions,
                 distributed ACID transactions, scan and continuous queries, collocated processing, and much more.
             </p>
-            <div class="page-heading">Data Grid</div>
-            <p>
-                JCache specification is provided by the
-                <a href="/features/datagrid.html"><b>Data Grid</b></a> component.
-            </p>
         </section>
     </main>
 
diff --git a/use-cases/caching/web-session-clustering.html b/use-cases/caching/web-session-clustering.html
index eaf00e2..0afc33f 100644
--- a/use-cases/caching/web-session-clustering.html
+++ b/use-cases/caching/web-session-clustering.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Web Session Clustering - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
diff --git a/use-cases/comparison/ignite-for-nosql.html b/use-cases/comparison/ignite-for-nosql.html
index 9c1d29a..a7f4dd5 100644
--- a/use-cases/comparison/ignite-for-nosql.html
+++ b/use-cases/comparison/ignite-for-nosql.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Apache Ignite and NoSQL</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -189,7 +189,7 @@
                 in addition to
                 <a href="/features/datagrid.html">key-value</a> APIs, Ignite supports
                 <a href="/features/sql.html">distributed SQL</a> and
-                <a href="/collocatedprocessing.html">collocated processing</a> approach.
+                <a href="/features/collocatedprocessing.html">collocated processing</a> approach.
             </p>
         </section>
     </main>
diff --git a/use-cases/comparison/ignite-for-rdbms.html b/use-cases/comparison/ignite-for-rdbms.html
index e0c6c5a..8ce0c39 100644
--- a/use-cases/comparison/ignite-for-rdbms.html
+++ b/use-cases/comparison/ignite-for-rdbms.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Ignite for RDBMS Users</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -184,7 +184,7 @@
                 treated as a fully functional storage, not just as a caching layer, like most databases do. Second,
                 Ignite is horizontally scalable, highly available and supports both
                 <a href="/features/datagrid.html">key-value</a> APIs and
-                <a href="/collocatedprocessing.html">collocated processing</a> approach.
+                <a href="/features/collocatedprocessing.html">collocated processing</a> approach.
             </p>
 
             <p>
diff --git a/use-cases/database/distributed-database.html b/use-cases/database/distributed-database.html
index 9e569b7..9a5ef11 100644
--- a/use-cases/database/distributed-database.html
+++ b/use-cases/database/distributed-database.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Distributed Database - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -58,18 +58,20 @@
                         compute, machine learning and other data processing APIs.
                     </p>
                     <p>
-                        Regardless of the API you decide to use, the data is always stored in a form of key-value pairs
-                        across the cluster. The underlying key-value store distributes the data evenly guaranteeing that
+                        Regardless of the API you decide to use, the data is always stored off-heap in the cluster-aware
+                        page-based storage which tries to evenly distribute the data, guaranteeing that
                         every cluster node will own a portion of the overall data set.
                     </p>
                     <p>
                         The data and indexes can be stored both in RAM and, optionally, on disk if
-                        <a href="/features/persistence.html">Ignite Native Persistence</a> is enabled.
+                        <a href="/arch/persistence.html">Ignite Native Persistence</a> is enabled.
                     </p>
                     <p>
-                        Ignite Persistent Store is a distributed ACID and SQL-compliant disk store that transparently
-                        integrates with Ignite's durable memory as an optional disk layer storing data and indexes on
-                        SSD, Flash, 3D XPoint, and other types of non-volatile storages.
+                        Ignite native persistent store utilizes disk to allow Ignite users store and process
+                        more data than can fit in memory. It also adds extra resiliency and crash recovery capabilities
+                        and supports full cluster restarts without loosing data. Moreover, when persistence is turned on,
+                        the cluster restarts are almost instantaneous, as Ignite becomes immediately operational from
+                        disk without having to preload all the data in memory.
                     </p>
                 </div>
 
@@ -80,41 +82,42 @@
 
             <div class="page-heading">SQL</div>
             <p>
-                Ignite complies with SQL ANSI-99 standard supporting all <b>SQL</b> and <b>DML</b> commands,
+                Ignite is ANSI-99 compliant, supporting most <b>SQL</b> and <b>DML</b> commands,
                 including SELECT, UPDATE, INSERT, MERGE, DELETE statements and distributed joins. It also provides
-                support for a subset of <b>DDL</b> commands relevant for distributed SQL databases.
+                support for a subset of <b>DDL</b> commands, including CREATE and ALTER commands for tables and indexes.
             </p>
 
             <div class="page-heading">Key-value</div>
             <p>
-                Apache Ignite key-value APIs are compliant with <a href="/use-cases/caching/jcache-provider.html">
-                JCache (JSR 107)</a> specification and provide extended features built on top such as
-                distributed ACID transactions, scan and continuous queries, collocated processing.
+                Ignite can be used ad a distributed key-value store, supporting all map-like key-value operations, including
+                concurrent CAS operations. It also provides rich support for distributed ACID transactions, continuous
+                queries, collocated processing and more. Ignite key-value store is fully compliant with
+                <a href="/use-cases/caching/jcache-provider.html">JCache (JSR 107)</a> specification.
             </p>
             <div class="page-heading">Collocated Processing</div>
             <p>
-                The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server
-                approach, where the data is brought from the server to the client side where it gets processed
-                and then is usually discarded. This approach does not scale well as moving the data over the
+                Most disk-centric databases, like RDBMS or NoSQL, generally utilize the classic client-server
+                approach, where the data is brought from the server to the client where it gets processed
+                and then discarded. This approach does not scale well as moving the data over the
                 network is the most expensive operation in a distributed system.
             </p>
             <p>
-                A much more scalable approach is <a href="/collocatedprocessing.html">
+                A much more scalable approach is <a href="/features/collocatedprocessing.html">
                 collocated processing</a> that reverses the flow by bringing the computations to the servers where
                 the data actually resides. This approach allows you to execute advanced logic or distributed SQL
-                with JOINs exactly where the data is stored avoiding expensive serialization and network trips.
+                with JOINs exactly where the data is stored, avoiding expensive serialization and network trips.
             </p>
             <div class="page-heading">Partitioning & Replication</div>
             <p>
                 Depending on the configuration, Ignite can either partition or replicate data.
                 Unlike <code>REPLICATED</code> mode, where data is fully replicated across all nodes
                 in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data across
-                multiple cluster nodes, allowing for staring TBs of data both in memory and on disk.
+                multiple cluster nodes, allowing for storing Terabytes of data in memory and on disk.
             </p>
             <div class="page-heading">Redundancy</div>
             <p>
-                Ignite also allows to configure multiple <b>backup copies</b> to guarantee data resiliency
-                in case of failures.
+                Ignite also allows to configure multiple <b>backup copies</b> guaranteeing data resiliency
+                in case of individual node or server failures.
             </p>
             <div class="page-heading">Consistency</div>
             <p>
diff --git a/use-cases/database/in-memory-database.html b/use-cases/database/in-memory-database.html
index bfdfdc0..f3c0415 100644
--- a/use-cases/database/in-memory-database.html
+++ b/use-cases/database/in-memory-database.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>In-Memory Database - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -54,20 +54,20 @@
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 10px 0;">
                 <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
                     <p>
-                        Apache Ignite can be used as a distributed and horizontally scalable
+                        Ignite can be used as a distributed and horizontally scalable
                         <code>in-memory database</code> (IMDB) that supports ACID transactions and
                         can be used with SQL, key-value, compute, machine learning and other data processing APIs.
                     </p>
                     <p>
-                        With Ignite <a href="/features/durablememory.html">durable memory</a>
-                        architecture, data and indexes can be stored both, in memory and on disk. The disk persistence
-                        is optional. When persistence is turned on, Ignite can store more data than fits in the available memory, and
+                        Ignite <a href="/arch/durablememory.html">durable memory</a>
+                        architecture allows to store data and indexes both, in memory and on disk. The disk persistence
+                        is optional. When persistence is turned on, Ignite can store more data than can fit in the available memory, and
                         will act as a complete <a href="/use-cases/database/distributed-database.html">distributed SQL database</a>.
                     </p>
                     <p>
                         In scenarios when the whole data set and indexes fit in memory, and the persistence is disabled,
-                        Ignite will function as a pure <code>in-memory database</code> supporting SQL, together with
-                        all the existing APIs for pure in-memory use cases.
+                        Ignite will function as an <code>in-memory database</code> supporting SQL, together with
+                        all the existing APIs for memory-only use cases.
                     </p>
                 </div>
                 <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0">
diff --git a/use-cases/database/key-value-store.html b/use-cases/database/key-value-store.html
index 2f1914d..8ad26eb 100644
--- a/use-cases/database/key-value-store.html
+++ b/use-cases/database/key-value-store.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Key-Value Store - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic'
@@ -55,16 +55,12 @@
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 10px 0;">
                 <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
                     <p>
-                        Ignite comes with a powerful a <strong>Key-Value Store</strong>
-                        (a.k.a. <strong>Key-Value Database</strong>). It is a part of <nobr><i><a href="/features/datagrid.html">Ignite data grid</a></i></nobr>
-                        component and can be viewed as a distributed
-                        partitioned hash map with every cluster node owning a portion of the overall data set.
-                    </p>
-                    <p>
-                        Ignite key-value store complies with
-                        <i><a href="/use-cases/caching/jcache-provider.html">JCache (JSR 107)</a></i> specification and
-                        provides
-                        distributed ACID transactions, scan and continuous queries, collocated processing and more.
+                        Ignite can be accessed with simple key-value APIs and, thus, act as a distributed key-value store
+                        (aka. <a href="/features/datagrid.html">data grid</a>). In this scenario, you can think of Ignite as of a distributed partitioned
+                        hash map with every cluster node owning a portion of the overall data set. It's worth mentioning,
+                        that even if you see or use Ignite as a key-value store, you're not limited to the key-value operations
+                        and can always leverage from other available APIs such as SQL, collocated computations, machine
+                        learning, streaming.
                     </p>
                 </div>
                 <div class="col-sm-6 col-md- col-xs-12" style="padding-right:0">
@@ -72,44 +68,349 @@
                 </div>
             </div>
 
-            <div class="page-heading">Partitioning & Replication</div>
+            <div class="page-heading">JCache APIs</div>
             <p>
-                Depending on the configuration, Ignite can either partition or replicate data.
-                Unlike <code>REPLICATED</code> mode, where data is fully replicated across all nodes
-                in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data across
-                multiple cluster nodes, allowing for storing TBs of data both in memory and on disk.
+                Ignite key-value APIs comply with <a href="/use-cases/caching/jcache-provider.html">JCache (JSR 107)</a>
+                specification that supports the following:
+            </p>
+            <ul class="page-list">
+                <li>In-Memory Key Value Store</li>
+                <li>Basic Cache Operations</li>
+                <li>ConcurrentMap APIs</li>
+                <li>Collocated Processing (EntryProcessor)</li>
+                <li>Events and Metrics</li>
+                <li>Pluggable Persistence</li>
+            </ul>
+
+            <div class="page-heading">Extended Key-Value APIs</div>
+            <p>
+                In addition to the standard JCache API, Ignites supports distributed ACID transactions,
+                scan and continuous queries, collocated processing and more.
             </p>
 
-            <div class="page-heading">Redundancy</div>
-            <p>
-                Ignite also allows to configure multiple <b>backup copies</b> to guarantee data resiliency
-                in case of failures.
-            </p>
-            <div class="page-heading">Consistency</div>
-            <p>
-                Regardless of which replication scheme is used, Ignite guarantees data consistency across
-                all cluster members.
-            </p>
-            <div class="page-heading">Performance and Durability</div>
-            <p>
-                Data can be stored both in RAM and, optionally, on disk if
-                <i><a href="/features/persistence.html">Ignite native persistence</a></i> is enabled.
-            </p>
-            <!--<div class="page-heading">External Databases</div>-->
-            <p>
-                Ignite also can automatically utilize 3rd party databases as storage, including integration with
-                most RDBMS, NoSQL or Hadoop systems.
-            </p>
-            <div class="page-heading">Data Locality</div>
-            <p>
-                Unlike other key-value databases, Ignite determines data locality using a pluggable hashing algorithm.
-                Every client can determine which node a key belongs to by plugging it into a hashing function,
-                without a need for any special mapping servers or name nodes.
-            </p>
-            <p>
-                Check <i><a href="/features/datagrid.html" class="text-nowrap">Data Grid</a></i>
-                for more information.
-            </p>
+            <div class="code-examples">
+                <div class="page-heading">Code Examples</div>
+                <!-- Nav tabs -->
+                <ul id="datagrid-examples" class="nav nav-tabs">
+                    <li class="active"><a href="#datagrid-example-basic" role="tab" data-toggle="tab">Put and Get</a></li>
+                    <li><a href="#datagrid-example-transactions" role="tab" data-toggle="tab">Transactions</a></li>
+                    <li><a href="#datagrid-example-locks" role="tab" data-toggle="tab">Locks</a></li>
+                </ul>
+
+                <!-- Tab panes -->
+                <div class="tab-content">
+                    <div role="tabpanel" class="tab-pane active" id="datagrid-example-basic">
+                        <pre class="brush:java">
+                            Ignite ignite = Ignition.ignite();
+
+                            // Get an instance of named cache.
+                            final IgniteCache&lt;Integer, String&gt; cache = ignite.cache("cacheName");
+
+                            // Store keys in cache.
+                            for (int i = 0; i < 10; i++)
+                                cache.put(i, Integer.toString(i));
+
+                            // Retrieve values from cache.
+                            for (int i = 0; i < 10; i++)
+                                System.out.println("Got [key=" + i + ", val=" + cache.get(i) + ']');
+
+                            // Remove objects from cache.
+                            for (int i = 0; i < 10; i++)
+                                cache.remove(i);
+
+                            // Atomic put-if-absent.
+                            cache.putIfAbsent(1, "1");
+
+                            // Atomic replace.
+                            cache.replace(1, "1", "2");
+                        </pre>
+                    </div>
+                    <div role="tabpanel" class="tab-pane" id="datagrid-example-transactions">
+                        <pre class="brush:java">
+                            Ignite ignite = Ignition.ignite();
+
+                            // Clone every object we get from cache, so we can freely update it.
+                            IgniteCache&lt;Integer, Account&gt; cache = ignite.cache("cacheName");
+
+                            try (IgniteTx tx = Ignition.ignite().transactions().txStart()) {
+                                Account acct = cache.get(acctId);
+
+                                assert acct != null;
+
+                                // Deposit $20 into account.
+                                acct.setBalance(acct.getBalance() + 20);
+
+                                // Store updated account in cache.
+                                cache.put(acctId, acct);
+
+                                tx.commit();
+                            }
+                        </pre>
+                    </div>
+                    <div role="tabpanel" class="tab-pane" id="datagrid-example-locks">
+                        <pre class="brush:java">
+                            Ignite ignite = Ignition.ignite();
+
+                            // Get an instance of named cache.
+                            final GridCache&lt;String, Integer&gt; cache = ignite.cache("cacheName");
+
+                            // Lock cache key "Hello".
+                            Lock lock = cache.lock("Hello");
+
+                            lock.lock();
+
+                            try {
+                                cache.put("Hello", 11);
+                                cache.put("World", 22);
+                            }
+                            finally {
+                                lock.unlock();
+                            }
+                        </pre>
+                    </div>
+                </div>
+            </div>
+
+            <section id="key-features" class="page-section">
+                <h2>More on Key-Value APIs</h2>
+                <table class="formatted" name="key-value-apis">
+                    <thead>
+                    <tr>
+                        <th width="35%" class="left">Feature</th>
+                        <th>Description</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td class="left">Data Grid</td>
+                        <td>
+                            <p>
+                                Ignite data grid is a <code>key-value store</code> which can store data both, in-memory
+                                and on-disk. It can be viewed as a distributed partitioned hash map, with every cluster
+                                node owning a portion of the overall data. This way the more cluster nodes we add,
+                                the more data we can store:
+                            </p>
+
+                            <div class="page-links">
+                                <a href="/features/datagrid.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Durable Memory</td>
+                        <td>
+                            <p>
+                                Ignite <code>Durable Memory</code> allows storing and processing data and indexes
+                                both, in memory and on disk. The in-memory data, including indexes, is always
+                                stored and managed <code>off-heap</code>, completely removing any type of Garbage
+                                Collection overhead.
+                            </p>
+                            <div class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/durable-memory" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">JCache (JSR 107)</td>
+                        <td>
+                            <p>
+                                Ignite is a 100% compliant implementation of <span style="white-space: nowrap">JCache (JSR 107)</span> specification.
+                                JCache provides a very simple to use, yet very powerful API for data caching:
+                            </p>
+                            <div class="page-links">
+                                <a href="/use-cases/caching/jcache-provider.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Memory-Centric Storage</td>
+                        <td>
+                            <p>
+                                Apache Ignite is based on distributed <i>memory-centric architecture</i> that combines the
+                                performance and scale of in-memory computing together with the disk durability and strong
+                                consistency in one system:
+                            </p>
+                            <div class="page-links">
+                                <a href="/arch/memorycentric.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Collocated Processing</td>
+                        <td>
+                            <p>
+                                Ignite allows executing any native Java, C++, and .NET/C# code directly on the server-side,
+                                close to the data, in collocated fashion:
+                            </p>
+                            <div  class="page-links">
+                                <a href="/features/collocatedprocessing.html" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Client-side Near Caches</td>
+                        <td>
+                            <p>
+                                Near cache is local client-side cache that stores the most recently and most frequently accessed data.
+                            </p>
+                            <div class="page-links">
+                                <a href="http://apacheignite.readme.io/docs/near-caches" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">ACID Transactions</td>
+                        <td>
+                            <p>
+                                Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.
+                            </p>
+                            <div class="page-links">
+                                <a href="/features/transactions.html">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Deadlock-Free Transactions</td>
+                        <td>
+                            <p>
+                                Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks,
+                                and free users from worrying about the lock order.
+                                Such transactions also provide much better performance:
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Transactional Entry Processor</td>
+                        <td>
+                            <p>
+                                Ignite transactional entry processor allows executing collocated user logic on the server
+                                side within a transaction:
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Cross-Partition Transactions</td>
+                        <td>
+                            <p>
+                                In Ignite, transactions can be performed on all partitions of a cache across the whole
+                                cluster:
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Locks</td>
+                        <td>
+                            <p>
+                                Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects:
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/distributed-locks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Continuous Queries</td>
+                        <td>
+                            <p>
+                                Continuous queries are useful for cases when you want to execute a query and then
+                                continue to get notified about the data changes that fall into your query filter:
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left" width="35%">Write-Through</td>
+                        <td>
+                            <p>
+                                Write-Through mode allows updating the data in the database.
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Read-Through</td>
+                        <td>
+                            <p>
+                                Read-Through mode allows reading the data from the database.
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#read-through-and-write-through" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Write-Behind Caching</td>
+                        <td>
+                            <p>
+                                Ignite provides an option to asynchronously perform updates to the database via Write-Behind Caching.
+                            </p>
+                            <div  class="page-links">
+                                <a href="https://apacheignite.readme.io/docs/3rd-party-store#section-write-behind-caching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Hibernate L2 Caching</td>
+                        <td>
+                            <p>
+                                Ignite data grid can be used as <code>Hibernate Second-Level Cache</code> (or L2 cache),
+                                which can significantly speed-up the persistence layer of your application.
+                            </p>
+                            <div class="page-links">
+                                <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Spring Caching</td>
+                        <td>
+                            <p>
+                                Ignite provides Spring-annotation-based way to enable caching for Java methods so that
+                                the result of a method execution is stored in the Ignite cache. If later the same
+                                method is called with the same set of parameters, the result will be retrieved from
+                                the cache instead of actually executing the method.
+                            </p>
+                            <div class="page-links">
+                                <a href="http://apacheignite-mix.readme.io/docs/spring-caching" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">Spring Data</td>
+                        <td>
+                            <p>
+                                Apache Ignite implements Spring Data <code>CrudRepository</code> interface that not only supports basic CRUD operations but also provides access to the Apache Ignite SQL capabilities via the unified Spring Data API.
+                            </p>
+                            <div class="page-links">
+                                <a href="https://apacheignite-mix.readme.io/docs/spring-data" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="left">OSGI Support</td>
+                        <td>
+                            <p></p> &nbsp;
+                            <div  class="page-links">
+                                <a href="https://apacheignite-mix.readme.io/docs/starting-inside-an-osgi-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
+                            </div>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </section>
         </section>
     </main>
 
diff --git a/use-cases/database/sql-database.html b/use-cases/database/sql-database.html
index b7bea99..78353c2 100644
--- a/use-cases/database/sql-database.html
+++ b/use-cases/database/sql-database.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>SQL Database - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -67,11 +67,11 @@
 
                     <div class="page-heading">Performance and Durability</div>
                     <p>
-                        With Ignite <a href="/features/durablememory.html">Durable Memory</a>
+                        With Ignite <a href="/arch/durablememory.html">Durable Memory</a>
                         architecture, data as well as indexes can be stored both in memory and, optionally, on disk.
                         This allows executing distributed SQL operations across different memory layers
                         achieving in-memory performance with the durability of disk.
-                        If the <a href="/features/persistence.html">disk layer</a>
+                        If the <a href="/arch/persistence.html">disk layer</a>
                         is disabled Apache Ignite can be utilized as an
                         <a href="/use-cases/database/in-memory-database.html"><b>in-memory</b> database</a>.
                     </p>
diff --git a/use-cases/hadoop/hdfs-cache.html b/use-cases/hadoop/hdfs-cache.html
index 73b6b33..5b7bdfa 100644
--- a/use-cases/hadoop/hdfs-cache.html
+++ b/use-cases/hadoop/hdfs-cache.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>HDFS Cache - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/use-cases/hadoop/mapreduce.html b/use-cases/hadoop/mapreduce.html
index 056905f..2ffb660 100644
--- a/use-cases/hadoop/mapreduce.html
+++ b/use-cases/hadoop/mapreduce.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>In-Memory MapReduce - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/use-cases/platforms/dotnet.html b/use-cases/platforms/dotnet.html
index fb79847..4a76edc 100644
--- a/use-cases/platforms/dotnet.html
+++ b/use-cases/platforms/dotnet.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>.NET Data Grid - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
 
diff --git a/use-cases/spark/shared-memory-layer.html b/use-cases/spark/shared-memory-layer.html
index 087acb5..27716c8 100644
--- a/use-cases/spark/shared-memory-layer.html
+++ b/use-cases/spark/shared-memory-layer.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Apache Spark Shared Memory Layer - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
diff --git a/use-cases/spark/sql-queries.html b/use-cases/spark/sql-queries.html
index 82f201b..af5cab8 100644
--- a/use-cases/spark/sql-queries.html
+++ b/use-cases/spark/sql-queries.html
@@ -37,7 +37,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Fast Apache Spark SQL Queries - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link media="all" rel="stylesheet" href="/css/syntaxhighlighter.css">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
diff --git a/usecases.html b/usecases.html
index 7d7e8c3..5eb345a 100644
--- a/usecases.html
+++ b/usecases.html
@@ -40,7 +40,7 @@
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Use Cases - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1514336027">
+    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
     <link href="//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css" rel="stylesheet">
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
@@ -59,17 +59,36 @@
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3>Database</h3>
                     <ul>
-                        <li><a href="/use-cases/database/distributed-database.html">Distributed Database</a></li>
-                        <li><a href="/use-cases/database/in-memory-database.html">In-Memory Database</a></li>
-                        <li><a href="/use-cases/database/sql-database.html">SQL Database</a></li>
-                        <li><a href="/use-cases/database/key-value-store.html">Key-Value Store</a></li>
+                        <li><a href="/use-cases/database/distributed-database.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'distributed-database');">
+                            Distributed Database</a>
+                        </li>
+                        <li><a href="/use-cases/database/in-memory-database.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'distributed-database');">
+                            In-Memory Database</a>
+                        </li>
+                        <!--<li><a href="/use-cases/database/sql-database.html">SQL Database</a></li>-->
+                        <li><a href="/features/datagrid.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'data_grid');">
+                            In-Memory Data Grid</a>
+                        </li>
+                        <li><a href="/use-cases/database/key-value-store.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'key_value_store');">
+                            Key-Value Store</a>
+                        </li>
                     </ul>
                 </div>
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3>Comparison</h3>
                     <ul>
-                        <li><a href="/use-cases/comparison/ignite-for-nosql.html">Ignite for NoSQL Users</a></li>
-                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html">Ignite for RDBMS Users</a></li>
+                        <li><a href="/use-cases/comparison/ignite-for-nosql.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'ignite-for-nosql');">
+                            Ignite for NoSQL Users</a>
+                        </li>
+                        <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'ignite-for-rdbms');">
+                            Ignite for RDBMS Users</a>
+                        </li>
                         <li class="empty"></li>
                         <li class="empty"></li>
                     </ul>
@@ -77,19 +96,43 @@
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3>In-Memory Caching</h3>
                     <ul>
-                        <li><a href="/use-cases/caching/database-caching.html">Database Caching</a></li>
-                        <li><a href="/use-cases/caching/jcache-provider.html">JCache Provider</a></li>
-                        <li><a href="/use-cases/caching/hibernate-l2-cache.html">Hibernate L2 Cache</a></li>
-                        <li><a href="/use-cases/caching/web-session-clustering.html">Web Session Clustering</a></li>
+                        <li><a href="/use-cases/caching/database-caching.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'database-caching');">
+                            Database Caching</a>
+                        </li>
+                        <li><a href="/use-cases/caching/jcache-provider.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'jcache-provider');">
+                            JCache Provider</a>
+                        </li>
+                        <li><a href="/use-cases/caching/hibernate-l2-cache.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'hibernate-l2-cache');">
+                            Hibernate L2 Cache</a>
+                        </li>
+                        <li><a href="/use-cases/caching/web-session-clustering.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'web-session-clustering');">
+                            Web Session Clustering</a>
+                        </li>
                     </ul>
                 </div>
                 <div class="col-sm-3 col-md-3 col-xs-12">
                     <h3 class="last">Spark & Hadoop</h3>
                     <ul class="last">
-                        <li><a href="/use-cases/spark/shared-memory-layer.html">Spark Shared RDDs</a></li>
-                        <li><a href="/use-cases/spark/sql-queries.html">Faster Sql for Spark</a></li>
-                        <li><a href="/use-cases/hadoop/hdfs-cache.html">IGFS as HDFS Cache</a></li>
-                        <li><a href="/use-cases/hadoop/mapreduce.html">Faster MapReduce</a></li>
+                        <li><a href="/use-cases/spark/shared-memory-layer.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'shared-memory-layer');">
+                            Spark Shared RDDs</a>
+                        </li>
+                        <li><a href="/use-cases/spark/sql-queries.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'sql-queries');">
+                            Faster Sql for Spark</a>
+                        </li>
+                        <li><a href="/use-cases/hadoop/hdfs-cache.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'hdfs-cache');">
+                            IGFS as HDFS Cache</a>
+                        </li>
+                        <li><a href="/use-cases/hadoop/mapreduce.html"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'usecases_page_click', 'mapreduce');">
+                            Faster MapReduce</a>
+                        </li>
                         <li class="empty"></li>
                     </ul>
                 </div>
diff --git a/whatisignite-bk.html b/whatisignite-bk.html
index a251058..f21ea64 100644
--- a/whatisignite-bk.html
+++ b/whatisignite-bk.html
@@ -41,7 +41,7 @@
     <meta http-equiv="Expires" content="0" />
     <title>What is Apache Ignite</title>
     <meta name="description" content="Apache Ignite components and facts: in-memory and persistent modes, distributed SQL database, in-memory data grid, in-memory database, ACID transactions, collocated processing, and more..."/>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027"/>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028"/>
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet"/>
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'/>
 
@@ -72,7 +72,8 @@
                 <p>
                     Ignite's durable memory component treats RAM not just as a caching layer but as a complete fully functional storage layer.
                     This means that users can turn the persistence on and off as needed. If the persistence is off, then Ignite
-                    can act as a distributed <nobr><i><a href="/use-cases/database/in-memory-database.html">in-memory database</a></i></nobr> or <nobr><i><a href="/features/datagrid.html">in-memory data grid</a></i></nobr>,
+                    can act as a distributed <nobr><i><a href="/use-cases/database/in-memory-database.html">in-memory database</a></i></nobr>
+                    or <nobr><i><a href="/features/datagrid.html">in-memory data grid</a></i></nobr>,
                     depending on whether you prefer to use SQL or key-value APIs. If the persistence is turned on, then Ignite becomes a distributed,
                     <nobr><i><a href="/features/sql.html">horizontally scalable database</a></i></nobr> that guarantees full data consistency and is
                     resilient to full cluster failures.
@@ -105,7 +106,7 @@
                 <p>
                     Most traditional databases work in a client-server fashion, meaning that data must be brought to the client side for processing. This approach requires
                     lots of data movement from servers to clients and generally does not scale. Ignite, on the other hand, allows for sending light-weight computations to the data,
-                    i.e. <nobr><i><a href="/collocatedprocessing.html">collocating computations with data</a></i></nobr>. As a result, Ignite scales better and minimizes data movement.
+                    i.e. <nobr><i><a href="/features/collocatedprocessing.html">collocating computations with data</a></i></nobr>. As a result, Ignite scales better and minimizes data movement.
                 </p>
 
                 <h3>Scalability and Durability</h3>
@@ -224,4 +225,4 @@
 </div>
 <!--#include virtual="/includes/scripts.html" -->
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/whatisignite.html b/whatisignite.html
index b768def..9b62540 100644
--- a/whatisignite.html
+++ b/whatisignite.html
@@ -41,7 +41,7 @@
     <meta http-equiv="Expires" content="0" />
     <title>What is Apache Ignite</title>
     <meta name="description" content="Apache Ignite components and facts: in-memory and persistent modes, distributed SQL database, in-memory data grid, in-memory database, ACID transactions, collocated processing, and more..."/>
-    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336027"/>
+    <link media="all" rel="stylesheet" href="/css/all.css?v=1514336028"/>
     <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet"/>
     <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'/>
 
@@ -142,7 +142,7 @@
                             can be stored in-memory only, and larger data sets that do not fit in memory can be stored on disk,
                             using memory as a caching layer for better performance.
                         </p>
-                        <p style="margin-top: 10px;">Read more: <a href="/features/persistence.html" target="_blank">Native Persistence</a></p><br/><br/>
+                        <p style="margin-top: 10px;">Read more: <a href="/arch/persistence.html" target="_blank">Native Persistence</a></p><br/><br/>
                     </div>
                 </div>
 
