this my version of cacheMatrix