improved speed and vectorized RegionChecker