refactored header file before adding tests