added listener and event, part1
.
added event and listener, part1