added javadoc for public methods and constructors