huge javadoc update