significant speedup from listbuffer -> set