add IScheduler interface