#3 implemented delete event