diff --git a/httprpc.js b/httprpc.js
index 8e3c74b8b204137faf1a94afe53ded3841bbf9b6..085b4693d4068307b03421c3119563ce5fdbabca 100644
--- a/httprpc.js
+++ b/httprpc.js
@@ -48,7 +48,7 @@
         var self = this;
         this.sendRequest(payload, function (request) {
             var parsed = JSON.parse(request.responseText);
-            if (!parsed.result) {
+            if (parsed.result instanceof Array ? parsed.result.length === 0 : !parsed.result) {
                 return;
             }
             self.handlers.forEach(function (handler) {
diff --git a/main.js b/main.js
index 32064ce26d3f6a31e7e1c7e985bca54287dc11ce..cc85b98501245fc5d1f83010ba12c8071a7fc952 100644
--- a/main.js
+++ b/main.js
@@ -131,11 +131,11 @@
                 }).then(function (request) {
                     return new Promise(function (resolve, reject) {
                         web3.provider.send(request, function (result) {
-                            if (result) {
+                            if (result || typeof result === "boolean") {
                                 resolve(result);
-                            } else {
-                                reject(result);
-                            }
+                                return;
+                            } 
+                            reject(result);
                         });
                     });
                 }).catch(function( err) {
@@ -373,6 +373,10 @@
         });
     };
 
+    Filter.prototype.arrived = function(callback) {
+        this.changed(callback);
+    }
+
     Filter.prototype.changed = function(callback) {
         var self = this;
         this.promise.then(function(id) {