working on nodejs compatability layer