add suspend, resume and cancellation methods