using event capturing instead of event bubbling