implement makeCacheMatrix and cacheSolve functions