event edit/delete added and add refactored