adding doxygen documentation