full javadoc