diff --git a/_projectCommon.php b/_projectCommon.php
index 7e152d6..fada931 100755
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -1,6 +1,6 @@
 <?php
 
-	$pageAuthor		= "Ketan Padegaonkar";
+	$pageAuthor		= "Ketan Padegaonkar, Mickael Istria";
 	$pageKeywords	= "SWTBot, UI Testing for SWT, UI Testing for Eclipse, SWT testing, Eclipse testing";
 	$pageTitle 		= "SWTBot &ndash; UI Testing for SWT and Eclipse";
 
@@ -16,20 +16,16 @@
 	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
 	# these are optional
 	$Nav->addCustomNav("Project Home", 			"/swtbot/index.php");
-	$Nav->addCustomNav("About This Project",	"/swtbot/about.php");
-	$Nav->addCustomNav("Downloads", 			"/swtbot/downloads.php");
+	$Nav->addCustomNav("Project Info",	"/swtbot/about.php");
+	$Nav->addCustomNav("Downloads", 			"http://wiki.eclipse.org/SWTBot#Update_Sites");
 	
 	$Nav->addCustomNav("Users Guide", 			"http://wiki.eclipse.org/SWTBot/UsersGuide");
-	$Nav->addCustomNav("Detailed Guide", 		"http://swtbot.org/user-guide");
-	$Nav->addCustomNav("Cheat Sheet",	 		"http://swtbot.org/cheat-sheet.html");
-	$Nav->addCustomNav("FAQ", 					"http://wiki.eclipse.org/SWTBot/FAQ");
-
-	$Nav->addCustomNav("SWTBot Support",		"http://wiki.eclipse.org/SWTBot/Support");
+	$Nav->addCustomNav("Get Support",		"http://wiki.eclipse.org/SWTBot/Support");
+	$Nav->addCustomNav("Contributing", 			"http://wiki.eclipse.org/SWTBot/Contributing");
 	
 	$Nav->addCustomNav("Blogs",					"http://wiki.eclipse.org/SWTBot/Blogs");
 
 	$Nav->addCustomNav("Who's Using It?", 		"http://wiki.eclipse.org/SWTBot/Who_Is_Using_SWTBot");
-	$Nav->addCustomNav("Contributing", 			"http://wiki.eclipse.org/SWTBot/Contributing");
 	$Nav->addCustomNav("All Pages", 			"http://wiki.eclipse.org/Category:SWTBot");
 
 ?>
diff --git a/downloads.php b/downloads.php
deleted file mode 100644
index a874728..0000000
--- a/downloads.php
+++ /dev/null
@@ -1,183 +0,0 @@
-<?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	= new Nav();
-$Menu 	= new Menu();
-include($App->getProjectCommon());
-
-	$pageTitle 		= "SWTBot &ndash; Downloads";
-
- 	$ganymede_dev_version = file_get_contents($App->getDownloadBasePath()."/technology/swtbot/ganymede/dev-build/version.txt");
- 	$galileo_dev_version = file_get_contents($App->getDownloadBasePath()."/technology/swtbot/galileo/dev-build/version.txt");
- 	$helios_dev_version = file_get_contents($App->getDownloadBasePath()."/technology/swtbot/helios/dev-build/version.txt");
-	# Paste your HTML content between the ob_start/ob_end_clean markers!
-	ob_start();
-?>
-	<div id="midcolumn">
-		<p>We recommend that you use the update site for your downloads. It's easier to install and allows you to stay up to date with the latest versions of SWTBot using the eclipse update manager.</p>
-
-		<p>SWTBot comes in two flavors, one that works with SWT and one that builds on top of SWT and works with Eclipse.</p>
-
-		<p>If you are a plugin developer you should be downloading 'SWTBot for Eclipse Testing'. If you don't know what that means, you should be downloading 'SWTBot for SWT Testing'</p>
-
-	<!-- downloads -->
-		<div class="homeitem3col">
-
-			<p><strong>The current latest version of SWTBot is <? echo preg_replace('/(\d+)\.(\d+)\.(\d+)\..*/', '\1.\2.\3', $helios_dev_version); ?>. Please upgrade if you're on an older version.</strong></p>
-			<p>Be sure to read the <a href="http://download.eclipse.org/technology/swtbot/helios/dev-build/RELEASE_NOTES.txt">Release Notes</a> if you're upgrading.</p>
-
-			<h4>Supports Eclipse 3.6 (Helios) and Eclipse 3.7 (Indigo)</h4>
-
-			<ul>
-				<li>
-					<a title="Update Site Zip" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/swtbot-update-site-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a>
-					<a href="http://download.eclipse.org/technology/swtbot/helios/dev-build/update-site">http://download.eclipse.org/technology/swtbot/helios/dev-build/update-site</a>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for SWT Testing</b>
-				</li>
-
-
-				<li>
-					<a title="SWTBot for Eclipse Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot.eclipse-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for Eclipse Testing</b>
-				</li>
-
-				<li>
-					<a title="SWTBot IDE Features" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot.ide-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot IDE Features</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for GEF Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot.eclipse.gef-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for GEF Testing (Requires GEF runtime >= v3.4.2)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot.eclipse.test.junit3-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 3.x Testing Framework (for running tests from within ant)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/helios/dev-build/org.eclipse.swtbot.eclipse.test.junit4-<? echo $helios_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 4.x Testing Framework (for running tests from within ant)</b>
-				</li>
-
-			</ul>
-      
-      <h2>Unsupported eclipse versions</h2>
-
-			<h4>Eclipse 3.5 (Galileo)</h4>
-
-			<ul>
-				<li>
-					<a title="Update Site Zip" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/swtbot-update-site-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a>
-					<a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site">http://download.eclipse.org/technology/swtbot/galileo/dev-build/update-site</a>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for SWT Testing</b>
-				</li>
-
-
-				<li>
-					<a title="SWTBot for Eclipse Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot.eclipse-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for Eclipse Testing</b>
-				</li>
-				
-				<li>
-					<a title="SWTBot IDE Features" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot.ide-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot IDE Features</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for GEF Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot.eclipse.gef-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for GEF Testing (Requires GEF runtime >= v3.4.2)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot.eclipse.test.junit3-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 3.x Testing Framework (for running tests from within ant)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/galileo/dev-build/org.eclipse.swtbot.eclipse.test.junit4-<? echo $galileo_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 4.x Testing Framework (for running tests from within ant)</b>
-				</li>
-			</ul>
-
-			<h4>Eclipse 3.4 (Ganymede)</h4>
-
-			<ul>
-				<li>
-					<a title="Update Site Zip" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/swtbot-update-site-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a>
-					<a href="http://download.eclipse.org/technology/swtbot/ganymede/dev-build/update-site">http://download.eclipse.org/technology/swtbot/ganymede/dev-build/update-site</a>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for SWT Testing</b>
-				</li>
-
-
-				<li>
-					<a title="SWTBot for Eclipse Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot.eclipse-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for Eclipse Testing</b>
-				</li>
-				
-				<li>
-					<a title="SWTBot IDE Features" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot.ide-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot IDE Features</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for GEF Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot.eclipse.gef-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>SWTBot for GEF Testing (Requires GEF runtime >= v3.4.2)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot.eclipse.test.junit3-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 3.x Testing Framework (for running tests from within ant)</b>
-				</li>
-
-				<li>
-					<a title="SWTBot for SWT Testing" href="http://www.eclipse.org/downloads/download.php?file=/technology/swtbot/ganymede/dev-build/org.eclipse.swtbot.eclipse.test.junit4-<? echo $ganymede_dev_version; ?>.zip"><img border=0 src="/swtbot/images/download_button.png"></a> <b>Headless JUnit 4.x Testing Framework (for running tests from within ant)</b>
-				</li>
-
-			</ul>
-
-			<h4>Nightly builds</h4>
-
-			<p>Nightly builds of SWTBot are extremely stable, since SWTBot has a large number of tests, providing very good test coverage. The following update sites always refer to the last sucessful SWTBot build.</p>
-
-			
-			<ul>
-			<li> <a href="https://hudson.eclipse.org/hudson/view/SWTBot/job/swtbot-e37/lastSuccessfulBuild/artifact/org.eclipse.swtbot.releng/artifacts/update-site/">Update site for eclipse 3.7 (Indigo)</a></li>
-                        <li> <a href="https://hudson.eclipse.org/hudson/view/SWTBot/job/swtbot-e36/lastSuccessfulBuild/artifact/org.eclipse.swtbot.releng/artifacts/update-site/">Update site for eclipse 3.6 (Helios)</a></li>
-			<li> <a href="https://hudson.eclipse.org/hudson/view/SWTBot/job/swtbot-e35/lastSuccessfulBuild/artifact/org.eclipse.swtbot.releng/artifacts/update-site/">Update site for eclipse 3.5 (Galileo)</a></li>
-			<li> <a href="https://hudson.eclipse.org/hudson/view/SWTBot/job/swtbot-e34/lastSuccessfulBuild/artifact/org.eclipse.swtbot.releng/artifacts/update-site/">Update site for eclipse 3.4 (Ganymede)</a></li>
-			</ul>
-
-			<h4>Older archived versions of SWTBot <a href="http://download.eclipse.org/technology/swtbot/archives/">available here</a></h4>
-
-			<h4>Javadocs</h4>
-
-			<p></p>
-
-			<p><a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/apidocs">API docs For SWTBot</a>
-
-			<h4>Test Coverage reports</h4>
-
-			<p></p>
-
-			<p><a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/coverage/org.eclipse.swtbot.swt.finder.test/">Test Coverage Results for SWTBot</a>
-			<br/>
-			<a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/coverage/index.html">Test Coverage Results for other plugins</a></p>
-
-			<h4>JUnit reports</h4>
-
-			<p></p>
-
-			<p><a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/junit/org.eclipse.swtbot.swt.finder.test"><img src="/swtbot/images/junit.gif" />JUnit tests for SWTBot</a>
-			<br/>
-			<a href="http://download.eclipse.org/technology/swtbot/galileo/dev-build/junit/org.eclipse.swtbot.eclipse.finder.test/index.html"><img src="/swtbot/images/junit.gif" />JUnit tests for SWTBot For Eclipse testing</a></p>
-
-		</div>
-	</div>
-
-<?php
-include("website/parts/incubation.php");
-$html = ob_get_contents();
-ob_end_clean();
-
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
diff --git a/index.php b/index.php
index d38411c..0be21c4 100755
--- a/index.php
+++ b/index.php
@@ -25,20 +25,15 @@
 
 		<p>SWTBot provides APIs that are simple to read and write. The APIs also hide the complexities involved with SWT and Eclipse. This makes it suitable for UI/functional testing by everyone, not just developers. SWTBot also provides its own set of assertions that are useful for SWT. You can also use your own assertion framework with SWTBot.</p>
 
-		<p>SWTBot can record and playback tests and integrates with Eclipse, and also provides for <a href="advanced/ant-integration.html">ant tasks</a> so that you can run your builds from within CruiseControl or any other CI tool that you use.</p>
+		<p>SWTBot integrates with Eclipse PDE, <a href="advanced/ant-integration.html">Ant</a> and <a href="http://eclipse.org/tycho">Tycho</a>, so it's easy to use in your IDE and Headless Builds (as part of a CI job for example).</p>
 
 		<p>SWTBot can run on all platforms that SWT runs on. Very few other testing tools provide such a wide variety of platforms.</p>
 
-		<h1>Resources</h1>
-		 <ul>
-			<li><a href="http://eclipse.org">Eclipse Home Page</a></li>
-		  	<li><a href="http://eclipse.org/swt">SWT Home Page</a></li>
-		 	<li><a href="http://eclipse.org/swt/snippets">Some SWT Snippets</a></li>
-		</ul>
+		<p>Starting from version 2.1.0, SWTBot also provide a <a href="http://wiki.eclipse.org/SWTBot/Generator">Test Recorder and Generator</a> that you can use to generate your test case simply by recording the UI actions as an end-user would perform them. This is really helpful to get quickly a first sketch of your SWTBot scenario and reduce costs of writing tests.</p>
+
 	</div>
 
 <?php
-include("website/parts/incubation.php");
 $html = ob_get_contents();
 ob_end_clean();
 
