better support for matrix/array