added choices, choice serialization, choice data, etc