large refactoring: project divided into subprojects, JUnit replaced by TestNG