Some fixes.
Collect all regions to generate instead of generating each area itself, because it is easier to print the print the progress.