wrote some javadoc