implement requests/cancel