now supporting vec and mat types properly