added soft-thresholding for groups