diff --git a/dbaccess/download/milestones.php b/dbaccess/download/milestones.php
index fb52458..8564865 100644
--- a/dbaccess/download/milestones.php
+++ b/dbaccess/download/milestones.php
@@ -48,33 +48,34 @@
 			The following are development milestones. You may prefer to <a href="http://www.eclipse.org/gemini/dbaccess/download/">download</a> an official release.
 		</p>
 	<?
-	$first = true;
-	foreach ($dbaccessVersions as $version){
-		echo "<h4 class='toggle'>$version";
-		if ($first) {
-			echo " - Latest</h4>";
-		} else {
-			echo "</h4>";
-		}
-		$fullVersion = str_replace("%", ".0.", $version);
-		$directory = str_replace("%", "-", $version);
+// 	$first = true;
+// 	foreach ($dbaccessVersions as $version){
+// 		$fullVersion = str_replace("%", ".0.", $version);
+// 		$directory = str_replace("%", "-", $version);
+		
+// 		echo "<h4 class='toggle'>$fullVersion";
+// 		if ($first) {
+// 			echo " - Latest</h4>";
+// 		} else {
+// 			echo "</h4>";
+// 		}
 				
-		echo "<div class='accordion'>";
-		echo "	<ul>";
-		echo "		<li><a href='http://www.eclipse.org/gemini/dbaccess/download/release-notes/$fullVersion.php' target='_self'>View Release Notes</a></li>";
-		echo "		<li><strong>Gemini DBAccess</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=/gemini/dbaccess/milestone-zips/$version/org.eclipse.gemini.dbaccess-$version.jar' target='_self'>Download</a></li>";
-		echo "      <li>Update Site http://download.eclipse.org/gemini/dbaccess/updates/$directory/</li>";
-		echo "	</ul>";
-		echo "</div>";
-		$first = false;
-	}
-	?>
+// 		echo "<div class='accordion'>";
+// 		echo "	<ul>";
+// 		echo "		<li><a href='http://www.eclipse.org/gemini/dbaccess/download/release-notes/$fullVersion.php' target='_self'>View Release Notes</a></li>";
+// 		echo "		<li><strong>Gemini DBAccess</strong> -  <a href='http://www.eclipse.org/downloads/download.php?file=gemini/dbaccess/r1.1/milestones/gemini-dbaccess-$fullVersion-updates.zip' target='_self'>Download</a></li>";
+// 		echo "      <li>Update Site http://download.eclipse.org/gemini/dbaccess/updates/$directory/</li>";
+// 		echo "	</ul>";
+// 		echo "</div>";
+// 		$first = false;
+// 	}
+ 	?>
 		<h4 class='toggle'>1.1.0.M2</h4>
 		<div class='accordion'>
 			<ul>
 				<li><a href='http://www.eclipse.org/gemini/dbaccess/download/release-notes/1.1.0.M2.php' target='_self'>View Release Notes</a></li>
 				<li>Update Site 'http://download.eclipse.org/gemini/dbaccess/updates/1.1-M2'</li>
-				<li><strong>Gemini DBAccess</strong> -  <a href="http://download.eclipse.org/gemini/dbaccess/r1.1/milestones/gemini-dbaccess-1.1.0.M2-updates.zip" target="_self">Download</a></li>
+				<li><strong>Gemini DBAccess</strong> -  <a href="http://www.eclipse.org/downloads/download.php?file=gemini/dbaccess/r1.1/milestones/gemini-dbaccess-1.1.0.M2-updates.zip" target="_self">Download</a></li>
 			</ul>
 		</div>
 
@@ -83,14 +84,15 @@
 			<ul>
 				<li><a href='http://www.eclipse.org/gemini/dbaccess/download/release-notes/1.1.0.M1.php' target='_self'>View Release Notes</a></li>
 				<li>Update Site 'http://download.eclipse.org/gemini/dbaccess/updates/1.1-M1'</li>
-				<li><strong>Gemini DBAccess</strong> -  <a href="http://download.eclipse.org/gemini/dbaccess/r1.1/milestones/gemini-dbaccess-1.1.0.M1-updates.zip" target="_self">Download</a></li>
+				<li><strong>Gemini DBAccess</strong> -  <a href="http://www.eclipse.org/downloads/download.php?file=gemini/dbaccess/r1.1/milestones/gemini-dbaccess-1.1.0.M1-updates.zip" target="_self">Download</a></li>
 			</ul>
 		</div>
 				
 
 	</div>
 	
-	<div id="rightcolumn">
+	<!-- remove the entire <div> tag to omit the right column!  -->
+	<!--div id="rightcolumn">
 		<div class="sideitem">
 		   <h6>Incubation</h6>
 		   <div id="incubation"><a href="/projects/what-is-incubation.php"><img src="/images/egg-incubation.png" border="0" alt="Incubation" /></a></div>
@@ -101,7 +103,7 @@
 					Wrapping your content using a div.modal tag here will add the gradient background
 				</div>
 		</div -->
-	</div>
+	</div -->
 
 <?
 	$html = ob_get_clean();
diff --git a/dbaccess/download/release-notes/1.1.0.M1.php b/dbaccess/download/release-notes/1.1.0.M1.php
index 4e95b16..23b278f 100644
--- a/dbaccess/download/release-notes/1.1.0.M1.php
+++ b/dbaccess/download/release-notes/1.1.0.M1.php
@@ -40,7 +40,7 @@
 	</ul>
 	
 	<p>
-	    The list of all changes can be seen <a href="http://git.eclipse.org/c/gemini.dbaccess/org.eclipse.gemini.dbaccess.git/log/?showmsg=1" target="_self">here</a>.
+	    The list of all changes can be seen <a href="http://git.eclipse.org/c/gemini.dbaccess/org.eclipse.gemini.dbaccess.git/log/?showmsg=1" target="_self">here</a> (tag v1.1.0-M1).
 	</p>
 
 </div>
diff --git a/dbaccess/download/release-notes/1.1.0.M2.php b/dbaccess/download/release-notes/1.1.0.M2.php
index 791744d..37b6fb7 100644
--- a/dbaccess/download/release-notes/1.1.0.M2.php
+++ b/dbaccess/download/release-notes/1.1.0.M2.php
@@ -39,7 +39,7 @@
 	</ul>
 	
 	<p>
-	    The list of all changes can be seen <a href="http://git.eclipse.org/c/gemini.dbaccess/org.eclipse.gemini.dbaccess.git/log/?showmsg=1" target="_self">here</a>.
+	    The list of all changes can be seen <a href="http://git.eclipse.org/c/gemini.dbaccess/org.eclipse.gemini.dbaccess.git/log/?showmsg=1" target="_self">here (tag v1.1.0-M2)</a>.
 	</p>
 
 </div>
