process variant structs differently