Added documentation to many classes