add some javadocs