optional data ignore missing value too - avoiding class cast problems