file watch: separating file reads and writes