implement population-level migration function