neighbours4/8/X always have neighbours in the same order (so the 3rd is already North-East or whatever) and grid are not necessarily looping.