John: added doxygen comments