Improved ProcessNeighbours()