precompute neighbors, stopped using hasownproperty