converted to npm package