improve performance by 22% for populate()