Yank out spurious scope
move violation scaling in gradient2 to its own function
Parallel scale_violations2