hopefully done with neighbor structure list