did some work on documentation with doxygen