edited cachematrix again