matrix assembly