but fix and add dispatch event method