added makeCacheMatrix function