fixed problem with multiply firing event handlers