- added matrix struct