first attempt at adding matrix-vector specializations