makeCacheMatrix function done