updated cachematrix