hook into file changes and run commands