finished cachedmatrixinverse