implemented watcher methods