yet another file watcher