Added documentation to the source code.