add some javadoc