cachematrix submission

Final version to submit for grading.