added doxygen commenting