optimized neighbor updating by removing duplicate calls to the same site updating function by using a std set of sites in need of the update