surrounded regions, simple bfs needs careful f**king