final cachematrix.R commited