simple io watcher