events: add, edit if empty