implement first cut of region and region_spec