introduced event triggers and listeners