changes to cachematrix.R