add MatrixBuilder class