Added some documentation to the source files