seperate out the variant definitions