Multiple changes

- Updated the library.
- Added/updated tests.