changed is_hole()