minimise calls to PopulateListView