implement the makeCacheMatrix and cacheSolve functions