Optimize neighbours (i think)