add cachematrix.R functions