integrate region.h and edge.h