Move checking may or may not work but all the rules we know about are coded.