neighbours and legalNeighbours implemented