fix event propagation