diff --git a/heist-async.cabal b/heist-async.cabal
--- a/heist-async.cabal
+++ b/heist-async.cabal
@@ -1,5 +1,5 @@
 Name:                heist-async
-Version:             0.4.0.0
+Version:             0.5.0.0
 Synopsis:            Adding support for asynchronous updates ("AJAX") with heist
 Description:         This package provides six splices and some accompanying javascript to allow declarative ajax programming that involves no javascript programming.
 Homepage:            http://github.com/dbp/heist-async
@@ -35,9 +35,9 @@
     
   Build-depends:
     base >= 4 && <= 5,
-    xmlhtml >= 0.1 && <= 0.2,
-    heist >= 0.5 && <= 0.6,
-    text >= 0.11 && <= 0.12,
+    xmlhtml >= 0.1,
+    heist >= 0.5,
+    text >= 0.11,
     template-haskell
   
   -- Modules not exported by this package.
diff --git a/js/heist-async.js b/js/heist-async.js
--- a/js/heist-async.js
+++ b/js/heist-async.js
@@ -16,12 +16,12 @@
     var elements = div.childNodes;
     for (i=0; i<elements.length; i++) {
       if (elements[i].nodeName == "DIV" && elements[i].hasAttribute("data-splice-name")) {
-        var rep = qwery("div[data-splice-name=" + elements[i].getAttribute("data-splice-name") + "]");
+        var rep = qwery("div[data-splice-name='" + elements[i].getAttribute("data-splice-name") + "']");
         if (rep && rep[0]) {
           rep[0].parentNode.replaceChild(elements[i],rep[0]);
         }
       } else if (elements[i].nodeName == "DIV" && elements[i].hasAttribute("data-append-name")) {
-        var rep = qwery("div[data-append-name=" + elements[i].getAttribute("data-append-name") + "]");
+        var rep = qwery("div[data-append-name='" + elements[i].getAttribute("data-append-name") + "']");
         if (rep && rep[0] && elements[i].childNodes) {
           for(n=0; n < elements[i].childNodes.length; n++) {
             if (elements[i].childNodes[n].nodeType == 1) {
diff --git a/js/heist-async.min.js b/js/heist-async.min.js
--- a/js/heist-async.min.js
+++ b/js/heist-async.min.js
@@ -1,1 +1,1 @@
-!function(){var doc=document,htm=doc.documentElement,lct=null,nearest=function(a,b){while(a&&a.nodeName!=b)a=a.parentNode;return a},replace_splices=function(resp){var div=document.createElement("div");div.innerHTML=resp;var elements=div.childNodes;for(i=0;i<elements.length;i++)if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-splice-name")){var rep=qwery("div[data-splice-name="+elements[i].getAttribute("data-splice-name")+"]");rep&&rep[0]&&rep[0].parentNode.replaceChild(elements[i],rep[0])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-append-name")){var rep=qwery("div[data-append-name="+elements[i].getAttribute("data-append-name")+"]");if(rep&&rep[0]&&elements[i].childNodes)for(n=0;n<elements[i].childNodes.length;n++)elements[i].childNodes[n].nodeType==1&&rep[0].appendChild(elements[i].childNodes[n])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-redirect-url")){document.location.href=elements[i].getAttribute("data-redirect-url");return}var scripts,scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;while(scripts=scriptsFinder.exec(resp))eval(scripts[1])};htm.onclick=function(a){a=a||window.event,lct=a.target||a.srcElement;if(lct&&lct.nodeName==="BUTTON")bonzo(lct).addClass("processing");else{var b=nearest(lct,"A")||htm,c=b.href;switch(b.rel){case"async":case"async-post":b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:c,type:"html",success:replace_splices});break;default:return}return!1}},htm.onsubmit=function(a){a=a||window.event;var b=a.target||a.srcElement;if(!!b&&b.nodeName==="FORM"&&!!b.getAttribute("data-async")){b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:b.getAttribute("action")||"",data:reqwest.serialize(b),method:b.getAttribute("method")||"post",type:"html",success:replace_splices});return!1}}}()
+!function(){var doc=document,htm=doc.documentElement,lct=null,nearest=function(a,b){while(a&&a.nodeName!=b)a=a.parentNode;return a},replace_splices=function(resp){var div=document.createElement("div");div.innerHTML=resp;var elements=div.childNodes;for(i=0;i<elements.length;i++)if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-splice-name")){var rep=qwery("div[data-splice-name='"+elements[i].getAttribute("data-splice-name")+"']");rep&&rep[0]&&rep[0].parentNode.replaceChild(elements[i],rep[0])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-append-name")){var rep=qwery("div[data-append-name='"+elements[i].getAttribute("data-append-name")+"']");if(rep&&rep[0]&&elements[i].childNodes)for(n=0;n<elements[i].childNodes.length;n++)elements[i].childNodes[n].nodeType==1&&rep[0].appendChild(elements[i].childNodes[n])}else if(elements[i].nodeName=="DIV"&&elements[i].hasAttribute("data-redirect-url")){document.location.href=elements[i].getAttribute("data-redirect-url");return}var scripts,scriptsFinder=/<script[^>]*>([\s\S]+)<\/script>/gi;while(scripts=scriptsFinder.exec(resp))eval(scripts[1])};htm.onclick=function(a){a=a||window.event,lct=a.target||a.srcElement;if(lct&&lct.nodeName==="BUTTON"){bonzo(lct).addClass("processing");return}var b=nearest(lct,"A")||htm,c=b.href;switch(b.rel){case"async":case"async-post":b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:c,type:"html",success:replace_splices});break;default:return}return!1},htm.onsubmit=function(a){a=a||window.event;var b=a.target||a.srcElement;if(!b||b.nodeName!=="FORM"||!b.getAttribute("data-async"))return;return b.getAttribute("data-loading-div")&&qwery(b.getAttribute("data-loading-div"))[0]&&(qwery(b.getAttribute("data-loading-div"))[0].innerHTML="<div class='loading'></div>"),reqwest({url:b.getAttribute("action")||"",data:reqwest.serialize(b),method:b.getAttribute("method")||"post",type:"html",success:replace_splices}),!1}}()
