watcher improve