Creating an event-driven function