added javadoc documentation