implement PrimMST