handle dataset change better