add Cancel feature