commenting, refactored header files, test refactoring