diff --git a/src/_h5ai/client/images/favicon/app-114.png b/src/_h5ai/client/images/favicon/app-114.png
deleted file mode 100644
index 6de58eaa..00000000
Binary files a/src/_h5ai/client/images/favicon/app-114.png and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app-144.png b/src/_h5ai/client/images/favicon/app-144.png
deleted file mode 100644
index ecd9a74f..00000000
Binary files a/src/_h5ai/client/images/favicon/app-144.png and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app-152.png b/src/_h5ai/client/images/favicon/app-152.png
new file mode 100644
index 00000000..3f8e9fa5
Binary files /dev/null and b/src/_h5ai/client/images/favicon/app-152.png differ
diff --git a/src/_h5ai/client/images/favicon/app-16-32.ico b/src/_h5ai/client/images/favicon/app-16-32.ico
new file mode 100644
index 00000000..5c6e9412
Binary files /dev/null and b/src/_h5ai/client/images/favicon/app-16-32.ico differ
diff --git a/src/_h5ai/client/images/favicon/app-16.ico b/src/_h5ai/client/images/favicon/app-16.ico
deleted file mode 100644
index 63ead9eb..00000000
Binary files a/src/_h5ai/client/images/favicon/app-16.ico and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app-48.png b/src/_h5ai/client/images/favicon/app-48.png
deleted file mode 100644
index bf477170..00000000
Binary files a/src/_h5ai/client/images/favicon/app-48.png and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app-57.png b/src/_h5ai/client/images/favicon/app-57.png
deleted file mode 100644
index bd9fd698..00000000
Binary files a/src/_h5ai/client/images/favicon/app-57.png and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app-72.png b/src/_h5ai/client/images/favicon/app-72.png
deleted file mode 100644
index 1e893f8b..00000000
Binary files a/src/_h5ai/client/images/favicon/app-72.png and /dev/null differ
diff --git a/src/_h5ai/client/images/favicon/app.svg b/src/_h5ai/client/images/favicon/app.svg
index f9f62db9..a2faca00 100644
--- a/src/_h5ai/client/images/favicon/app.svg
+++ b/src/_h5ai/client/images/favicon/app.svg
@@ -14,7 +14,10 @@
    width="16"
    version="1.1"
    inkscape:version="0.48.4 r9939"
-   sodipodi:docname="folder.svg">
+   sodipodi:docname="app.svg"
+   inkscape:export-filename="/home/lars/env/workspace/h5ai/src/_h5ai/client/images/favicon/app-32.png"
+   inkscape:export-xdpi="180"
+   inkscape:export-ydpi="180">
   <defs
      id="defs10" />
   <sodipodi:namedview
@@ -26,14 +29,14 @@
      guidetolerance="10"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:window-width="1871"
+     inkscape:window-width="1877"
      inkscape:window-height="1056"
      id="namedview8"
      showgrid="true"
      inkscape:zoom="41.7193"
      inkscape:cx="10.567799"
      inkscape:cy="6.7528912"
-     inkscape:window-x="49"
+     inkscape:window-x="43"
      inkscape:window-y="24"
      inkscape:window-maximized="1"
      inkscape:current-layer="svg7384"
diff --git a/src/_h5ai/client/js/inc/core/location.js b/src/_h5ai/client/js/inc/core/location.js
index e6691a9c..7dc133ed 100644
--- a/src/_h5ai/client/js/inc/core/location.js
+++ b/src/_h5ai/client/js/inc/core/location.js
@@ -97,7 +97,7 @@ modulejs.define('core/location', ['_', 'modernizr', 'core/settings', 'core/event
 
 					_.each(json.items, function (jsonItem) {
 
-						var e = Item.get(jsonItem.absHref, jsonItem.time, jsonItem.size, jsonItem.is_managed, jsonItem.content);
+						var e = Item.get(jsonItem.absHref, jsonItem.time, jsonItem.size, jsonItem.is_managed, jsonItem.content, jsonItem.md5, jsonItem.sha1);
 						found[e.absHref] = true;
 					});
 
diff --git a/src/_h5ai/client/js/inc/model/item.js b/src/_h5ai/client/js/inc/model/item.js
index 75a564d9..d702221e 100644
--- a/src/_h5ai/client/js/inc/model/item.js
+++ b/src/_h5ai/client/js/inc/model/item.js
@@ -41,7 +41,7 @@ modulejs.define('model/item', ['_', 'core/types', 'core/event', 'core/settings',
 
 		cache = {},
 
-		getItem = function (absHref, time, size, isManaged, isContentFetched) {
+		getItem = function (absHref, time, size, isManaged, isContentFetched, md5, sha1) {
 
 			absHref = location.forceEncoding(absHref);
 
@@ -63,6 +63,12 @@ modulejs.define('model/item', ['_', 'core/types', 'core/event', 'core/settings',
 			if (isContentFetched) {
 				self.isContentFetched = true;
 			}
+			if (md5) {
+				self.md5 = md5;
+			}
+			if (sha1) {
+				self.sha1 = sha1;
+			}
 
 			return self;
 		},
@@ -100,7 +106,7 @@ modulejs.define('model/item', ['_', 'core/types', 'core/event', 'core/settings',
 
 					if (response.items) {
 						_.each(response.items, function (item) {
-							getItem(item.absHref, item.time, item.size, item.is_managed, item.content);
+							getItem(item.absHref, item.time, item.size, item.is_managed, item.content, item.md5, item.sha1);
 						});
 					}
 
diff --git a/src/_h5ai/conf/options.json b/src/_h5ai/conf/options.json
index 6d2edf01..8acbce8d 100644
--- a/src/_h5ai/conf/options.json
+++ b/src/_h5ai/conf/options.json
@@ -15,7 +15,7 @@ Options
 	"spacing": {
 		"bottom": 50,
 		"left": "auto",
-		"maxWidth": 960,
+		"maxWidth": 1024,
 		"right": "auto",
 		"top": 50
 	},
diff --git a/src/_h5ai/index.html.jade b/src/_h5ai/index.html.jade
index a3f48010..63bd7ad8 100644
--- a/src/_h5ai/index.html.jade
+++ b/src/_h5ai/index.html.jade
@@ -11,12 +11,8 @@ html.no-js.browser( lang="en" )
 		title {{pkg.name}} {{pkg.version}} Server Setup
 		meta( name="description", content="{{pkg.name}} server details" )
 		meta( name="viewport", content="width=device-width" )
-		link( rel="shortcut icon", href="client/images/favicon/app-16.ico" )
-		link( rel="apple-touch-icon-precomposed", type="image/png", href="client/images/favicon/app-48.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="57x57", type="image/png", href="client/images/favicon/app-57.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="72x72", type="image/png", href="client/images/favicon/app-72.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="114x114", type="image/png", href="client/images/favicon/app-114.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="144x144", type="image/png", href="client/images/favicon/app-144.png" )
+		link( rel="shortcut icon", href="client/images/favicon/app-16-32.ico" )
+		link( rel="apple-touch-icon-precomposed", type="image/png", href="client/images/favicon/app-152.png" )
 		link( rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic,700italic|Ubuntu:300italic,700italic,300,700" )
 		link( rel="stylesheet", href="client/css/styles.css" )
 		script( src="client/js/scripts.js", data-mode="info" )
diff --git a/src/_h5ai/server/php/inc/class-app.php b/src/_h5ai/server/php/inc/class-app.php
index 2af5744b..a656f4de 100644
--- a/src/_h5ai/server/php/inc/class-app.php
+++ b/src/_h5ai/server/php/inc/class-app.php
@@ -160,6 +160,9 @@ class App {
 			return array();
 		}
 
+		// return $this->get_all_items();
+		// return json_decode(file_get_contents(CACHE_PATH . "/item.json"));
+
 		$cache = array();
 		$folder = Item::get($this, $this->to_path($url), $cache);
 
@@ -197,12 +200,34 @@ class App {
 	}
 
 
+	public function cummulate_folders($item, &$cache) {
+
+		if (!$item->is_folder) {
+			return;
+		}
+
+		$max_date = $item->date;
+		$sum_size = 0;
+		foreach ($item->get_content($cache) as $child) {
+			$this->cummulate_folders($child, $cache);
+			if ($child->date > $max_date) {
+				$max_date = $child->date;
+			}
+			$sum_size += $child->size;
+		}
+
+		$item->date = $max_date;
+		$item->size = $sum_size;
+	}
+
+
 	public function get_all_items() {
 
 		$cache = array();
 		$root = Item::get($this, ROOT_PATH, $cache);
 
 		$this->get_all_item_content($root, $cache);
+		$this->cummulate_folders($root, $cache);
 
 		uasort($cache, array("Item", "cmp"));
 		$result = array();
diff --git a/src/_h5ai/server/php/inc/class-item.php b/src/_h5ai/server/php/inc/class-item.php
index 482669fd..1d5674d9 100644
--- a/src/_h5ai/server/php/inc/class-item.php
+++ b/src/_h5ai/server/php/inc/class-item.php
@@ -87,6 +87,18 @@ class Item {
 		$this->date = @filemtime($this->path);
 		$this->size = Item::filesize($app, $this->path);
 		$this->is_content_fetched = false;
+
+		// $options = $app->get_options();
+		// if (!$this->is_folder && $options["hashes"]["enabled"]) {
+		if (!$this->is_folder) {
+			// $this->md5 = md5_file($this->path);
+			// $this->sha1 = sha1_file($this->path);
+			$this->md5 = null;
+			$this->sha1 = null;
+		} else {
+			$this->md5 = null;
+			$this->sha1 = null;
+		}
 	}
 
 
@@ -101,6 +113,9 @@ class Item {
 		if ($this->is_folder) {
 			$obj["is_managed"] = $this->app->is_managed_url($this->url);
 			$obj["content"] = $this->is_content_fetched;
+		} else {
+			$obj["md5"] = $this->md5;
+			$obj["sha1"] = $this->sha1;
 		}
 
 		return $obj;
diff --git a/src/_h5ai/server/php/inc/page.php.jade b/src/_h5ai/server/php/inc/page.php.jade
index d32a0f71..21d99faf 100644
--- a/src/_h5ai/server/php/inc/page.php.jade
+++ b/src/_h5ai/server/php/inc/page.php.jade
@@ -15,12 +15,8 @@ html.no-js.browser( lang="en" )
 		title index ยท styled with {{pkg.name}} {{pkg.version}} ({{pkg.url}})
 		meta( name="description", content="index styled with {{pkg.name}} {{pkg.version}} ({{pkg.url}})" )
 		meta( name="viewport", content="width=device-width" )
-		link( rel="shortcut icon", href!="#{app_href}client/images/favicon/app-16.ico" )
-		link( rel="apple-touch-icon-precomposed", type="image/png", href!="#{app_href}client/images/favicon/app-48.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="57x57", type="image/png", href!="#{app_href}client/images/favicon/app-57.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="72x72", type="image/png", href!="#{app_href}client/images/favicon/app-72.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="114x114", type="image/png", href!="#{app_href}client/images/favicon/app-114.png" )
-		link( rel="apple-touch-icon-precomposed", sizes="144x144", type="image/png", href!="#{app_href}client/images/favicon/app-144.png" )
+		link( rel="shortcut icon", href!="#{app_href}client/images/favicon/app-16-32.ico" )
+		link( rel="apple-touch-icon-precomposed", type="image/png", href!="#{app_href}client/images/favicon/app-152.png" )
 		link( rel="stylesheet", href="//fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic,700italic|Ubuntu:300italic,700italic,300,700" )
 		link( rel="stylesheet", href!="#{app_href}client/css/styles.css" )
 		script( src!="#{app_href}client/js/scripts.js" )