Added hash caching for source files