added doxygen documentation