added more javadoc