add doxygen documentation