added javadocs