Add Variant class and his unit test