Re-wrote most of the library
Updated package.json