refactor timesheets