implement play loop, ui, all valid moves