better handling of missing data