- Lots of changes
- Added documentation
- Restructured tests