trying to improve canceling