diff --git a/apps/routerconsole/java/src/net/i2p/router/web/BanlistRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/BanlistRenderer.java
index 0cf6c87447602aeb89ea0f338d43e0bc289d4c77..9d37b6dbcf19215f2915f8891ca571bb1f90ef6e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/BanlistRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/BanlistRenderer.java
@@ -78,8 +78,8 @@ class BanlistRenderer {
                     buf.append(_t(entry.cause));
             }
             if (!key.equals(Hash.FAKE_HASH)) {
-                buf.append(" (<a href=\"configpeer?peer=").append(key.toBase64())
-                   .append("#unsh\">").append(_t("unban now")).append("</a>)");
+                buf.append(" <a href=\"configpeer?peer=").append(key.toBase64())
+                   .append("#unsh\">[").append(_t("unban now")).append("]</a>");
             }
             buf.append("</li>\n");
         }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index 8deb80b1d21d76f571c7d2ce6d552122a3591d66..9c44c06eb10904a8767bf6b49a3f63fda0d6eb9c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -322,6 +322,8 @@ public class GraphHelper extends FormHandler {
             _out.write("</a>");
 
             _out.write("</p><p><i>" + _t("All times are UTC.") + "</i></p>\n");
+
+            _out.write("<p><a href=\"graphs\">" + _t("Return to main graphs page") + "</a></p>\n");
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }
@@ -353,7 +355,7 @@ public class GraphHelper extends FormHandler {
         // So just use the "shared/console nonce".
         String nonce = CSSHelper.getNonce();
         try {
-            _out.write("<br><h3 id=\"graphdisplay\">" + _t("Configure Graph Display") + " [<a href=\"configstats\">" + _t("Select Stats") + "</a>]</h3>");
+            _out.write("<br><h3 id=\"graphdisplay\">" + _t("Configure Graph Display") + " <a href=\"configstats\">[" + _t("Select Stats") + "]</a></h3>");
             _out.write("<form action=\"graphs\" method=\"POST\">\n" +
                        "<input type=\"hidden\" name=\"action\" value=\"save\">\n" +
                        "<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
index 081db5490ab717383a1466605afeed3ca3ed9422..e4f4a33b784b8103f26ccd2f7497f7748f18b489 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java
@@ -152,7 +152,9 @@ class NetDbRenderer {
             buf.append("<table id=\"leasesetsummary\">\n");
         }
         buf.append("<tr><th colspan=\"3\">Leaseset Summary</th>")
-           .append("<th><a href=\"/configadvanced\">Configure Floodfill Participation</a></th></tr>\n")
+           .append("<th><a href=\"/configadvanced\" title=\"").append(_t("Manually Configure Floodfill Participation")).append("\">[")
+           .append(_t("Configure Floodfill Participation"))
+           .append("]</a></th></tr>\n")
            .append("<tr><td><b>Total Leasesets:</b></td><td colspan=\"3\">").append(leases.size()).append("</td></tr>\n");
         if (debug) {
             buf.append("<tr><td><b>Published (RAP) Leasesets:</b></td><td colspan=\"3\">").append(netdb.getKnownLeaseSets()).append("</td></tr>\n")
@@ -217,7 +219,8 @@ class NetDbRenderer {
                 buf.append("<a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>");
                 String host = _context.namingService().reverseLookup(dest);
                 if (host == null) {
-                    buf.append("<td>").append("<a href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
+                    buf.append("<td>").append("<a title=\"").append(_t("Add to addressbook"))
+                       .append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
                        .append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("</a></td>");
                 }
             } else {
@@ -230,7 +233,8 @@ class NetDbRenderer {
                     buf.append("<code>").append(dest.toBase64().substring(0, 6)).append("</code></th>")
                        .append("</tr>\n<tr>")
                        .append("<td><a href=\"http://").append(b32).append("\">").append(b32).append("</a></td>\n")
-                       .append("<td><a href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
+                       .append("<td><a title=\"").append(_t("Add to addressbook"))
+                       .append("\" href=\"/susidns/addressbook.jsp?book=private&amp;destination=")
                        .append(dest.toBase64()).append("#add\">").append(_t("Add to local addressbook")).append("</a></td>");
                 }
             }
@@ -478,7 +482,9 @@ class NetDbRenderer {
         } else {
             buf.append("<b>" + _t("Peer info for") + ":</b>&nbsp;<code>").append(hash).append("</code></th><th>");
             if (!full) {
-                buf.append("<a class=\"viewfullentry\" href=\"netdb?r=").append(hash.substring(0, 6)).append("\" >").append(_t("Full entry")).append("</a>");
+                buf.append("<a title=\"").append(_t("View extended router info"))
+                   .append("\" class=\"viewfullentry\" href=\"netdb?r=").append(hash.substring(0, 6))
+                   .append("\" >[").append(_t("Full entry")).append("]</a>");
             }
         }
         buf.append("</th></tr>\n<tr>");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
index 9d2ad5199daa5c92fdbe10f8664d3f7b5f97fd39..a81a637c0240bc22f2fcee37882da858c5a34b38 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
@@ -820,7 +820,7 @@ public class SummaryHelper extends HelperBase {
     public String getFirewallAndReseedStatus() {
         StringBuilder buf = new StringBuilder(256);
         if (showFirewallWarning()) {
-            buf.append("<h4 id=\"sb_warning\"><a href=\"/confignet\" target=\"_top\" title=\"")
+            buf.append("<h4 id=\"sb_warning\"><a href=\"/help#configurationhelp\" target=\"_top\" title=\"")
                .append(_t("Help with firewall configuration"))
                .append("\">")
                .append(_t("Check network connection and NAT/firewall"))
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
index b30d3a382436f718a899a938322140e4713f51ac..652767842d32473e2427d74c559f6de03d96b6bb 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java
@@ -768,7 +768,7 @@ class SybilRenderer {
         } else {
             buf.append("<th colspan=\"2\"><b>" + _t("Router") + ":</b> <code>").append(hash).append("</code>\n");
             if (!full) {
-                buf.append("</th><th><a class=\"viewfullentry\" href=\"netdb?r=").append(hash.substring(0, 6)).append("\" >").append(_t("Full entry")).append("</a></th><th>");
+                buf.append("</th><th><a title=\"View extended router info\" class=\"viewfullentry\" href=\"netdb?r=").append(hash.substring(0, 6)).append("\" >[").append(_t("Full entry")).append("]</a></th><th>");
             }
             buf.append("<img src=\"/imagegen/id?s=32&amp;c=" + hash.replace("=", "%3d") + "\" height=\"32\" width=\"32\"> ");
             buf.append("</th></tr>\n");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
index 55b124e7476d2b7c698cc038ad57dac5f58181b3..88aa523cb1321921560d463f863459ff86840e6c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
@@ -33,7 +33,7 @@ class TunnelRenderer {
     }
     
     public void renderStatusHTML(Writer out) throws IOException {
-        out.write("<h3 class=\"tabletitle\" id=\"exploratorytunnels\"><a name=\"exploratory\" ></a>" + _t("Exploratory tunnels") + " (<a href=\"/configtunnels#exploratory\">" + _t("configure") + "</a>)</h3>\n");
+        out.write("<h3 class=\"tabletitle\" id=\"exploratorytunnels\"><a name=\"exploratory\" ></a>" + _t("Exploratory tunnels") + " <a href=\"/configtunnels#exploratory\" title=\"" + _t("Configure tunnels") + "\">[" + _t("configure") + "]</a></h3>\n");
         renderPool(out, _context.tunnelManager().getInboundExploratoryPool(), _context.tunnelManager().getOutboundExploratoryPool());
         
         List<Hash> destinations = null;
@@ -57,7 +57,7 @@ class TunnelRenderer {
             out.write("<h3 class=\"tabletitle\"><a name=\"" + client.toBase64().substring(0,4)
                       + "\" ></a>" + _t("Client tunnels for") + ' ' + DataHelper.escapeHTML(_t(name)));
             if (isLocal)
-                out.write(" (<a href=\"/configtunnels#" + client.toBase64().substring(0,4) +"\">" + _t("configure") + "</a>)</h3>\n");
+                out.write(" <a href=\"/configtunnels#" + client.toBase64().substring(0,4) +"\" title=\"" + _t("Configure tunnels for session") + "\">[" + _t("configure") + "]</a></h3>\n");
             else
                 out.write(" (" + _t("dead") + ")</h3>\n");
             renderPool(out, in, outPool);
diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp
index 44c1f10c12ab121f82f033c65b73d6a417f2718a..c7cbac7e4fd6c3b95642e5045defc3e8ad40b894 100644
--- a/apps/routerconsole/jsp/config.jsp
+++ b/apps/routerconsole/jsp/config.jsp
@@ -25,7 +25,7 @@
  <input type="hidden" name="action" value="blah" >
  <input type="hidden" name="ratesOnly" value="1" >
 
- <h3 id="bwlimiter" class="tabletitle"><%=intl._t("Bandwidth limiter")%></h3>
+ <h3 id="bwlimiter" class="tabletitle"><%=intl._t("Bandwidth Limiter")%>&nbsp;<a href="confignet">[<%=intl._t("Advanced Network Configuration")%>]</a></h3>
  <table id="bandwidthconfig" class="configtable">
  <tr><td class="infohelp" colspan="2">
  <b><%=intl._t("I2P will work best if you configure your rates to match the speed of your internet connection.")%></b>
@@ -76,9 +76,6 @@
         out.print(intl._t("The higher the share bandwidth the more you improve your anonymity and help the network."));
     }
  %></td></tr>
-  <tr><td colspan="2">
-   <a href="confignet"><%=intl._t("Advanced network configuration page")%></a>
-  </td></tr>
   <tr><td class="optionsave" colspan="2">
 <input type="reset" class="cancel" value="<%=intl._t("Cancel")%>" >
 <input type="submit" class="accept" name="save" value="<%=intl._t("Save changes")%>" >
diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp
index a235bb3ab9d8dcb8455b8078696b36a51508adba..2af2d4d84eb1fc49f132389b5bf3bb5233298425 100644
--- a/apps/routerconsole/jsp/configadvanced.jsp
+++ b/apps/routerconsole/jsp/configadvanced.jsp
@@ -56,7 +56,7 @@
  </table>
 </form>
 
-<h3 id="advancedconfig" class="tabletitle"><%=intl._t("Advanced I2P Configuration")%></h3><b>
+<h3 id="advancedconfig" class="tabletitle"><%=intl._t("Advanced I2P Configuration")%>&nbsp;<a title="Help with additional configuration settings" href="/help#advancedsettings">[Additional Options]</a></h3><b>
 <% if (advancedhelper.isAdvanced()) { %>
  <form action="" method="POST">
  <input type="hidden" name="nonce" value="<%=pageNonce%>" >
diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp
index a899eb53a5563b1ef0c883a176811ebf1a4aee3e..5a0902944147e975ee8f9e38b02c0171d080663e 100644
--- a/apps/routerconsole/jsp/configlogging.jsp
+++ b/apps/routerconsole/jsp/configlogging.jsp
@@ -22,7 +22,7 @@
  <form action="" method="POST">
  <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
- <h3 class="tabletitle"><%=intl._t("Configure I2P Logging Options")%></h3>
+ <h3 class="tabletitle"><%=intl._t("Configure I2P Logging Options")%>&nbsp;<a title="<%=intl._t("View Router Logs")%>" href="/logs">[<%=intl._t("View Logs")%>]</a></h3>
       <table id="loggingoptions" border="0" cellspacing="5">
         <tr><td class="mediumtags" align="right"><b><%=intl._t("Log file")%>:</b></td>
           <td><input type="text" name="logfilename" size="40" disabled="disabled" title="<%=intl._t("Edit {0} to change", "logger.config")%>" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" >
diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp
index 923dbccc53e7a7f40816dcaadaf5326368a0c479..5079d8b1d8efa4487d94cad2a8f40d633cee6d9b 100644
--- a/apps/routerconsole/jsp/confignet.jsp
+++ b/apps/routerconsole/jsp/confignet.jsp
@@ -22,27 +22,21 @@
  <form action="" method="POST">
  <input type="hidden" name="nonce" value="<%=pageNonce%>" >
  <input type="hidden" name="action" value="blah" >
- <h3 id="iptransport" class="tabletitle"><%=intl._t("IP and Transport Configuration")%></h3>
+ <h3 id="iptransport" class="tabletitle"><%=intl._t("IP and Transport Configuration")%>&nbsp;<a title="<%=intl._t("Help with router configuration")%>" href="/help#configurationhelp">[<%=intl._t("Configuration Help")%>]</a></h3>
  <table id="netconfig" class="configtable">
  <tr>
   <td class="infohelp">
- <b><%=intl._t("The default settings will work for most people.")%>
- <a href="#chelp"><%=intl._t("There is help below.")%></a></b>
+ <b><%=intl._t("The default settings will work for most people.")%></b> 
  <%=intl._t("Changing these settings will restart your router.")%>
   </td>
  </tr>
  <tr>
-  <td class="infowarn">
-   <b><%=intl._t("Do not reveal your port numbers to anyone as they can be used to discover your ip address.")%></b>
-  </td>
- </tr>
- <tr>
-  <th id="upnpconfig"><%=intl._t("UPnP Configuration")%></th>
+  <th id="upnpconfig"><%=intl._t("UPnP Configuration")%>&nbsp;<a href="peers#upnp">[<%=intl._t("UPnP Status")%>]</a></th>
  </tr>
  <tr>
   <td>
     <input type="checkbox" class="optbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> >
-    <%=intl._t("Enable UPnP to open firewall ports")%> - <a href="peers#upnp"><%=intl._t("UPnP status")%></a>
+    <%=intl._t("Enable UPnP to open firewall ports")%>
   </td>
  </tr>
  <tr>
@@ -106,6 +100,11 @@
  <tr>
   <th id="udpconfig"><%=intl._t("UDP Configuration")%></th>
  </tr>
+ <tr>
+  <td class="infowarn">
+   <b><%=intl._t("Do not reveal your port numbers to anyone as they can be used to discover your ip address.")%></b>
+  </td>
+ </tr>
  <tr>
   <td>
  <%=intl._t("UDP port:")%>
diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp
index 772323c13182a5e232c0bf314f5077e8ddc75fd1..5e631b87d3aa7df629d7f8d4712831ade6085f35 100644
--- a/apps/routerconsole/jsp/configservice.jsp
+++ b/apps/routerconsole/jsp/configservice.jsp
@@ -68,12 +68,10 @@
     <%=intl._t("You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat.")%></p>
  <% } %>
 
- <h3 class="ptitle" id="servicedebug"><%=intl._t("Debugging")%></h3>
+ <h3 class="ptitle" id="servicedebug"><%=intl._t("Debugging")%>&nbsp;<a href="/jobs">[<%=intl._t("View the job queue")%>]</a></h3>
 <% if (System.getProperty("wrapper.version") != null) { %>
  <p class="infohelp">
     <%=intl._t("At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>.")%></p>
- <p><a href="/jobs">
-    <%=intl._t("View the job queue")%></a>
  <hr>
 <% } %>
  <div class="formaction" id="dumpthreads">
diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp
index 0b20c113312eab74051b5e583a8e50a4e32d725a..c44de0bca09a015fae434e178c856cfedf8284d5 100644
--- a/apps/routerconsole/jsp/configstats.jsp
+++ b/apps/routerconsole/jsp/configstats.jsp
@@ -110,7 +110,7 @@ Warning - Log with care, stat file grows without limit.<br>
 
   }  // shouldShowLog
 
-%>    <td align="center"><b><%=intl._t("Graph")%></b></td>
+%>    <td align="center"><b title="<%=intl._t("Select stats for visualization on /graphs")%>"><%=intl._t("Graph")%></b></td>
     <td></td></tr>
         <%
      } // end iterating over required groups for the current stat %>
diff --git a/apps/routerconsole/jsp/help.jsp b/apps/routerconsole/jsp/help.jsp
index b420456bcb88acbae896ebc2d19d42f269657109..a84dc39ae87404bad45b4b4cf7aa4e5aaa40311b 100644
--- a/apps/routerconsole/jsp/help.jsp
+++ b/apps/routerconsole/jsp/help.jsp
@@ -29,7 +29,7 @@
  <jsp:setProperty name="contenthelper" property="maxLines" value="256" />
  <jsp:setProperty name="contenthelper" property="startAtBeginning" value="true" />
  <jsp:getProperty name="contenthelper" property="textContent" />
-<p id="fullhistory"><a href="/history.txt">View the full change log</a></p>
+<p id="fullhistory"><a href="/history.txt" target="_blank">View the full change log</a></p>
 </div>
 
 </div></body></html>
diff --git a/apps/routerconsole/jsp/home.jsp b/apps/routerconsole/jsp/home.jsp
index a0b5344e58460ad2ac1a712ac94f5e1b70ea4231..a71bdcc499bbaac257e8681ae908dffdb49f0305 100644
--- a/apps/routerconsole/jsp/home.jsp
+++ b/apps/routerconsole/jsp/home.jsp
@@ -97,7 +97,7 @@
    if (homehelper.shouldShowSearch()) {
 %>
   <div class="search">
-    <form action="/search.jsp" method="POST">
+    <form action="/search.jsp" target="_blank" method="POST">
       <table class="search"><tr><td align="right">
         <input size="40" type="text" class="search" name="query" />
       </td><td align="left">
diff --git a/apps/routerconsole/jsp/logs.jsp b/apps/routerconsole/jsp/logs.jsp
index 11eec9cbd855c4ede1487da8ec90a5eda7e50ad1..006e1fdb4562287d32e20fd1525a3e51b3eb4ae2 100644
--- a/apps/routerconsole/jsp/logs.jsp
+++ b/apps/routerconsole/jsp/logs.jsp
@@ -64,7 +64,7 @@
 </td></tr>
 </tbody></table>
 
-<h3 class="tabletitle"><%=intl._t("Router Logs")%> (<a href="configlogging"><%=intl._t("configure")%></a>)</h3>
+<h3 class="tabletitle"><%=intl._t("Router Logs")%>&nbsp;<a title="<%=intl._t("Configure router logging options")%>" href="configlogging">[<%=intl._t("Configure")%>]</a></h3>
 <table id="routerlogs" class="logtable"><tbody>
 <tr><td>
  <jsp:getProperty name="logsHelper" property="logs" />
diff --git a/apps/susidns/src/jsp/addressbook.jsp b/apps/susidns/src/jsp/addressbook.jsp
index eb940a187b090b6979adc38ee9a4eec776a628d4..5521c5252614bf84fa154676be9b888f88c1eddd 100644
--- a/apps/susidns/src/jsp/addressbook.jsp
+++ b/apps/susidns/src/jsp/addressbook.jsp
@@ -112,8 +112,8 @@ ${book.loadBookMessages}
 <a href="addressbook?filter=xn--&amp;begin=0&amp;end=49"><%=intl._t("other")%></a>
 <a href="addressbook?filter=none&amp;begin=0&amp;end=49"><%=intl._t("all")%></a></p>
 <c:if test="${book.hasFilter}">
-<p><%=intl._t("Current filter")%>: ${book.filter}
-(<a href="addressbook?filter=none&amp;begin=0&amp;end=49"><%=intl._t("clear filter")%></a>)</p>
+<p><%=intl._t("Current filter")%>: <b>${book.filter}</b>
+<a href="addressbook?filter=none&amp;begin=0&amp;end=49"><%=intl._t("clear filter")%></a></p>
 </c:if>
 </div>