implement makeCacheMatrix