diff --git a/_projectCommon.php b/_projectCommon.php
index 477ab6d..a405f19 100644
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -3,11 +3,10 @@
 	# Set the theme for your project's web pages.
 	# See the Committer Tools "How Do I" for list of themes
 	# https://dev.eclipse.org/committers/
-	# Optional: defaults to system theme 
-	$theme = "Nova";
+	# Optional: defaults to system theme
+	$theme = "solstice";
 
 	# Define your project-wide Nav bars here.
 	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
 	# these are optional
 
-?>
diff --git a/content/en_index.php b/content/en_index.php
new file mode 100644
index 0000000..9e68ef4
--- /dev/null
+++ b/content/en_index.php
@@ -0,0 +1,83 @@
+<?php
+/*******************************************************************************
+ * Copyright (c) 2014 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Christopher Guindon (Eclipse Foundation) - Initial implementation
+ *******************************************************************************/
+if (basename ( __FILE__ ) == basename ( $_SERVER ['PHP_SELF'] )) {
+	exit ();
+}
+?>
+
+<div id="fullcolumn">
+	<div id="midcolumn">
+		<h1><?php print $pageTitle;?></h1>
+		<h2>Current releases</h2>
+		<ul>
+			<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>
+		</ul>
+		<h2>Older releases</h2>
+		<ul>
+			<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>
+			<li><a href="http://help.eclipse.org/juno/index.jsp"><b><img
+						src="/newsgroups/images/discovery.gif" /> Eclipse Juno (4.2)
+						Documentation</b></a><b> (HTML Help Center) </b></li>
+			<li><a href="http://help.eclipse.org/indigo/index.jsp"><b><img
+						src="/newsgroups/images/discovery.gif" /> Eclipse Indigo (3.7)
+						Documentation</b></a><b> (HTML Help Center) </b></li>
+			<li><a href="http://help.eclipse.org/helios/index.jsp"><b><img
+						src="/newsgroups/images/discovery.gif" /> Eclipse Helios (3.6)
+						Documentation</b></a><b> (HTML Help Center) </b></li>
+		</ul>
+		<h2>Archived releases</h2>
+		<p>These links redirect to the 'current' release and may stop
+			functioning in future.</p>
+		<ul>
+			<li><a href="http://help.eclipse.org/galileo/index.jsp"><b><img
+						src="/newsgroups/images/discovery.gif" /> Eclipse Galileo (3.5)
+						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
diff --git a/index.php b/index.php
index 4100d07..39d1ed3 100644
--- a/index.php
+++ b/index.php
@@ -1,71 +1,34 @@
-<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= null;	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+<?php
+/*******************************************************************************
+ * Copyright (c) 2006-2014 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *		Denis Roy (Eclipse Foundation) - Initial implementation
+ *		Christopher Guindon (Eclipse Foundation)
+ *******************************************************************************/
 
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2006-08-03
-	#
-	# Description: 
-	#
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
+	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+
+	$App 	= new App();
+	$Nav	= new Nav();
+	$Menu 	= new Menu();
+
+	include($App->getProjectCommon());
+
 	$pageTitle 		= "Eclipse documentation";
 	$pageKeywords	= "Eclipse, documentation, help, api, programmer, javadoc, sdk, developer, network, code";
 	$pageAuthor		= "Denis Roy";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
-	# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
 
-	# End: page-specific settings
-	#
-		
-	# Paste your HTML content between the EOHTML markers!	
-	$html = <<<EOHTML
-<div id="fullcolumn"><div id="midcolumn">
-	<h1>$pageTitle</h1>
-	<h2>Current releases</h2><ul>
-<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>
-	<h2>Older releases</h2><ul>
-			<li><a href="http://help.eclipse.org/juno/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Juno (4.2) Documentation</b></a><b> (HTML Help Center) </b></li>
-	<li><a href="http://help.eclipse.org/indigo/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Indigo (3.7) Documentation</b></a><b> (HTML Help Center) </b></li>
-<li><a href="http://help.eclipse.org/helios/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Helios (3.6) Documentation</b></a><b> (HTML Help Center) </b></li>
-    </ul>
-    <h2>Archived releases</h2>
-    <p> These links redirect to the 'current' release and may stop functioning in future. </p>
-    <ul> 
-<li><a href="http://help.eclipse.org/galileo/index.jsp"><b><img src="/newsgroups/images/discovery.gif" /> Eclipse Galileo (3.5) 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>
-EOHTML;
-
+	ob_start();
+	include("content/en_" . $App->getScriptName());
+	$html = ob_get_clean();
 
 	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
 ?>
\ No newline at end of file
