Cache related things, and populate following those models backwards