working checkmate check + tests to prove it :D