add matrix struct