neighbor change
almost solved
new implementation strategy
Merge pull request #1 from MattFlaig/s2

S2