added LGPL header and doxygen headers