some nasty bugs in getNeighbour finding a random neighbour...