move to NPM package