add matrix spliting