Campaign laws still a mess but free speech lives