surrounded regions reimpl