variants as a list, not array