documentation and test class