An Improved Algorithm for Clustered Federated Learning