diff --git a/index.php b/index.php
index 6a76d31..a2b762c 100755
--- a/index.php
+++ b/index.php
@@ -20,34 +20,47 @@
 		<h1><?= $pageTitle ?></h1>
 		<div class="homeitem3col">
 			<h3>About e4</h3>
-		    <p>e4 is an incubator for community exploration of future technologies for the Eclipse Platform. 
-		    The project has three principal aims:
+		    <p>e4 is an incubator project for community exploration of future technologies for the Eclipse Platform. Originally this project was used for the development of the underlying engine of the Eclipse 4 platform which concluded with the release of Eclipse 4. After this the project incubated the new E4 Rich Client Tooling used to visually create the Application Model. This project also graduated and is now part of Eclipse Platform. You can find the E4 tooling in the <a href="http://download.eclipse.org/releases/mars">Release Train repository</a>. 
+		    The projects that are currently cooking are:
 		    <ul>
-		      <li>Simplify the Eclipse programming model: This will reduce development and maintenance costs and enable a larger developer community to leverage the platform in their own Eclipse-based applications.</li>
-		      <li>Enable the platform for use on emerging web-based runtime technologies: This will ensure the platform remains a compelling and viable application framework in a rapidly changing web technology landscape, and it will allow e4-based applications to leverage web technologies, while remaining insulated from specific technology choices that may quickly become obsolete.</li>
-		      <li>Broaden participation in development of the platform: This reduces the risks associated with building on a platform largely funded from a single source. Having a large and diverse group of commercial backers, will ensure the platform remains vibrant and viable over the long term. </li>
+		      <li>Eclipse Spies - Spies are tools that enable you to look inside the Eclipse engine while it is running. Invaluable for RCP Developers;</li>
+		      <li>Eclipse Smart Project Importer Framework - Tooling to ease the import of projects into the Eclipse Workspace.</li>
 		    </ul>
 		    For more details, see the project 
 		    <a href="/projects/project_summary.php?projectid=eclipse.e4">about page</a>.
 		    </p>
 		</div>
 		<div class="homeitem3col">
-			<h3>For more information</h3>
+			<h3>Eclipse Spies</h3>
       	 <ul>
-      	   <li><a href="http://eclipse.org/eclipse/development/">Project Development</a><br>
-				Release plans and other information about the Eclipse Project development process.
+      	   <li> E4 tools is a set of tools to help in developing application using Eclipse 4. 
+      	        These tools are very helpful when creating a "pure E4" project 
+      	        the spies makes the development of "pure e4" applications easier 
+      	        and helps to understand the underlying E4 concepts like "application model", 
+      	        "events" and "CSS Styling".  
+      	        
       	   </li>
       	   <li><a href="http://download.eclipse.org/e4/downloads/">Downloads</a><br>
-      	   		Download stable and integration builds of e4 technology on the e4 downloads page.
+      	   		Download the latest and the greatest snapshot.
       	   </li>
-      	   <li><a href="http://wiki.eclipse.org/e4">e4 wiki</a><br>
+      	   <li><a href="https://www.youtube.com/watch?v=CcClGXmZPcI">EclipseCon Talk by Olivier Proovost</a><br>
 				A wealth of technical information on e4 can be found on the e4 wiki page. The
 				wiki also provides more detailed planning information, and a variety of
 				channels for communicating with the e4 developers.
       	   </li>
-      	   <li><a href="http://www.eclipse.org/e4/resources/e4-whitepaper.php">e4 white paper</a><br>
-      	   		The e4 white paper provides a detailed technical overview of the active areas of
-      	   		exploration in the e4 project at the time of the e4 0.9 technology preview release.
+      	 </ul>
+			<h3>Smart Project importer Framework</h3>
+      	 <ul>
+      	   <li><a href="https://wiki.eclipse.org/E4/UI/Smart_Import">Project wiki.</a><br>
+				Release plans and other information about this project.
+      	   </li>
+      	   <li>Currently, when importing a project, users are facing the difficult choices 
+      	       of what project they are importing and how to import it. The various 
+      	       technologies involved in a project can easily be detected by some automated 
+      	       check, such as presence of specific files, some content in a file or files with 
+      	       a specific extension. The purpose of the framework is to use such interesting data 
+      	       to automatically detect the nature of the project and automatically configure it at 
+      	       best, with very minimal effort from the user.
       	   </li>
       	 </ul>
 		</div>
@@ -55,12 +68,24 @@
 	
 	<div id="rightcolumn">
 		<div class="sideitem">
-			<h6>The June 2012 Release is Available!</h6>
+      		
+			<h6>Eclipse Model Spies</h6>
+			Want to take a look under the covers? Download the latest snapshot. Warning, it is still hot!
 			<ul>
-				<li><a href="http://download.eclipse.org/e4/downloads/drops/R-0.12-201206131100/index.html">Download it</a></li>
+				<li><a href="http://download.eclipse.org/e4/snapshots/org.eclipse.e4.tools/">Eclipse Spies Repository</a></li>
       		</ul>
-      		Note that several e4 components graduated into the Eclipse Platform project to
+
+			<h6>Smart Import Framework</h6>
+			The Smart importer framework is the latest expirement cooking in our e4 labs.
+			
+			<h6>Eclipse Model tooling (Graduated!)</h6>
+		    Several e4 components graduated into the Eclipse Platform project to
       		produce the <a href="http://www.eclipse.org/eclipse4">Eclipse 4</a> stream of releases.
+      		
+			<h6>We build with Hudson</h6>
+		    <a href="http://hudson.eclipse.org/e4">Eclipse 4 Hudson Build Server</a>
+
+
 		</div>
 	</div>
 	
