implemented watcher and single file support