Added full doxygen documentation