Project refactoring and improved JavaDoc