construct neighbor