add protect code to Region(), b always >= a