Add tests for extra features
Update author and license
Implement all requirements