are we sure about this elsif ordering....
workers.size is always going to be strictly <= workers_count