first pass at adding doxygen documentation