implement cancellation methods