use doxygen to generate documentation automatically