cachematrix function with comment