make into an npm module