Add documentation and comments to all files