implemented watcher manager