implement makeCacheMatrix() and cacheSolve() functions