A lot of javadoc