change neighbours so is function of vector not HasPosition