added more event functions