add matrix support