doxygen

add doxygen documentation