handle missing data better