Added documentation to all classes