add Nodis.js for independent use