add: generate API documentation with doxygen