We need to be sure this whole thing mirrors current behaviour