addes support for multiple cancellation