Added Weighted Union implementation