adding cancel button, improving update and cancel logic, refactoring message display