implemented the makeCacheMatrix and cacheSolve functions