Added documentation to all classes and methods.