Refactoring and clean-up
Add documentation
Add tests
Complete configuration