functions work on both indivs and entities