bug fix and add nodejs test