add matrix swizzling