Initial version as an npm package