fix list optimization bug