doxygen created for code documentation purposes. version 1