now chess.js must go. It's mutable, has bugs,  and does not support 960.