diff --git a/weinre.build/debug.sh b/weinre.build/debug.sh
index 48774e1..3542f2d 100755
--- a/weinre.build/debug.sh
+++ b/weinre.build/debug.sh
@@ -10,6 +10,4 @@
 	-Dfile.encoding=UTF-8 \
 	-classpath $CP \
 	weinre.server.Main \
-	--verbose      true \
 	--deathTimeout 120
-	
\ No newline at end of file
diff --git a/weinre.server/src/weinre/server/Channel.java b/weinre.server/src/weinre/server/Channel.java
index 11889b2..dbf073b 100644
--- a/weinre.server/src/weinre/server/Channel.java
+++ b/weinre.server/src/weinre/server/Channel.java
@@ -1,7 +1,7 @@
 /*
  * weinre is available under *either* the terms of the modified BSD license *or* the
  * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- * 
+ *
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
@@ -22,9 +22,9 @@
 
 //-------------------------------------------------------------------
 public class Channel {
-    
+
     static public final String AnonymousId = "anonymous";
-    
+
     private String                pathPrefix;
     private String                name;
     private String                id;
@@ -37,7 +37,7 @@
     private String                remoteHost;
     private String                remoteAddress;
     private PrintWriter           messageLog;
-    
+
     //---------------------------------------------------------------
     public Channel(String pathPrefix, String name, String id, String remoteHost, String remoteAddress) {
         this.pathPrefix         = pathPrefix;
@@ -58,46 +58,46 @@
     public Connector getConnector() {
         return connector;
     }
-    
+
     //---------------------------------------------------------------
     public String getRemoteHost() {
         return remoteHost;
     }
-    
+
     //---------------------------------------------------------------
     public String getRemoteAddress() {
         return remoteAddress;
     }
-    
+
     //---------------------------------------------------------------
     protected void _setConnector(Connector connector) {
         this.connector = connector;
     }
-    
+
     //---------------------------------------------------------------
     public void sendCallback(String intfName, String callbackId, Object... args) throws IOException {
         if (callbackId == null) return;
-        
+
         List<Object> innerArgs = new ArrayList<Object>();
         innerArgs.add(callbackId);
         innerArgs.add(Arrays.asList(args));
-        
+
         sendEvent(intfName, "sendCallback", innerArgs.toArray());
     }
-    
+
     //---------------------------------------------------------------
     public void sendEvent(String intfName, String methodName, Object... args) {
         Main.debug(getName() + ": send " + intfName + "." + methodName + "()");
-        
+
         JSONObject response = new JSONObject();
-        
+
         String responseString;
         try {
             response.put("interface", intfName);
             response.put("method", methodName);
-            
+
             List<Object> passedArgs = new ArrayList<Object>(Arrays.asList(args));
-            
+
             response.put("args", passedArgs);
 
             responseString = response.toString();
@@ -106,10 +106,10 @@
             Main.warn("IOException serializing message for " + intfName + "." + methodName);
             return;
         }
-        
+
         this.postResponse(responseString);
     }
-    
+
     //---------------------------------------------------------------
     public Object getService(String name) {
         try {
@@ -122,12 +122,12 @@
             throw new RuntimeException(e);
         }
     }
-    
+
     //---------------------------------------------------------------
     @SuppressWarnings("rawtypes")
     private Object getService_(String name) throws InstantiationException, IllegalAccessException {
         if (serviceMap.containsKey(name)) return serviceMap.get(name);
-        
+
         String klassName = "weinre.server.service." + name;
         Class  klass = null;
         try {
@@ -138,56 +138,56 @@
             serviceMap.put(name, null);
             return null;
         }
-        
+
         Object result = klass.newInstance();
         serviceMap.put(name, result);
         Main.debug("loaded service class: " + klassName);
         return result;
     }
-    
+
     //---------------------------------------------------------------
     public void close() {
         isClosed = true;
         requestQueue.shutdown();
         responseQueue.shutdown();
-        
+
         ChannelManager.$.deregisterChannel(name);
     }
-    
+
     //---------------------------------------------------------------
     public boolean isClosed() {
         return isClosed;
     }
-    
+
     //---------------------------------------------------------------
     public String getPathPrefix() {
         return pathPrefix;
     }
-    
+
     //---------------------------------------------------------------
     public String getName() {
         return name;
     }
-    
+
     //---------------------------------------------------------------
     public String getId() {
         return id;
     }
-    
+
     //---------------------------------------------------------------
     public long getLastRead() {
         return lastRead;
     }
-    
+
     //---------------------------------------------------------------
     public void updateLastRead() {
         lastRead = System.currentTimeMillis();
     }
-    
+
     //---------------------------------------------------------------
     public void postRequest(String json) {
         if (isClosed()) return;
-        
+
         requestQueue.add(json);
         log(json);
     }
@@ -195,7 +195,7 @@
     //---------------------------------------------------------------
     public void postResponse(String json) {
         if (isClosed()) return;
-        
+
         responseQueue.add(json);
         log(json);
     }
@@ -203,7 +203,7 @@
     //---------------------------------------------------------------
     private void log(String json) {
         if (null == messageLog) return;
-        
+
         JSONObject jObject;
         try {
             jObject = new JSONObject(json);
@@ -212,7 +212,7 @@
         catch (JSONException e) {
             return;
         }
-        
+
         messageLog.print(jObject.toString(true));
         messageLog.println(",");
     }
@@ -220,7 +220,7 @@
     //---------------------------------------------------------------
     public List<String> getRequests(int timeoutSeconds) throws InterruptedException {
         if (isClosed()) return new LinkedList<String>();
-        
+
         List<String> result = requestQueue.getAll(timeoutSeconds, TimeUnit.SECONDS);
 
         return result;
@@ -229,7 +229,7 @@
     //---------------------------------------------------------------
     public List<String> getResponses(int timeoutSeconds) throws InterruptedException {
         if (isClosed()) return new LinkedList<String>();
-        
+
         List<String> result = responseQueue.getAll(timeoutSeconds, TimeUnit.SECONDS);
 
         return result;
diff --git a/weinre.web/demo/weinre-demo-pieces.html b/weinre.web/demo/weinre-demo-pieces.html
index 04d87d9..496790c 100644
--- a/weinre.web/demo/weinre-demo-pieces.html
+++ b/weinre.web/demo/weinre-demo-pieces.html
@@ -60,21 +60,23 @@
 <body onload="onLoad()">
 <input id="button-start-stuff" type="button" value="start stuff">
 
-<p>exceptions in callbacks<p>
-<input id="button-error-DOM-event"    type="button" value="DOM addEventHandler">
-<input id="button-error-window-event" type="button" value="window addEventHandler">
-<input id="button-error-XHR-event"    type="button" value="XHR addEventHandler">
-<input id="button-error-setTimeout"   type="button" value="setTimeout()">
-<input id="button-error-setInterval"  type="button" value="setInterval()">
-
 <h1>this is a green h1</h1>
 <h1 class="blue">this is a blue h1</h1>
 <h1 style="color:red">this is a red h1</h1>
 <p>Some text, <i>some italic text</i>, and <b>some bold text</b>.
 
-<div id="metrics">a div</div>
+<hr>
+<p>test exceptions in callbacks:
+<div style="margin-left:1em">
+    <input id="button-error-DOM-event"    type="button" value="DOM addEventHandler">
+<br><input id="button-error-window-event" type="button" value="window addEventHandler">
+<br><input id="button-error-XHR-event"    type="button" value="XHR addEventHandler">
+<br><input id="button-error-setTimeout"   type="button" value="setTimeout()">
+<br><input id="button-error-setInterval"  type="button" value="setInterval()">
+</div>
 
-<input id="button-clear-output" type="button" value="clear output">
+<hr>
+<p><input id="button-clear-output" type="button" value="clear output">
 <div id="output"></div>
 </body>
 
diff --git a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
index 536a181..b52e9c0 100644
--- a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
@@ -99,13 +99,13 @@
                 host: window.location.host
                 isLocalStorage: false
 
-            HookSites.SeesionStorage_setItem.addHooks
+            HookSites.SessionStorage_setItem.addHooks
                 after: -> _storageEventHandler storageArea: window.sessionStorage
 
-            HookSites.SeesionStorage_removeItem.addHooks
+            HookSites.SessionStorage_removeItem.addHooks
                 after: -> _storageEventHandler storageArea: window.sessionStorage
 
-            HookSites.SeesionStorage_clear.addHooks
+            HookSites.SessionStorage_clear.addHooks
                 after: -> _storageEventHandler storageArea: window.sessionStorage
 
         document.addEventListener "storage", _storageEventHandler, false
