more cancel menu refactoring + code cleanup