Added logging. Refactored code. Renamed packages, classes etc. Improved configuration.