diff --git a/lib/javaReflection.js b/lib/javaReflection.js
index <HASH>..<HASH> 100644
--- a/lib/javaReflection.js
+++ b/lib/javaReflection.js
@@ -3,14 +3,35 @@ var java = require('java'),
 
 function getMethod(obj, methodName, paramsClass, callback) {
   var javaParamsClass = newClassArray(paramsClass);
-  var method = obj.getClassSync().getMethodSync(methodName, javaParamsClass);
-  method.setAccessibleSync(true);
-  callback(method);
+  obj.getClass(function(err, javaClass) {
+    if (err) {
+      console.error(err);
+      return;
+    }
+    javaClass.getMethod(methodName, javaParamsClass, function(err, method) {
+      if (err) {
+        console.error(err);
+        return;
+      }
+      method.setAccessible(true, function(err) {
+        if (err) {
+          console.error(err);
+          return;
+        }
+        callback(method);
+      });
+    });
+  });
 }
 
 function invoke(obj, method, params, callback) {
-  var data = method.invokeSync(obj, params);
-  callback(data);
+  var data = method.invoke(obj, params, function(err, result) {
+    if (err) {
+      console.error(err);
+      return;
+    }
+    callback(result);
+  });
 }
 
 function invokeMethod(obj, methodName, paramsClass, params, callback) {
javaReflection library made Async