neighbour refactoring