harvester refactor: keeping neighbors in dict instead of list for better checking neighbors in neighbors