improve violation exceptions, add multi exception