add doxygen document generation