First pass at cacheMatrix