populate now works with the current data structure