roll back to union as the struct is messing with initialization.