add doxygen doc