Seperated code into Board, HumanPlayer, and Player