Added some documentation in the style of Doxygen