fixes #1, using better watcher