and reuse it for Neighbor, which make the naming more consistent.
Also add the list of neighbors to the init function. The rationale is that to give a sensible initial value to local vars of type 'Neighbor', we need the neighbors number. I could have chosen to pass an integer only. Well, who can the plus can the minus.