diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index cfe5c54571a987e43534b5c5f266013a92315297..3633f9a4ed28484fc200883d8b0b7010816dce2f 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -169,7 +169,7 @@ public class I2PSnarkServlet extends Default {
 
         PrintWriter out = resp.getWriter();
         out.write("<html>\n" +
-                  "<head><link rel=\"shortcut icon\" href=\"/themes/console/snark_favicon.ico\">\n" +
+                  "<head><link rel=\"shortcut icon\" href=\"/themes/console/snark/favicon.ico\">\n" +
                   "<title>");
         out.write(_("I2PSnark - Anonymous BitTorrent Client"));
         out.write("</title>\n");
@@ -190,7 +190,7 @@ public class I2PSnarkServlet extends Default {
             out.write("<div class=\"snarknavbar\"><a href=\"" + req.getRequestURI() + peerString + "\" title=\"");
             out.write(_("Refresh page"));
             out.write("\" class=\"snarkRefresh\">");
-            out.write(_("I2PSnark"));
+            out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/arrow_refresh.png\"> I2PSnark"));
             out.write("</a> <a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\" target=\"_blank\">");
             out.write(_("Forum"));
             out.write("</a>\n");
@@ -253,15 +253,15 @@ public class I2PSnarkServlet extends Default {
         out.write("</th>\n<th align=\"left\">");
         out.write(_("Torrent"));
         out.write("</th>\n<th align=\"center\">");
-        out.write(_("ETA"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title=\"Estimated Download Time\">ETA"));
         out.write("</th>\n<th align=\"center\">");
-        out.write(_("RX"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Data Downloaded\">RX"));
         out.write("</th>\n<th align=\"center\">");
-        out.write(_("TX"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Data Uploaded\">TX"));
         out.write("</th>\n<th align=\"center\">");
-        out.write(_("RX Rate"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Download Speed\">Rate"));
         out.write("</th>\n<th align=\"center\">");
-        out.write(_("TX Rate"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Upload Speed\">Rate"));
         out.write("</th>\n");
     
         out.write("<th align=\"center\">");
@@ -745,10 +745,10 @@ public class I2PSnarkServlet extends Default {
                 if (e < 0)
                     continue;
                 baseURL = baseURL.substring(e + 1);
-                out.write("&nbsp;&raquo;&nbsp;<a href=\"" + baseURL + "details.php?dllist=1&filelist=1&info_hash=");
+                out.write("&nbsp;<a href=\"" + baseURL + "details.php?dllist=1&filelist=1&info_hash=");
                 out.write(TrackerClient.urlencode(snark.meta.getInfoHash()));
-                out.write("\" title=\"" + name + ' ' + _("Tracker") + "\">");
-                out.write(_("Details"));
+                out.write("\" title=\"" + name + ' ' + _("Tracker") + "\" target=\"_blank\">");
+                out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/details.png\">"));
                 out.write("</a>");
                 break;
             }
@@ -924,13 +924,13 @@ public class I2PSnarkServlet extends Default {
         out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n");
         out.write("<input type=\"hidden\" name=\"action\" value=\"Add\" >\n");
         out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">");
-        out.write(_("Add Torrent"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/add.png\">Add Torrent"));
         out.write("</span><hr>\n<table border=\"0\"><tr><td>");
         out.write(_("From URL"));
         out.write(":<td><input type=\"text\" name=\"newURL\" size=\"80\" value=\"" + newURL + "\" > \n");
         // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve)
-        //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
-        out.write("<tr><td>&nbsp;<td><input type=\"submit\" value=\"");
+        //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>");
+        out.write("<input type=\"submit\" value=\"");
         out.write(_("Add torrent"));
         out.write("\" name=\"foo\" ><br>\n");
         out.write("<tr><td>&nbsp;<td><span class=\"snarkAddInfo\">");
@@ -955,7 +955,7 @@ public class I2PSnarkServlet extends Default {
         out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n");
         out.write("<input type=\"hidden\" name=\"action\" value=\"Create\" >\n");
         out.write("<span class=\"snarkConfigTitle\">");
-        out.write(_("Create Torrent"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/create.png\">Create Torrent"));
         out.write("</span><hr>\n<table border=\"0\"><tr><td>");
         //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
         out.write(_("Data to seed"));
@@ -979,12 +979,12 @@ public class I2PSnarkServlet extends Default {
             out.write("\t<option value=\"" + announceURL + "\">" + name + "</option>\n");
         }
         out.write("</select>\n");
-        out.write(_("or"));
-        out.write("<tr><td>&nbsp;<td><input type=\"text\" name=\"announceURLOther\" size=\"50\" value=\"http://\" " +
+        out.write(_("or&nbsp;"));
+        out.write("<input type=\"text\" name=\"announceURLOther\" size=\"50\" value=\"http://\" " +
                   "title=\"");
         out.write(_("Specify custom tracker announce URL"));
         out.write("\" > ");
-        out.write("<tr><td>&nbsp;<td><input type=\"submit\" value=\"");
+        out.write("<input type=\"submit\" value=\"");
         out.write(_("Create torrent"));
         out.write("\" name=\"foo\" ></table>\n");
         out.write("</form>\n</span></div>");        
@@ -1003,7 +1003,7 @@ public class I2PSnarkServlet extends Default {
         out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n");
         out.write("<input type=\"hidden\" name=\"action\" value=\"Save\" >\n");
         out.write("<span class=\"snarkConfigTitle\">");
-        out.write(_("Configuration"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/config.png\">Configuration"));
         out.write("</span><hr>\n");
         out.write("<table border=\"0\"><tr><td>");
         out.write(_("Data directory"));
@@ -1130,7 +1130,7 @@ public class I2PSnarkServlet extends Default {
     private void writeConfigLink(PrintWriter out) throws IOException {
         out.write("<div class=\"configsection\"><span class=\"snarkConfig\">\n");
         out.write("<span class=\"snarkConfigTitle\"><a href=\"configure\">");
-        out.write(_("Configuration"));
+        out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/config.png\">Configuration"));
         out.write("</a></span></span></div>\n");
     }
 
@@ -1203,7 +1203,7 @@ public class I2PSnarkServlet extends Default {
         return buf.toString();
     }
 
-    private static final String HEADER = "<link href=\"/themes/console/snark.css\" rel=\"stylesheet\" type=\"text/css\" >";
+    private static final String HEADER = "<link href=\"/themes/console/snark/snark.css\" rel=\"stylesheet\" type=\"text/css\" >";
                                        
 
     private static final String TABLE_HEADER = "<table border=\"0\" class=\"snarkTorrents\" width=\"100%\" cellpadding=\"0 10px\">\n" +
diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png
deleted file mode 100644
index e11574930b8d3c214644a006583a1c0edf4c787a..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/snark_add.png and /dev/null differ
diff --git a/installer/resources/themes/console/images/snark_create.png b/installer/resources/themes/console/images/snark_create.png
deleted file mode 100644
index 2f41beb048d855e0bb41f0043e18d387045f3c14..0000000000000000000000000000000000000000
Binary files a/installer/resources/themes/console/images/snark_create.png and /dev/null differ
diff --git a/installer/resources/themes/console/snark_favicon.ico b/installer/resources/themes/console/snark/favicon.ico
similarity index 100%
rename from installer/resources/themes/console/snark_favicon.ico
rename to installer/resources/themes/console/snark/favicon.ico
diff --git a/installer/resources/themes/console/snark/images/arrow_refresh.png b/installer/resources/themes/console/snark/images/arrow_refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..26b8dff1b53bd996a6110e7dbcfc7f61cfbc7497
Binary files /dev/null and b/installer/resources/themes/console/snark/images/arrow_refresh.png differ
diff --git a/installer/resources/themes/console/snark/images/config.png b/installer/resources/themes/console/snark/images/config.png
new file mode 100644
index 0000000000000000000000000000000000000000..565a9330e0a156dff5bed2c9fad8c95a44344ba4
Binary files /dev/null and b/installer/resources/themes/console/snark/images/config.png differ
diff --git a/installer/resources/themes/console/snark/images/create.png b/installer/resources/themes/console/snark/images/create.png
new file mode 100644
index 0000000000000000000000000000000000000000..44ccbf812879c42cb1f9587d865bcfc337ce6361
Binary files /dev/null and b/installer/resources/themes/console/snark/images/create.png differ
diff --git a/installer/resources/themes/console/snark/images/details.png b/installer/resources/themes/console/snark/images/details.png
new file mode 100644
index 0000000000000000000000000000000000000000..12cd1aef900803abba99b26920337ec01ad5c267
Binary files /dev/null and b/installer/resources/themes/console/snark/images/details.png differ
diff --git a/installer/resources/themes/console/snark/images/eta.png b/installer/resources/themes/console/snark/images/eta.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4c3f99d90440da920da4cce9ad8b5a21e0bdc59
Binary files /dev/null and b/installer/resources/themes/console/snark/images/eta.png differ
diff --git a/installer/resources/themes/console/images/graytile.png b/installer/resources/themes/console/snark/images/graytile.png
similarity index 100%
rename from installer/resources/themes/console/images/graytile.png
rename to installer/resources/themes/console/snark/images/graytile.png
diff --git a/installer/resources/themes/console/images/hat.png b/installer/resources/themes/console/snark/images/hat.png
similarity index 100%
rename from installer/resources/themes/console/images/hat.png
rename to installer/resources/themes/console/snark/images/hat.png
diff --git a/installer/resources/themes/console/snark/images/snark_add.png b/installer/resources/themes/console/snark/images/snark_add.png
new file mode 100644
index 0000000000000000000000000000000000000000..f02fe118c860535d700c098325c2f3008c9f6de0
Binary files /dev/null and b/installer/resources/themes/console/snark/images/snark_add.png differ
diff --git a/installer/resources/themes/console/snark/images/snark_create.png b/installer/resources/themes/console/snark/images/snark_create.png
new file mode 100644
index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6
Binary files /dev/null and b/installer/resources/themes/console/snark/images/snark_create.png differ
diff --git a/installer/resources/themes/console/images/snark_thead.png b/installer/resources/themes/console/snark/images/snark_thead.png
similarity index 100%
rename from installer/resources/themes/console/images/snark_thead.png
rename to installer/resources/themes/console/snark/images/snark_thead.png
diff --git a/installer/resources/themes/console/images/snarknav.png b/installer/resources/themes/console/snark/images/snarknav.png
similarity index 100%
rename from installer/resources/themes/console/images/snarknav.png
rename to installer/resources/themes/console/snark/images/snarknav.png
diff --git a/installer/resources/themes/console/images/snarknav_on.png b/installer/resources/themes/console/snark/images/snarknav_on.png
similarity index 100%
rename from installer/resources/themes/console/images/snarknav_on.png
rename to installer/resources/themes/console/snark/images/snarknav_on.png
diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark/snark.css
similarity index 100%
rename from installer/resources/themes/console/snark.css
rename to installer/resources/themes/console/snark/snark.css