functioning $watcher