add javadoc comments and overrides
add everything except html method
add html generation
final version tests missing