update how d_valid is handled