so all races and jobs would go to one list ?
No, the list to check against would become a parameter of the function, and would be passed in. The first two calls would be passed the race list, the last would be passed the job list.