fully working, missing some simple QOL things, like annoucing a winner, clearing the board for a new game, etc