get_regions re-written, now best fit can run even if no field regions are available