add doxygen-based documantations