Put matrix work in branch of main repository

@Higginbottom - this is just so I can, if necessary, edit the matrix code in order to merge into the main dev branch without messing with your repository. I've created a new branch in the main repository (agnwinds:matrix_temp) and plan to merge your branch Higginbottom:dev into it. 

Is there any code which is wrong/surplus and I shouldn't worry about?