added javadoc and source generation