modified the abstract matrix class
changed the matrix stuff back it turned out to be weird.