using NanAsyncWorker for async calls