return variants by set