better solution
better solution

add make_move and check functions