added violation codes and some minor bug fixes
merge conflict
add code