should also check cancel and complete here