updates to cachematrix.R