improved documentation for class and methods