deffering list building to not change every keystroke