attempt to turn into a proper npm package