track the visited state of each point, and use that to check for life