some common lib: dijkstra, heap