trying to create a variant type.  still too verbose