added doxygen documentation and moved stuff around
fixed file headers
makefile fixes