Implement file cache