added documentation to all files.