Kruskal-based approximation algorithm for the multi-level Steiner tree problem