diff --git a/webgen/src/default.template b/webgen/src/default.template
index 09a100f..acb4088 100644
--- a/webgen/src/default.template
+++ b/webgen/src/default.template
@@ -1,42 +1,127 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang:}">
-  <head>
-    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
-    <meta name="description" content="description goes here" />
-    <meta name="keywords" content="keywords,goes,here" />
-    <meta name="author" content="Your Name" />
-    <meta name="generator" content="webgen - http://webgen.rubyforge.org" />
-    <link rel="stylesheet" type="text/css" href="{relocatable: default.css}" />
-    <!--[if IE 6]>
-        <link rel="stylesheet" href="{relocatable: browserfix.css}" type="text/css" />
-        <![endif]-->
-    <title>{title:}</title>
-  </head>
+<!--
 
-  <body>
-    <div id="sidebar">
-      <h1>Website Title</h1>
-      <h2>your website slogan</h2>
+    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 regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
 
-      <div id="menu">
-        {menu: {max_levels: 1, used_nodes: files}}
-      </div>
+       http://www.apache.org/licenses/LICENSE- 2.0
 
-      <h3>Links:</h3>
-      <ul>
-        <li><a href="http://webgen.rubyforge.org">webgen homepage</a></li>
-        <li><a href="http://andreasviklund.com/templates/">Website templates</a></li>
-        <li><a href="http://openwebdesign.org/">Open Web Design</a></li>
-        <li><a href="http://oswd.org/">OSWD.org</a></li>
-      </ul>
-    </div>
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+<HEAD>
+    <LINK href="http://activemq.apache.org/styles/site.css" rel="stylesheet" type="text/css">
+    <LINK href="http://activemq.apache.org/styles/type-settings.css" rel="stylesheet" type="text/css">
+    <SCRIPT src="http://activemq.apache.org/styles/prototype.js" type="text/javascript"></SCRIPT>
+    <SCRIPT src="http://activemq.apache.org/styles/rico.js" type="text/javascript"></SCRIPT>
+    <SCRIPT src="http://activemq.apache.org/styles/site.js" type="text/javascript"></SCRIPT>
 
-    <div id="content">
-      <webgen:block name="content" />
+    <SCRIPT src="http://www.google-analytics.com/urchin.js" type="text/javascript"></SCRIPT>
+    <SCRIPT type="text/javascript">uacct = "UA-1347593-1";urchinTracker();</SCRIPT>
+    <STYLE type="text/css">
+      .maincontent { overflow:hidden; }
+    </STYLE>
+    <!--[if IE]>
+    <style type="text/css">
+      .maincontent { width:100%; }
+    </style>
+    <![endif]-->
 
-      <h2>site info</h2>
-      <p>&copy; 2005-2006 Your Name | Generated by <a href="http://webgen.rubyforge.org">webgen</a> | Design by <a href="http://andreasviklund.com">Andreas Viklund</a>.</p>
-    </div>
-  </body>
-</html>
+    <TITLE>
+    {title:}
+    </TITLE>
+<META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD>
+<BODY>
+
+<DIV class="white_box">
+<DIV class="header">
+  <DIV class="header_l">
+    <DIV class="header_r">
+    </DIV>
+  </DIV>
+</DIV>
+<DIV class="content">
+  <DIV class="content_l">
+    <DIV class="content_r">
+      <DIV>
+
+<!-- Banner -->
+                                                                                                                                                                                                            <DIV id="asf_logo">
+	<DIV id="activemq_logo">
+            <A style="float:left; width:280px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:10px; margin-left:100px;" href="">ActiveMQ</A>
+            <A style="float:right; width:210px;display:block;text-indent:-5000px;text-decoration:none;line-height:60px; margin-top:15px; margin-right:10px;" href="http://www.apache.org/">ASF</A>
+	</DIV>
+        </DIV>
+                                                                                                                                                
+        <DIV class="top_red_bar">
+
+          <DIV id="site-breadcrumbs">
+<A href="" title="Apache ActiveMQ NMS">STOMP</A>&nbsp;&gt;&nbsp;<A href="" title="Index">Home</A>
+          </DIV>
+          <DIV id="site-quicklinks">
+                                                                                                                                                                                                                                    <P><A href="http://activemq.apache.org/discussion-forums.html" rel="nofollow">Forums</A> &#124; <A href="http://activemq.apache.org/support.html" rel="nofollow">Support</A></P>
+          </DIV>
+        </DIV>
+
+	<TABLE border="0">
+	<TBODY>
+        <TR>
+        <TD valign="top" width="100%">
+          <DIV class="wiki-content maincontent">
+            <webgen:block name="content" />
+          </DIV>
+        </TD>
+        <TD valign="top">
+          <DIV class="navigation">
+            <DIV class="navigation_top">
+              <DIV class="navigation_bottom">
+                {menu: {max_levels: 1, used_nodes: files}}
+                <!--
+<H3>
+<A name="Navigation-Overview"></A><A href="overview.html" title="Overview">Overview</A></H3>
+<UL class="alternate" type="square">
+	<LI><A href="" title="Index">Home</A></LI>
+	<LI><A href="faq.html" title="FAQ">FAQ</A></LI>
+	<LI><A href="download.html" title="Download">Download</A></LI>
+</UL>
+-->
+                                                                                                                                                                                                                                                                                                                                      </DIV>
+            </DIV>
+          </DIV>
+        </TD>
+        </TR>
+	</TBODY>
+        </TABLE>
+
+
+        <DIV class="bottom_red_bar"></DIV>
+      </DIV>
+    </DIV>
+  </DIV>
+</DIV>
+<DIV class="black_box">
+<DIV class="footer">
+  <DIV class="footer_l">
+    <DIV class="footer_r">
+
+      <DIV>
+        &copy; 2004-2008 The Apache Software Foundation.
+        - <A href="http://activemq.apache.org/nms/privacy-policy.html">Privacy Policy</A>
+      </DIV>
+    </DIV>
+  </DIV>
+</DIV>
+</DIV>
+
+</DIV>
+<DIV class="design_attribution"><A href="http://hiramchirino.com/">Graphic Design By Hiram</A></DIV>
+</BODY>
+</HTML>
