Again not solving the actual problem.
The problem you are describing is revoking Citizen's United. What your trying to do is a patch job to another problem which is going to cause all sorts of unintended consequences.
First principles people, not these lazy slap dash approaches.