implement makeCacheMatrix and cacheSolve