add more on half_edge data structure