I wrote the entire cachematrix.R function