diff --git a/_projectCommon.php b/_projectCommon.php
new file mode 100644
index 0000000..bd41528
--- /dev/null
+++ b/_projectCommon.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Copyright (c) 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *    Christopher Guindon (Eclipse Foundation) - initial API and implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+
+// Define your project-wide Nav bars here.
+$Nav = new Nav();
+$Nav->addNavSeparator("Getting Started", "/getting_started/");
+$Nav->addCustomNav("New to Eclipse?", "/getting_started", "_self", 1);
+$Nav->addCustomNav("Download", "/downloads", "_self", 1);
+$Nav->addCustomNav("Eclipse articles", "https://wiki.eclipse.org/Eclipse_Corner", "_self", 1);
+$Nav->addCustomNav("Eclipse Forums", "/forums/", "_self", 1);
+$Nav->addCustomNav("Resources", "/resources/", "_self", 1);
+$Theme->setNav($Nav);
\ No newline at end of file
diff --git a/content/en_index.php b/content/en_index.php
index 23842e4..cda1101 100644
--- a/content/en_index.php
+++ b/content/en_index.php
@@ -14,67 +14,22 @@
  */
 ?>
 
-<div id="fullcolumn">
-  <div id="midcolumn">
-    <h1><?php print $pageTitle;?></h1>
-    <h2>Current releases</h2>
-    <ul>
-      <li><a href="http://help.eclipse.org/oxygen/index.jsp"><b><img
-        src="/newsgroups/images/discovery.gif" /> Eclipse Oxygen (4.7)
-        Documentation</b></a><b> (HTML Help Center) </b>
-      </li>
-    </ul>
-    <h2>Older releases</h2>
-    <ul>
-      <li><a href="http://help.eclipse.org/neon/index.jsp"><b><img
-        src="/newsgroups/images/discovery.gif" /> Eclipse Neon (4.6)
-        Documentation</b></a><b> (HTML Help Center) </b>
-      </li>
-      <li><a href="http://help.eclipse.org/mars/index.jsp"><b><img
-        src="/newsgroups/images/discovery.gif" /> Eclipse Mars (4.5)
-        Documentation</b></a><b> (HTML Help Center) </b>
-      </li>
-      <li><a href="http://help.eclipse.org/luna/index.jsp"><b><img
-        src="/newsgroups/images/discovery.gif" /> Eclipse Luna (4.4)
-        Documentation</b></a><b> (HTML Help Center) </b>
-      </li>
-      <li><a href="http://help.eclipse.org/kepler/index.jsp"><b><img
-        src="/newsgroups/images/discovery.gif" /> Eclipse Kepler (4.3)
-        Documentation</b></a><b> (HTML Help Center) </b>
-      </li>
-    </ul>
-    <div class="homeitem3col">
-      <h3>Eclipse 3.1 Documentation</h3>
-      <ul>
-        <li><a
-          href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.user.3.1.pdf.zip"><img
-          src="/images/zip.png" /> Workbench User Guide</a></li>
-        <li><a
-          href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.user.3.1.pdf.zip"><img
-          src="/images/zip.png" /> Java Development User Guide</a></li>
-        <li><a
-          href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.pde.doc.user.3.1.pdf.zip"><img
-          src="/images/zip.png" /> PDE Guide</a></li>
-        <li><a
-          href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.isv.3.1.pdf.zip"><img
-          src="/images/zip.png" /> Platform Plug-in Developer Guide</a></li>
-        <li><a
-          href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.isv.3.1.pdf.zip"><img
-          src="/images/zip.png" /> JDT Plug-in Developer Guide</a>
-      </ul>
-    </div>
-  </div>
-  <div id="rightcolumn">
-    <div class="sideitem">
-      <h6>Related links</h6>
-      <ul>
-        <li><a href="http://www.eclipse.org/home/newcomers.php">New to
-          Eclipse? Start here.</a>
-        </li>
-        <li><a href="/articles/">Eclipse articles</a></li>
-        <li><a href="/forums/">Forums</a></li>
-        <li><a href="/resources/">Resources</a></li>
-      </ul>
-    </div>
-  </div>
-</div>
\ No newline at end of file
+<h2>Current releases</h2>
+<ul class="fa-ul">
+  <li><a href="http://help.eclipse.org/oxygen/index.jsp"><i class="fa fa-globe"></i> Eclipse Oxygen (4.7) Documentation</a> (HTML Help Center)</li>
+</ul>
+<h2>Older releases</h2>
+<ul class="fa-ul">
+  <li><a href="http://help.eclipse.org/neon/index.jsp"><i class="fa fa-globe"></i> Eclipse Neon (4.6) Documentation</a> (HTML Help Center)</li>
+  <li><a href="http://help.eclipse.org/mars/index.jsp"><i class="fa fa-globe"></i> Eclipse Mars (4.5) Documentation</a> (HTML Help Center)</li>
+  <li><a href="http://help.eclipse.org/luna/index.jsp"><i class="fa fa-globe"></i> Eclipse Luna (4.4) Documentation</a> (HTML Help Center)</li>
+  <li><a href="http://help.eclipse.org/kepler/index.jsp"><i class="fa fa-globe"></i> Eclipse Kepler (4.3) Documentation</a> (HTML Help Center)</li>
+</ul>
+<h3>Eclipse 3.1 Documentation</h3>
+<ul class="fa-ul">
+  <li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.user.3.1.pdf.zip"><i class="fa fa-file-archive-o"></i> Workbench User Guide</a></li>
+  <li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.user.3.1.pdf.zip"><i class="fa fa-file-archive-o"></i> Java Development User Guide</a></li>
+  <li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.pde.doc.user.3.1.pdf.zip"><i class="fa fa-file-archive-o"></i> PDE Guide</a></li>
+  <li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.isv.3.1.pdf.zip"><i class="fa fa-file-archive-o"></i> Platform Plug-in Developer Guide</a></li>
+  <li><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.jdt.doc.isv.3.1.pdf.zip"><i class="fa fa-file-archive-o"></i> JDT Plug-in Developer Guide</a></li>
+</ul>
diff --git a/index.php b/index.php
index c75b789..77e5005 100644
--- a/index.php
+++ b/index.php
@@ -16,8 +16,9 @@
 require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
 $App = new App();
 $Theme = $App->getThemeClass();
+include($App->getProjectCommon());
 
-$pageTitle = "Eclipse documentation";
+$pageTitle = "Eclipse Documentation";
 $Theme->setPageTitle($pageTitle);
 $Theme->setPageKeywords("Eclipse, documentation, help, api, programmer, javadoc, sdk, developer, network, code");
 $Theme->setPageAuthor("Denis Roy");
@@ -28,4 +29,5 @@
 $html = ob_get_clean();
 
 $Theme->setHtml($html);
+$Theme->setDisplayHeaderTitle(TRUE);
 $Theme->generatePage();
\ No newline at end of file
