working on a new matrix class