implemented cacheSolve and makeCacheMatrix