more documentation, including doxygen