completed cachematrix (2)