lots of changes, need to cleanup the checkers plugin and fix some bugs, but it mostly works