Massive refactor
New and better tests
Disclaimer
Updated dependencies