changed many methods to private add elems_in_region method