updating to handle variants.  nobody should do what we're doing. :)