next revision, code cleanup, doxygen added