refactoring timeclock