my version of cachematrix.R