user scheduleFinally instead of scheduleDeferred