added caching in jobCompiler