implement DispatcherInterval and reimplement CoreDispatcherScheduler
convert scenario3