implemented makeCachedMatrix and cacheSolve