Neighbours should handle correctly, but untested. Had circular dependency so may be issues. Needs to be tested