Changed interfaces to be as lean and specialized as possible to allow for future generalizations to all matrices without breaking