Added a bunch of doxygen comments