implement cachematrix function - v1