teardown and rebuilds list on each keypress