smart event and util

smart event and util