Implemented many events