neighbors should be a list