update javadoc and format