diff --git a/index.php b/index.php
new file mode 100755
index 0000000..f58eb39
--- /dev/null
+++ b/index.php
@@ -0,0 +1,77 @@
+<?php
+/*******************************************************************************
+ * Copyright (c) 2011 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://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Wayne Beaton (Eclipse Foundation)- initial API and implementation
+ *******************************************************************************/
+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 Security";
+$pageAuthor		= "";
+$pageKeywords	= "Eclipse, projects, security";
+
+require_once dirname(__FILE__) . '/../projects/classes/images.inc';
+
+//include( '_commonLeftNav.php' );
+
+function button($title, $text, $url, $image) {
+	echo "<a href=\"$url\"><div class=\"cell\" style=\"background-image:url($image);\"><h3>$title</h3><p>$text</p></div></a>";
+}
+
+$App->AddExtraHtmlHeader("<link type=\"text/css\" rel=\"stylesheet\" href=\"/projects/buttons.css\">");
+
+ob_start();
+?>
+<div style="display:block;background-image:url(/default/images/backgroundMainEmpty.png);background-repeat:no-repeat">
+	<div style="position:relative;height:193px">
+		<div style="position:absolute;top:0;right:0;width:50%">
+			<?php 
+				button("What's New?", "Find out what's new in the Eclipse Projects.", "whatsnew.php", $images->whats_new_huge);
+				button("All Projects", "See a list of all the projects hosted at Eclipse.", "listofprojects.php", $images->projects_huge);
+				button("Start a new Project", "Words of advice; getting started.", "http://wiki.eclipse.org/Development_Resources/HOWTO/Starting_A_New_Project", $images->new_project_huge);
+				button("Emeritus", "The Committer Hall of Fame.", "committers-emeritus.php", $images->emeritus_huge);
+			?>
+		</div>
+		<div style="position:absolute;top:0;left:1%;right:50%;width:45%">		
+			<h3>Eclipse Projects</h3>
+			<p>Eclipse projects now cover runtimes; static and dynamic languages; thick-client, thin-client, and server-side
+			frameworks; modeling and business reporting; embedded and mobile; and, yes, we still have the best Java IDE.</p>
+			<p>This page is designed to be a gateway into the projects for users, adopters, team members, and the
+			merely curious.</p>
+		</div>
+	</div>
+</div>
+<div style="clear:both"></div>
+
+
+
+<div>
+	<?php 
+		button("Portal", "Manage your Eclipse Project's information.", "http://portal.eclipse.org", $images->portal_huge);
+		button("Process", "The Eclipse Development Process.", "dev_process/development_process.php", $images->edp_huge);
+		button("Development Resources", "Information and help for committers.", "http://wiki.eclipse.org/Development_Resources", $images->committers_huge);
+		button("Project Tools", "Some handy and helpful tools for projects.", "/projects/tools", $images->tools_huge);
+	?>
+</div>
+
+<?php
+	# Paste your HTML content between the EOHTML markers!
+	$html = ob_get_contents();
+	ob_end_clean();
+//	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/default/style.css"/>');
+	# Generate the web page
+	$App->PageRSS = "/projects/reviews-rss.php";
+	$App->generatePage('Nova', $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+
+?>
\ No newline at end of file
