add optional and unique generator modifier