+ javadoc and code refactoring