fix list re-rendering problems