make task cancellable