updated cachematrix.R