diff --git a/download/_index.html b/download/_index.html
deleted file mode 100644
index d8517ed..0000000
--- a/download/_index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<p>
-	ATL can be downloaded and installed in a number of ways. If you have an existing Eclipse installation and simply wish to install
-	ATL in it, <a href="#installUpdate">Installing through the update site</a> is the easiest way. If you'd rather install a new
-	Eclipse with ATL, you may want to take a look at the facilities provided by <a href="#installAmalgam">the amalgamation project</a>.
-</p>
-<p>
-	For those of you that need to retrieve the zips of ATL, you can either look at the <a href="#downloadLatest">latest releases</a>.
-</p>
-<p>
-	Note that whatever the installation procedure you choose, examples are available from the menu <i>right-click =&gt; New =&gt; Examples
-	=&gt; ATL</i>.
-</p>
-
-<h2><a name="installAmalgam"></a>Install with the Amalgamation project</h2>
-<ol>
-	<!--
-		TODO change this link to point towards the "real" download page instead of the nightly
-		as soon as it's updated.
-	-->
-	<li>
-		Download the <a href="http://www.eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/heliosrc3"
-		title="Download Amalgamation Packages">latest EPP modeling bundle</a>
-	</li>
-	<li>
-		Use the modeling discovery button to install ATL<br/>
-		<img src="../images/discovery.png" alt="Discovery UI"/>
-	</li>
-</ol>
-
-<h2><a name="installUpdate"></a>Install with the update site</h2>
-<p>
-	The easiest (and quickest) way of installing ATL is to use the Helios update-site.
-</p>
-<ol>
-	<li>
-		Install your preferred Eclipse distribution from <a href="http://www.eclipse.org/downloads/"
-		title="Eclipse Download page" rel="nofollow">the Eclipse download page</a>.
-	</li>
-	<li>
-		Go to <i>Help =&gt; Install New Software...</i><br/>
-		<img src="../images/install_1.png" alt="Install New Software..."/>
-	</li>
-	<li>
-		In the upper part, click <i>Add</i> and type in the location<br/>
-		<i>http://download.eclipse.org/mmt/atl/updates/releases/3.3</i>
-	</li>
-	<li>
-		Select this new update site in the combo box and tick <i>ATL</i> in the lower
-		panel, such as shown below.<br/>
-		<img src="../images/install_2.png" alt="Install ATL"/>
-	</li>
-	<li>
-		Click <i>Finish</i>, read and accept the Eclipse Public License, and watch ATL install
-		itself along with its dependencies.
-	</li>
-</ol>
-
-<h2><a name="downloadLatest"></a>Download the latest ATL</h2>
-<p>
-	The latest versions of ATL are the 3.x stream builds. Check them out on the project's
-	<a href="http://eclipse.org/mmt/downloads/?project=atl" title="Download ATL">
-	download page</a>.
-</p>
-
-<h2><a name="downloadOld"></a>Download old releases of ATL</h2>
-<p>
-	Old ATL build (namely ATL 2.0RC2) still available on the
-	<a href="index-old.php" title="Download ATL 2.0RC2">
-	old versions download page</a>.
-</p>
\ No newline at end of file
diff --git a/download/index-old.php b/download/index-old.php
deleted file mode 100644
index faa0bf6..0000000
--- a/download/index-old.php
+++ /dev/null
@@ -1,136 +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());    # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# template.php
-	#
-	# Author: 		Freddy Allilaire
-	# Date:			2005-12-05
-	#
-	# Description: Type your page comments here - these are not sent to the browser
-	#
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Download page";
-	$pageKeywords	= "";
-	$pageAuthor		= "Freddy Allilaire";
-	
-	# 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="primaryLinks">
-	<h3>Primary Links</h3>
-	<ul>
-		<li>
-			<a id="buttonDownload" href="../downloads" title="Download">
-				<strong>Download</strong> Eclipse Distribution, Update Site, Dropins
-			</a>
-		</li>
-		<li>
-			<a id="buttonDocumentation" href="../documentation" title="Documentation">
-				<strong>Documentation</strong> Tutorials, Examples, Videos, Reference Documentation
-			</a>
-		</li>
-		<li>
-			<a id="buttonSupport" href="../support" title="Support">
-				<strong>Support</strong> Bug Tracker, Newsgroup, Support
-			</a>
-		</li>
-		<li>
-			<a id="buttonInvolved" href="../developers" title="Getting Involved">
-				<strong>Getting Involved</strong> Git, Workspace Setup, Wiki, Committers
-			</a>
-		</li>
-	</ul>
-</div>
-
-	<div id="midcolumn">
-		<h1>$pageTitle</h1>
-
-		<table width="100%">
-			<tr>
-				<td><img src="../images/update_wiz.gif" /></td>
-				<td>
-					<p align="justify">
-						The standard ATL install provides ATL Engine and IDE. With the standard version, you should only deal with EMF compliant models. To handle and transform other models, 
-						you should use specific driver. Additional drivers (MDR and UML2) are available the driver category.
-						We recommend that you use the Eclipse Update Manager to install ATL. Use only the "Search for new features.." option when installing with Eclipse 3.3.
-						All downloads are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/epl/notice.php">Eclipse Foundation Software User Agreement</a> 
-						unless otherwise specified.
-					</p>
-				</td>
-			</tr>
-		</table>
-
-		<h3>Update Sites</h3>
-
-		New to Eclipse and want to use ATL update site? Get <a href="http://java.sun.com/javase/downloads/index.jsp">Java</a>, then install <a href="http://www.eclipse.org/downloads/index.php">Eclipse 3.3</a> and
-		<a href="http://www.eclipse.org/modeling/emf/downloads/index.php?project=emf">EMF 2.3</a> and use Help -> Software Updates -> Search for new.. with the update site listed below. 
-
-		<div class="homeitem3col">
-			<h3>2.0RC2 Update Sites</h3>
-		
-			<ul>
-				<li>
-					<a title="Update Site Zip" href="http://download.eclipse.org/modeling/mmt/atl/archivedSite/atl-ArchivedSite_2.0.0RC2.zip">
-						<img border=0 src="../images/icon-zip.gif"></a>
-					<br /><i>ATL Toolkit (Engine and IDE), AM3, and optionally additional drivers for ATL (UML2 and MDR)</i>
-					| <a href="http://wiki.eclipse.org/index.php?title=ATL_ReleaseNotes">Release Notes</a>
-					| <a href="../old/">Documentation</a>
-	        	</li>
-<!--				<li>
-					<b>download.eclipse.org/modeling/m2m/atl/updates/2.0.0/extras</b>
-					<br><i>UML2 for ATL driver, MDR for ATL driver</i>
-	        	</li>
--->
-			</ul>
-		
-		</div>
-		<hr class="clearer" />
-
-		<h3>Binaries Build</h3>
-
-		<div class="homeitem3col">
-			<h3>2.0RC2 Binaries Build</h3>
-		
-			<ul>
-				<li>
-					<a title="Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/ATL-AM3_2.0RC2.zip">
-						<img border=0 src="../images/icon-zip.gif"></a>
-					<b>ATL Toolkit</b>: <i>Engine, IDE, Ant Tasks and AM3</i> (Eclipse 3.3 & EMF 2.3)
-	        	</li>
-				<li>
-					<a title="UML24ATL Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/Driver-UML24ATL_2.0RC2.zip">
-						<img border=0 src="../images/icon-zip.gif"></a>
-					<b>UML2 driver for ATL</b>
-	        	</li>
-				<li>
-					<a title="MDR4ATL Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/Driver-MDR4ATL_2.0RC2.zip">
-						<img border=0 src="../images/icon-zip.gif"></a>
-					<b>MDR driver for ATL</b>
-	        	</li>
-			</ul>
-		
-		</div>
-		<hr class="clearer" />
-
-	</div>
-
-EOHTML;
-
-
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
diff --git a/download/index.php b/download/index.php
deleted file mode 100644
index 2bcbb51..0000000
--- a/download/index.php
+++ /dev/null
@@ -1,18 +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"); 	
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/link.class.php"); 	
-
-$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		
-include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
-	
-$pageTitle 		= "ATL - Download";
-
-	$html  = '<div id="midcolumn">';
-	$html .= file_get_contents('_index.html');
-	$html .= "</div>";
-
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
diff --git a/downloads/_old_builds.html b/downloads/_old_builds.html
deleted file mode 100644
index 00b1ad6..0000000
--- a/downloads/_old_builds.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<h2>Old versions</h2>
-<ul>
-	<li>
-		<a title="Update Site Zip" href="http://download.eclipse.org/modeling/mmt/atl/archivedSite/atl-ArchivedSite_2.0.0RC2.zip">
-        <img border=0 src="../images/icon-zip.gif"></a>
-    		<b>ATL 2.0RC2 Update Site</b>: <i>ATL Toolkit (Engine and IDE), AM3, and optionally additional drivers for ATL (UML2 and MDR)</i>
-	</li>
-    <li>
-    	<a title="Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/ATL-AM3_2.0RC2.zip">
-        <img border=0 src="../images/icon-zip.gif"></a>
-    		<b>ATL 2.0RC2 Toolkit</b>: <i>Engine, IDE, Ant Tasks and AM3</i> (Eclipse 3.3 & EMF 2.3)
-	</li>
-    <li>
-    	<a title="UML24ATL Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/Driver-UML24ATL_2.0RC2.zip">
-        <img border=0 src="../images/icon-zip.gif"></a>
-    		<b>UML2 driver for ATL 2.0RC2</b>
-	</li>
-    <li>
-    	<a title="MDR4ATL Binaries Build" href="http://download.eclipse.org/modeling/mmt/atl/binaries/2.0.0RC2/Driver-MDR4ATL_2.0RC2.zip">
-        <img border=0 src="../images/icon-zip.gif"></a>
-    		<b>MDR driver for ATL 2.0RC2</b>
-	</li>
- </ul>
-
diff --git a/downloads/_styles.css b/downloads/_styles.css
index f131517..b79dd10 100644
--- a/downloads/_styles.css
+++ b/downloads/_styles.css
@@ -2,14 +2,17 @@
 	padding-top: 10px;
 }
 
-#midcolumn li .repo-item {
+#midcolumn ul .repo-item {
 	margin-bottom: 0px;
 	padding-bottom: 0px;
+	padding-left: 20px;
+	list-style-type: none;
 }
 
 .repo-item {
 	margin-top: 2px;
 	margin-bottom: 2px;
+	text-align: left;
 }
 
 .repo-label1 { 
diff --git a/downloads/index.php b/downloads/index.php
index d76b4a5..450c760 100644
--- a/downloads/index.php
+++ b/downloads/index.php
@@ -50,7 +50,6 @@
 	$html .= generateHTMLReleaseList($releases, $projectTitle, $PR, $PWD, $websiteRoot);
 	$html .= generateHTMLBuildList($builds, $projectTitle, $PR, $PWD, $websiteRoot);
 	$html .= "</ul>\n";
-	$html .= file_get_contents('_old_builds.html');
 	$html .= "</div>\n\n";
 	
 	# Generate the web page
