added some doxygen comments for documentation