complete watcher functionality