restructuring CoreMoveValidator