new schedule refactor