rudimentary source file caching with modification checks