Added documentation to everything