combined voting and check_edges funcs inside project.project, simplified and improved logic