- implement caching to prevent compiling of unchanged files.