change node callback style in favor of promise.