rename for better names.
add a test for populate_if_empty.