1. implemented generateNextShift() in ShiftCalculator
2. Refactoring