added 'variant' rule