add some more javadoc