generalize MatrixType, introduced imitate-size