Cleanup, refactoring and gradle build system
merge