added event watcher