better implementation in shiftscheduler