finished violation exercise