added more javadocs