added custom watcher