updated events crud logic