Added documentation to all methods