add from_generator into val_string