implementation of cachematrix added