programming caching matrix