documentation, repeat class and unit tests