Added documentation with doxygen