Add abstract client class. Remove useless classes
Add helpers
Add reports
Add javadoc