mat-mat operator* appears to work; no memory leaks
restructuring of mat-mat code; working, but needs cleanup