diff --git a/site/content/hdt/index.mdtext b/site/content/hdt/index.mdtext
index fec6c10..d589766 100644
--- a/site/content/hdt/index.mdtext
+++ b/site/content/hdt/index.mdtext
@@ -1,4 +1,4 @@
-Title:     Welcome to Apache Incubator Hadoop Development Tools
+Title:     Apache Hadoop Development Tools
 Notice:    Licensed to the Apache Software Foundation (ASF) under one
            or more contributor license agreements.  See the NOTICE file
            distributed with this work for additional information
@@ -16,6 +16,10 @@
            specific language governing permissions and limitations
            under the License.
 
-Tools to support developing applications that use Apache Hadoop from within Eclipse.
+The Hadoop Development Tools (HDT) is a set of plugins for the Eclipse IDE for developing against the Hadoop platform.
 
-This project is currently in the process of opening in the Apache Incubator, so check back for updates, or come join us [dev@hdt.incubator.apache.org](mailto:dev-subscribe@hdt.incubator.apache.org "Send subscription email").
+Currently we are in the process of porting the existing MapReduce tools from the Apache Hadoop project to allow working with multiple versions of Hadoop from within one IDE.
+
+Come [get involved](get_involved.html) as we move towards our first release!
+
+This project is currently a member of the Apache Incubator, so check back for updates, or come join us [dev@hdt.incubator.apache.org](mailto:dev-subscribe@hdt.incubator.apache.org "Send subscription email").
diff --git a/site/templates/skeleton.html b/site/templates/skeleton.html
index 26b0621..db392ee 100644
--- a/site/templates/skeleton.html
+++ b/site/templates/skeleton.html
@@ -1,54 +1,38 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html lang="en">
-  <head>
-    <title>{% block title %}{{ headers.title }}{% endblock %}</title>
-
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-    <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />
-
-    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css">
-    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/code.css">
-
-    {% if headers.atom %}
-      <link rel="alternate" href="{{ headers.atom.url }}"
-            type="application/atom+xml" title="{{ headers.atom.title }}" />
-    {% endif %}
-
-    {% if headers.base %}<base href="{{ headers.base }}" />{% endif %}
-    {% if headers.notice %}<!-- {{ headers.notice }} -->{% endif %}
-  </head>
-
-  <body>
-    <div id="page" class="container_16">
-      <div id="header" class="grid_8">
-        <img src="http://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation">
-        <h1>The Apache Software Foundation</h1>
-        <h2>{% block tagline %}{{ headers.title }}{% endblock %}</h2>
-      </div>
-      <div id="nav" class="grid_8">
-        <ul>
-          <!-- <li><a href="/" title="Welcome!">Home</a></li> -->
-          <li><a href="http://www.apache.org/foundation/" title="The Foundation">Foundation</a></li>
-          <li><a href="http://projects.apache.org" title="The Projects">Projects</a></li>
-          <li><a href="http://people.apache.org" title="The People">People</a></li>
-          <li><a href="http://www.apache.org/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li>
-          <li><a href="http://www.apache.org/dyn/closer.cgi" title="Download">Download</a></li>
-          <li><a href="http://www.apache.org/foundation/sponsorship.html" title="Support Apache">Support Apache</a></li>
-        </ul>
-        <p>{{ breadcrumbs|safe }}</p>
-        <form name="search" id="search" action="http://www.google.com/search" method="get">
-          <input value="*.apache.org" name="sitesearch" type="hidden"/>
-          <input type="text" name="q" id="query">
-          <input type="submit" id="submit" value="Search">
-        </form>
-      </div>
-      <div class="clear"></div>
-      {% block content %}<div id="content" class="grid_16"><div class="section-content">{{ content|markdown }}</div></div>{% endblock %}
-      <div class="clear"></div>
-    </div>
-
-    <div id="copyright" class="container_16">
-      <p>Copyright &#169; 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
-    </div>
-  </body>
+	<head>
+		<title>
+			{% block title %}{{ headers.title }}{% endblock %}
+		</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<meta property="og:image" content="http://www.apache.org/images/asf_logo.gif">
+		<link href="css/hdt.css" rel="stylesheet" type="text/css">
+		<link rel="alternate" href="{{%20headers.atom.url%20}}" type="application/atom+xml" title="{{ headers.atom.title }}">
+		<base href="{{%20headers.base%20}}">
+	</head>
+	<body>
+		<p>
+			{% if headers.atom %} {% endif %} {% if headers.base %}{% endif %} {% if headers.notice %}<!-- {{ headers.notice }} -->{% endif %}
+		</p>
+		<div id="banner">
+			&nbsp;
+		</div>
+		<div id="navigation">
+			{% filter markdown %}{% include "sidenav.mdtext" %}{% endfilter %}
+		</div>
+		<div id="bannertext">
+			<img id="logo" alt="Apache Hadoop Development Tools" src="images/hadoop-logo.jpg" name="logo">™
+		</div>
+		<div id="content">
+			<h1 class="title">
+				{% block title %}{{ headers.title }}{% endblock %}
+			</h1>{% block content %}{{ content|markdown }}{% endblock %}
+		</div>
+		<div id="copyright" class="container_16">
+			<p>
+				Copyright © 2011 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>
+				Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
+			</p>
+		</div>
+	</body>
 </html>
